Mercurial > hg > mercurial-crew
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 +++ b/mercurial/obsolete.py @@ -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()