##// END OF EJS Templates
context: tell when .ancestor picks one of multiple common ancestors heads...
Mads Kiilerich -
r21125:e94e90a4 default
parent child Browse files
Show More
@@ -402,8 +402,17 b' class changectx(basectx):'
402 n2 = c2._node
402 n2 = c2._node
403 if n2 is None:
403 if n2 is None:
404 n2 = c2._parents[0]._node
404 n2 = c2._parents[0]._node
405 n = self._repo.changelog.ancestor(self._node, n2)
405 cahs = self._repo.changelog.commonancestorsheads(self._node, n2)
406 return changectx(self._repo, n)
406 if not cahs:
407 anc = nullid
408 elif len(cahs) == 1:
409 anc = cahs[0]
410 else:
411 anc = self._repo.changelog.ancestor(self._node, n2)
412 self._repo.ui.status(
413 (_("note: using %s as ancestor of %s and %s\n") %
414 (short(anc), short(self._node), short(n2))))
415 return changectx(self._repo, anc)
407
416
408 def descendant(self, other):
417 def descendant(self, other):
409 """True if other is descendant of this changeset"""
418 """True if other is descendant of this changeset"""
@@ -23,7 +23,9 b' Criss cross merging'
23 $ echo '5 second change' > f1
23 $ echo '5 second change' > f1
24 $ hg ci -m '5 second change f1'
24 $ hg ci -m '5 second change f1'
25
25
26 $ hg up -qr3
26 $ hg up -r3
27 note: using 0f6b37dbe527 as ancestor of adfe50279922 and cf89f02107e5
28 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
27 $ echo '6 second change' > f2
29 $ echo '6 second change' > f2
28 $ hg ci -m '6 second change f2'
30 $ hg ci -m '6 second change f2'
29
31
@@ -72,6 +74,7 b' Criss cross merging'
72
74
73
75
74 $ hg merge -v --debug --tool internal:dump 5
76 $ hg merge -v --debug --tool internal:dump 5
77 note: using 0f6b37dbe527 as ancestor of 3b08d01b0ab5 and adfe50279922
75 searching for copies back to rev 3
78 searching for copies back to rev 3
76 resolving manifests
79 resolving manifests
77 branchmerge: True, force: False, partial: False
80 branchmerge: True, force: False, partial: False
General Comments 0
You need to be logged in to leave comments. Login now