246 l.sort() |
246 l.sort() |
247 headssum[branch] = items + ([],) |
247 headssum[branch] = items + ([],) |
248 |
248 |
249 # If there are no obsstore, no post processing are needed. |
249 # If there are no obsstore, no post processing are needed. |
250 if repo.obsstore: |
250 if repo.obsstore: |
251 allmissing = set(outgoing.missing) |
|
252 cctx = repo.set('%ld', outgoing.common) |
|
253 allfuturecommon = set(c.rev() for c in cctx) |
|
254 torev = repo.changelog.rev |
251 torev = repo.changelog.rev |
255 allfuturecommon.update(torev(m) for m in allmissing) |
252 futureheads = set(torev(h) for h in outgoing.missingheads) |
|
253 futureheads |= set(torev(h) for h in outgoing.commonheads) |
|
254 allfuturecommon = repo.changelog.ancestors(futureheads, inclusive=True) |
256 for branch, heads in sorted(headssum.iteritems()): |
255 for branch, heads in sorted(headssum.iteritems()): |
257 remoteheads, newheads, unsyncedheads, placeholder = heads |
256 remoteheads, newheads, unsyncedheads, placeholder = heads |
258 result = _postprocessobsolete(pushop, allfuturecommon, newheads) |
257 result = _postprocessobsolete(pushop, allfuturecommon, newheads) |
259 headssum[branch] = (remoteheads, sorted(result[0]), unsyncedheads, |
258 headssum[branch] = (remoteheads, sorted(result[0]), unsyncedheads, |
260 sorted(result[1])) |
259 sorted(result[1])) |