##// END OF EJS Templates
checkheads: use "revnum" in the "allfuturecommon" set...
marmoute -
r32791:1cb14923 default
parent child Browse files
Show More
@@ -250,8 +250,9 b' def _headssummary(pushop):'
250 if repo.obsstore:
250 if repo.obsstore:
251 allmissing = set(outgoing.missing)
251 allmissing = set(outgoing.missing)
252 cctx = repo.set('%ld', outgoing.common)
252 cctx = repo.set('%ld', outgoing.common)
253 allfuturecommon = set(c.node() for c in cctx)
253 allfuturecommon = set(c.rev() for c in cctx)
254 allfuturecommon.update(allmissing)
254 torev = repo.changelog.rev
255 allfuturecommon.update(torev(m) for m in allmissing)
255 for branch, heads in sorted(headssum.iteritems()):
256 for branch, heads in sorted(headssum.iteritems()):
256 remoteheads, newheads, unsyncedheads, placeholder = heads
257 remoteheads, newheads, unsyncedheads, placeholder = heads
257 result = _postprocessobsolete(pushop, allfuturecommon, newheads)
258 result = _postprocessobsolete(pushop, allfuturecommon, newheads)
@@ -443,7 +444,7 b' def _postprocessobsolete(pushop, futurec'
443 public = phases.public
444 public = phases.public
444 getphase = unfi._phasecache.phase
445 getphase = unfi._phasecache.phase
445 ispublic = (lambda r: getphase(unfi, r) == public)
446 ispublic = (lambda r: getphase(unfi, r) == public)
446 ispushed = (lambda n: n in futurecommon)
447 ispushed = (lambda n: torev(n) in futurecommon)
447 hasoutmarker = functools.partial(pushingmarkerfor, unfi.obsstore, ispushed)
448 hasoutmarker = functools.partial(pushingmarkerfor, unfi.obsstore, ispushed)
448 successorsmarkers = unfi.obsstore.successors
449 successorsmarkers = unfi.obsstore.successors
449 newhs = set() # final set of new heads
450 newhs = set() # final set of new heads
@@ -469,7 +470,7 b' def _postprocessobsolete(pushop, futurec'
469 while localcandidate:
470 while localcandidate:
470 nh = localcandidate.pop()
471 nh = localcandidate.pop()
471 # run this check early to skip the evaluation of the whole branch
472 # run this check early to skip the evaluation of the whole branch
472 if (nh in futurecommon or ispublic(torev(nh))):
473 if (torev(nh) in futurecommon or ispublic(torev(nh))):
473 newhs.add(nh)
474 newhs.add(nh)
474 continue
475 continue
475
476
@@ -484,7 +485,7 b' def _postprocessobsolete(pushop, futurec'
484 # * any part of it is considered part of the result by previous logic,
485 # * any part of it is considered part of the result by previous logic,
485 # * if we have no markers to push to obsolete it.
486 # * if we have no markers to push to obsolete it.
486 if (any(ispublic(r) for r in branchrevs)
487 if (any(ispublic(r) for r in branchrevs)
487 or any(n in futurecommon for n in branchnodes)
488 or any(torev(n) in futurecommon for n in branchnodes)
488 or any(not hasoutmarker(n) for n in branchnodes)):
489 or any(not hasoutmarker(n) for n in branchnodes)):
489 newhs.add(nh)
490 newhs.add(nh)
490 else:
491 else:
General Comments 0
You need to be logged in to leave comments. Login now