[issue503] Provide a mean to get the common ancestor of two file revision

mathieu clabaut mercurial-bugs at selenic.com
Thu Feb 15 06:32:08 CST 2007


New submission from mathieu clabaut <mathieu.clabaut at gmail.com>:

Sometime I need to review what was the decision taken on a conflictual merge. I
the need to do a 3-way diff betwee the current version, one of the parent and
the common ancestor of the both parents.

There is today no esay way to get the common ancestor.
One must do something like :
 hg --debug manifest <cset-node1> | grep filename
 hg --debug manifest <cset-node2> | grep filename
 hg debugindex .hg/..../filename.i | grep <first-characters-of-the-hash1>
 hg debugindex .hg/..../filename.i | grep <first-characters-of-the-hash2>
 hg debugancestor .hg/.../filename.i rev1 rev2

 To finally get the common ancestor of cset1 and cset2.

 I really think that the common ancestor information is valuable in the scope of
 a (distributed or not) revision system, and it should be available at low cost
(from a user interface point of view).

 My frist try what to look if the "hg parents" command would provide such a
piece of information, and then I look to the "hg merge" command...

 Perhaps a "hg parents -r r1 -r r2 FILE" could provide the extra common ancestor
information ?

----------
messages: 2768
nosy: ThomasAH, mathieu.clabaut
priority: feature
status: unread
title: Provide a mean to get the common ancestor of two file revision
topic: diff, merge, ui

____________________________________________________
Mercurial issue tracker <mercurial-bugs at selenic.com>
<http://www.selenic.com/mercurial/bts/issue503>
____________________________________________________



More information about the Mercurial-devel mailing list