mercurial/dagop.py
changeset 41277 61f9ef23a12f
parent 40001 8af835af0a85
child 41381 431cf2c8c839
--- a/mercurial/dagop.py	Mon Jan 14 17:10:51 2019 +0100
+++ b/mercurial/dagop.py	Mon Jan 14 17:15:21 2019 +0100
@@ -764,13 +764,12 @@
     the input set.
     """
     headrevs = set(revs)
+    parents = set([node.nullrev])
+    up = parents.update
 
     for rev in revs:
-        for prev in parentsfn(rev):
-            headrevs.discard(prev)
-
-    headrevs.discard(node.nullrev)
-
+        up(parentsfn(rev))
+    headrevs.difference_update(parents)
     return headrevs
 
 def headrevssubset(revsfn, parentrevsfn, startrev=None, stoprevs=None):