equal
deleted
inserted
replaced
704 |
704 |
705 def ancestor(self, a, b): |
705 def ancestor(self, a, b): |
706 """calculate the least common ancestor of nodes a and b""" |
706 """calculate the least common ancestor of nodes a and b""" |
707 |
707 |
708 a, b = self.rev(a), self.rev(b) |
708 a, b = self.rev(a), self.rev(b) |
709 ancs = ancestor.ancestors(self.parentrevs, a, b) |
709 try: |
|
710 ancs = self.index.ancestors(a, b) |
|
711 old = ancestor.ancestors(self.parentrevs, a, b) |
|
712 assert set(ancs) == old, ('opinions differ over ancestor(%d, %d)' % |
|
713 (a, b)) |
|
714 except (AttributeError, OverflowError): |
|
715 ancs = ancestor.ancestors(self.parentrevs, a, b) |
710 if ancs: |
716 if ancs: |
711 # choose a consistent winner when there's a tie |
717 # choose a consistent winner when there's a tie |
712 return min(map(self.node, ancs)) |
718 return min(map(self.node, ancs)) |
713 return nullid |
719 return nullid |
714 |
720 |