views:

278

answers:

2

According to HG manual:

By default this command prints revision number and changeset id, tags, non-trivial parents, user, date and time, and a summary for each commit. When the -v/--verbose switch is used, the list of changed files and full commit message are shown.

I have tried hg log -v but still it does not show the trivial parents.

+2  A: 

You can see them visually in 'hg log -G' once you've turned on the Graphlog Extension.

In this context "trivial" just means "is the current revision number minus one", so in a situation like this:

o  changeset:   1440:fe26f69d4b84
|  user:        [email protected]
|  date:        Fri Jul 18 12:11:58 2008 -0400
|  summary:     Typo in last commit.
|
o  changeset:   1439:74cbef36b62f
|  user:        [email protected]
|  date:        Fri Jul 18 12:10:23 2008 -0400
|  summary:     Fix bug in JobWrapper.get_input_fnames(), used by pbs runner, when an input dataset was optional and left empty.
|
o  changeset:   1438:1e111ebb2664
|  user:        James Taylor <[email protected]>
|  date:        Thu Jul 17 22:14:40 2008 -0400
|  summary:     Workflows (owned and shared) can now be added to the tool menu.
|
o    changeset:   1437:4a4de494fbf6
|\   parent:      1436:37a7f508eb30
| |  parent:      1431:8b83b7250224
| |  user:        James Taylor <[email protected]>
| |  date:        Thu Jul 17 20:42:00 2008 -0400
| |  summary:     Merge.
| |
| o  changeset:   1436:37a7f508eb30
| |  user:        James Taylor <[email protected]>
| |  date:        Thu Jul 17 20:40:20 2008 -0400
| |  summary:     Allow loading a specific controller/action in the root middle frame, and use
| |
| o  changeset:   1435:96e1cda02414
| |  user:        James Taylor <[email protected]>
| |  date:        Thu Jul 17 20:16:13 2008 -0400
| |  summary:     Fix for scroll panel when dropping while still overlapping the edge.
| |

A parent list is only shown for 1437 because for the rest have a single parent that is revision number minus one.

Ry4an
I know how to show the graph and I know what is the trivial parent, but I would like to know if there is a way to force `hg log` to show the trivial parents:) (I am building graph from `hg log` output and I am now computing parents, but I will throw my code away if `hg log` can do this.)
TN
There's no way to have hg-log do it, but there are plenty of extensions that export the revision graph in a way that's much easier to parse/consume than log's output. Check out the Graphviz extension for an example which includes easily tweakable code.
Ry4an
Ok, thx. It seems more convenient in my situation to keep my trivial parents computing code, since `hg log --template "..."` is enough in my case. Btw. do you know why `hg log -r :` and `hg log` produces output in reversed order -- is it a bug or feature? :)
TN
The colon syntax does x:y, where x defaults to 0 and y defaults to tip. Without a -r `hg log` does `-r tip:0` so that folks can do `hg log -l 3` and see the last 3 commits w/ the least possible typing.
Ry4an
+1  A: 

You can use the --debug option.

$ hg log --template '{parents}\n' --debug
12:49f2f93d2efdd41c9ffb9dccf4d451e2d8bfbc5f -1:0000000000000000000000000000000000000000 
7:012b1bb5d99549a5a7c1a280755fa6336c0b472a -1:0000000000000000000000000000000000000000 
10:d6dc52582cfaa0e8be17a5b9da61b55692353afc 11:8ee9fa792548fc30669a34cf39fcc7185aabaa19 
8:d589ca45072469148f833f38918861e8de406e64 -1:0000000000000000000000000000000000000000 
vsh