Show More
@@ -285,3 +285,17 b' def successormarkers(ctx):' | |||||
285 | for data in ctx._repo.obsstore.successors.get(ctx.node(), ()): |
|
285 | for data in ctx._repo.obsstore.successors.get(ctx.node(), ()): | |
286 | yield marker(ctx._repo, data) |
|
286 | yield marker(ctx._repo, data) | |
287 |
|
287 | |||
|
288 | def anysuccessors(obsstore, node): | |||
|
289 | """Yield every successor of <node> | |||
|
290 | ||||
|
291 | This this a linear yield unsuitable to detect splitted changeset.""" | |||
|
292 | remaining = set([node]) | |||
|
293 | seen = set(remaining) | |||
|
294 | while remaining: | |||
|
295 | current = remaining.pop() | |||
|
296 | yield current | |||
|
297 | for mark in obsstore.precursors.get(current, ()): | |||
|
298 | for suc in mark[1]: | |||
|
299 | if suc not in seen: | |||
|
300 | seen.add(suc) | |||
|
301 | remaining.add(suc) |
General Comments 0
You need to be logged in to leave comments.
Login now