mercurial/dagop.py
changeset 33000 d3d36bcdf036
parent 32999 08e2793d9f65
child 33001 92d0945a15e0
--- a/mercurial/dagop.py	Sun Jun 18 17:22:57 2017 +0900
+++ b/mercurial/dagop.py	Sun Jun 18 08:59:09 2017 +0900
@@ -37,15 +37,15 @@
     if inputrev is not None:
         heapq.heappush(pendingheap, -inputrev)
 
-    seen = set()
+    lastrev = None
     while pendingheap:
         currev = -heapq.heappop(pendingheap)
         if currev == inputrev:
             inputrev = next(irevs, None)
             if inputrev is not None:
                 heapq.heappush(pendingheap, -inputrev)
-        if currev not in seen:
-            seen.add(currev)
+        if currev != lastrev:
+            lastrev = currev
             yield currev
             try:
                 for prev in cl.parentrevs(currev)[:cut]: