diff -r eac141407b85 -r 2ee26044d846 mercurial/context.py --- a/mercurial/context.py Sun Jun 27 17:41:43 2010 -0500 +++ b/mercurial/context.py Fri Jun 18 08:48:05 2010 +0200 @@ -490,12 +490,16 @@ return zip(hist[f][0], hist[f][1].splitlines(True)) - def ancestor(self, fc2): + def ancestor(self, fc2, actx=None): """ find the common ancestor file context, if any, of self, and fc2 + + If actx is given, it must be the changectx of the common ancestor + of self's and fc2's respective changesets. """ - actx = self.changectx().ancestor(fc2.changectx()) + if actx is None: + actx = self.changectx().ancestor(fc2.changectx()) # the trivial case: changesets are unrelated, files must be too if not actx: