# HG changeset patch # User Mads Kiilerich # Date 2014-04-17 18:01:39 # Node ID 4a6c8b6b10d3690bfc1bb5de789d6ebb475ebb81 # Parent 53433d8f1faa14193e5d6eb2f669f85072065cd1 revlog: backout 514d32de6646 - commonancestors diff --git a/mercurial/revlog.py b/mercurial/revlog.py --- a/mercurial/revlog.py +++ b/mercurial/revlog.py @@ -743,21 +743,17 @@ class revlog(object): ancs = ancestor.commonancestorsheads(self.parentrevs, a, b) return map(self.node, ancs) - def commonancestors(self, a, b): - """calculate the least common ancestors of nodes a and b""" + def ancestor(self, a, b): + """calculate the least common ancestor of nodes a and b""" + a, b = self.rev(a), self.rev(b) try: ancs = self.index.ancestors(a, b) - except (AttributeError, OverflowError): # C implementation failed + except (AttributeError, OverflowError): ancs = ancestor.ancestors(self.parentrevs, a, b) - return map(self.node, ancs) - - def ancestor(self, a, b): - """calculate a least common ancestor of nodes a and b""" - ancs = self.commonancestors(a, b) if ancs: # choose a consistent winner when there's a tie - return min(ancs) + return min(map(self.node, ancs)) return nullid def _match(self, id):