equal
deleted
inserted
replaced
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 try: |
709 try: |
710 ancs = self.index.ancestors(a, b) |
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): |
711 except (AttributeError, OverflowError): |
715 ancs = ancestor.ancestors(self.parentrevs, a, b) |
712 ancs = ancestor.ancestors(self.parentrevs, a, b) |
716 if ancs: |
713 if ancs: |
717 # choose a consistent winner when there's a tie |
714 # choose a consistent winner when there's a tie |
718 return min(map(self.node, ancs)) |
715 return min(map(self.node, ancs)) |