mercurial/ancestor.py
changeset 39552 b9ee9c2e10dd
parent 39551 fd9029d36c41
child 39553 bdb177923291
--- a/mercurial/ancestor.py	Mon Sep 10 21:46:19 2018 +0900
+++ b/mercurial/ancestor.py	Mon Sep 10 21:54:40 2018 +0900
@@ -274,20 +274,26 @@
         visit = []
         heapq.heapify(visit)
         for r in initrevs:
-            for parent in parentrevs(r):
-                if parent not in seen:
-                    schedule(visit, -parent)
-                    see(parent)
+            p1, p2 = parentrevs(r)
+            if p1 not in seen:
+                schedule(visit, -p1)
+                see(p1)
+            if p2 not in seen:
+                schedule(visit, -p2)
+                see(p2)
 
     while visit:
         current = -nextitem(visit)
         if current < stoprev:
             break
         yield current
-        for parent in parentrevs(current):
-            if parent not in seen:
-                schedule(visit, -parent)
-                see(parent)
+        p1, p2 = parentrevs(current)
+        if p1 not in seen:
+            schedule(visit, -p1)
+            see(p1)
+        if p2 not in seen:
+            schedule(visit, -p2)
+            see(p2)
 
 class lazyancestors(object):
     def __init__(self, pfunc, revs, stoprev=0, inclusive=False):