# HG changeset patch # User Dirkjan Ochtman # Date 1265456837 -3600 # Node ID ae0ae8691e4780b10b3c6d28ec630ff06d8136f3 # Parent 0798a3d5f81246678e57a4a2699b5aa22eaaee22 revlog: fix up previously stupid API change diff -r 0798a3d5f812 -r ae0ae8691e47 mercurial/revlog.py --- a/mercurial/revlog.py Sat Feb 06 11:29:48 2010 +0100 +++ b/mercurial/revlog.py Sat Feb 06 12:47:17 2010 +0100 @@ -1137,21 +1137,21 @@ self._cache = (node, curr, text) return node - def descendant(self, a, b): - if a > b: - return False - for i in self.descendants(a): - if i == b: + def descendant(self, start, end): + for i in self.descendants(start): + if i == end: return True - elif i > b: + elif i > end: break return False def ancestor(self, a, b): """calculate the least common ancestor of nodes a and b""" + # fast path, check if it is a descendant + a, b = self.rev(a), self.rev(b) start, end = sorted((a, b)) - if self.descendant(a, b): + if self.descendant(start, end): return self.node(start) def parents(rev):