mercurial/dagop.py
changeset 41277 61f9ef23a12f
parent 40000 8af835af0a85
child 41359 431cf2c8c839
equal deleted inserted replaced
41276:5affe1583e1d 41277:61f9ef23a12f
   762 
   762 
   763     ``nullrev`` is never included in the returned set, even if it is provided in
   763     ``nullrev`` is never included in the returned set, even if it is provided in
   764     the input set.
   764     the input set.
   765     """
   765     """
   766     headrevs = set(revs)
   766     headrevs = set(revs)
       
   767     parents = set([node.nullrev])
       
   768     up = parents.update
   767 
   769 
   768     for rev in revs:
   770     for rev in revs:
   769         for prev in parentsfn(rev):
   771         up(parentsfn(rev))
   770             headrevs.discard(prev)
   772     headrevs.difference_update(parents)
   771 
       
   772     headrevs.discard(node.nullrev)
       
   773 
       
   774     return headrevs
   773     return headrevs
   775 
   774 
   776 def headrevssubset(revsfn, parentrevsfn, startrev=None, stoprevs=None):
   775 def headrevssubset(revsfn, parentrevsfn, startrev=None, stoprevs=None):
   777     """Returns the set of all revs that have no children with control.
   776     """Returns the set of all revs that have no children with control.
   778 
   777