diff mercurial/obsolete.py @ 17827:612db9d7e76a

obsolete: have `allsuccessors` takes a list of nodes Additional logic, used to detect mutable history troubles, will need to quickly compute successors of a whole set of changeset.
author Pierre-Yves David <pierre-yves.david@logilab.fr>
date Tue, 16 Oct 2012 15:49:58 +0200
parents 46e1a4e24225
children 9495be4126ef
line wrap: on
line diff
--- a/mercurial/obsolete.py	Fri Oct 19 00:30:11 2012 +0200
+++ b/mercurial/obsolete.py	Tue Oct 16 15:49:58 2012 +0200
@@ -351,11 +351,13 @@
     for data in ctx._repo.obsstore.successors.get(ctx.node(), ()):
         yield marker(ctx._repo, data)
 
-def allsuccessors(obsstore, node):
-    """Yield every successor of <node>
+def allsuccessors(obsstore, nodes):
+    """Yield node for every successor of <nodes>.
+
+    Some successors may be unknown locally.
 
     This is a linear yield unsuited to detecting split changesets."""
-    remaining = set([node])
+    remaining = set(nodes)
     seen = set(remaining)
     while remaining:
         current = remaining.pop()