mercurial/revset.py
changeset 32480 4dd292cec3ad
parent 32479 018f638ad88e
child 32681 a3064fe3e495
--- a/mercurial/revset.py	Tue May 23 01:08:19 2017 +0530
+++ b/mercurial/revset.py	Tue May 23 01:22:33 2017 +0530
@@ -75,9 +75,14 @@
             if current not in seen:
                 seen.add(current)
                 yield current
-                for parent in cl.parentrevs(current)[:cut]:
-                    if parent != node.nullrev:
-                        heapq.heappush(h, -parent)
+                try:
+                    for parent in cl.parentrevs(current)[:cut]:
+                        if parent != node.nullrev:
+                            heapq.heappush(h, -parent)
+                except error.WdirUnsupported:
+                    for parent in repo[current].parents()[:cut]:
+                        if parent.rev() != node.nullrev:
+                            heapq.heappush(h, -parent.rev())
 
     return generatorset(iterate(), iterasc=False)