--- a/mercurial/obsolete.py Thu May 25 19:37:07 2017 +0200
+++ b/mercurial/obsolete.py Thu May 25 19:37:29 2017 +0200
@@ -720,6 +720,7 @@
seenmarkers = set()
seennodes = set(pendingnodes)
precursorsmarkers = self.precursors
+ succsmarkers = self.successors
children = self.children
while pendingnodes:
direct = set()
@@ -727,6 +728,8 @@
direct.update(precursorsmarkers.get(current, ()))
pruned = [m for m in children.get(current, ()) if not m[1]]
direct.update(pruned)
+ pruned = [m for m in succsmarkers.get(current, ()) if not m[1]]
+ direct.update(pruned)
direct -= seenmarkers
pendingnodes = set([m[0] for m in direct])
seenmarkers |= direct