Show More
@@ -267,7 +267,7 b' def validdest(repo, old, new):' | |||||
267 | if c.phase() > phases.public: |
|
267 | if c.phase() > phases.public: | |
268 | # obsolescence marker does not apply to public changeset |
|
268 | # obsolescence marker does not apply to public changeset | |
269 | succs.update(obsolete.allsuccessors(repo.obsstore, |
|
269 | succs.update(obsolete.allsuccessors(repo.obsstore, | |
270 | c.node())) |
|
270 | [c.node()])) | |
271 | validdests = set(repo.set('%ln::', succs)) |
|
271 | validdests = set(repo.set('%ln::', succs)) | |
272 | validdests.remove(old) |
|
272 | validdests.remove(old) | |
273 | return new in validdests |
|
273 | return new in validdests |
@@ -298,7 +298,7 b' def checkheads(repo, remote, outgoing, r' | |||||
298 | if nh in repo and repo[nh].phase() <= phases.public: |
|
298 | if nh in repo and repo[nh].phase() <= phases.public: | |
299 | newhs.add(nh) |
|
299 | newhs.add(nh) | |
300 | else: |
|
300 | else: | |
301 | for suc in obsolete.allsuccessors(repo.obsstore, nh): |
|
301 | for suc in obsolete.allsuccessors(repo.obsstore, [nh]): | |
302 | if suc != nh and suc in allfuturecommon: |
|
302 | if suc != nh and suc in allfuturecommon: | |
303 | discardedheads.add(nh) |
|
303 | discardedheads.add(nh) | |
304 | break |
|
304 | break |
@@ -351,11 +351,13 b' def successormarkers(ctx):' | |||||
351 | for data in ctx._repo.obsstore.successors.get(ctx.node(), ()): |
|
351 | for data in ctx._repo.obsstore.successors.get(ctx.node(), ()): | |
352 | yield marker(ctx._repo, data) |
|
352 | yield marker(ctx._repo, data) | |
353 |
|
353 | |||
354 | def allsuccessors(obsstore, node): |
|
354 | def allsuccessors(obsstore, nodes): | |
355 | """Yield every successor of <node> |
|
355 | """Yield node for every successor of <nodes>. | |
|
356 | ||||
|
357 | Some successors may be unknown locally. | |||
356 |
|
358 | |||
357 | This is a linear yield unsuited to detecting split changesets.""" |
|
359 | This is a linear yield unsuited to detecting split changesets.""" | |
358 |
remaining = set( |
|
360 | remaining = set(nodes) | |
359 | seen = set(remaining) |
|
361 | seen = set(remaining) | |
360 | while remaining: |
|
362 | while remaining: | |
361 | current = remaining.pop() |
|
363 | current = remaining.pop() |
General Comments 0
You need to be logged in to leave comments.
Login now