mercurial/revlog.py
changeset 3139 1fd1cdcc4200
parent 3136 b1db258e875c
child 3152 d01e4cb2f5f2
equal deleted inserted replaced
3138:cc856c4d91ca 3139:1fd1cdcc4200
  1014         return node
  1014         return node
  1015 
  1015 
  1016     def ancestor(self, a, b):
  1016     def ancestor(self, a, b):
  1017         """calculate the least common ancestor of nodes a and b"""
  1017         """calculate the least common ancestor of nodes a and b"""
  1018 
  1018 
  1019         def parents(node):
  1019         def parents(rev):
  1020             return [p for p in self.parents(node) if p != nullid]
  1020             return [p for p in self.parentrevs(rev) if p != -1]
  1021 
  1021 
  1022         return ancestor.ancestor(a, b, parents) or nullid
  1022         c = ancestor.ancestor(self.rev(a), self.rev(b), parents)
       
  1023         if c is None:
       
  1024             return nullid
       
  1025 
       
  1026         return self.node(c)
  1023 
  1027 
  1024     def group(self, nodelist, lookup, infocollect=None):
  1028     def group(self, nodelist, lookup, infocollect=None):
  1025         """calculate a delta group
  1029         """calculate a delta group
  1026 
  1030 
  1027         Given a list of changeset revs, return a set of deltas and
  1031         Given a list of changeset revs, return a set of deltas and