comparison hgext/rebase.py @ 37021:c83e2736c6de

merge with stable
author Martin von Zweigbergk <martinvonz@google.com>
date Mon, 19 Mar 2018 08:07:18 -0700
parents 795eb53f1d3e 177f3b90335f
children 0782ac132a41
comparison
equal deleted inserted replaced
37020:16bbb15406c9 37021:c83e2736c6de
1531 restore''' 1531 restore'''
1532 1532
1533 try: 1533 try:
1534 # If the first commits in the rebased set get skipped during the rebase, 1534 # If the first commits in the rebased set get skipped during the rebase,
1535 # their values within the state mapping will be the dest rev id. The 1535 # their values within the state mapping will be the dest rev id. The
1536 # dstates list must must not contain the dest rev (issue4896) 1536 # rebased list must must not contain the dest rev (issue4896)
1537 dstates = [s for r, s in state.items() if s >= 0 and s != destmap[r]] 1537 rebased = [s for r, s in state.items()
1538 immutable = [d for d in dstates if not repo[d].mutable()] 1538 if s >= 0 and s != r and s != destmap[r]]
1539 immutable = [d for d in rebased if not repo[d].mutable()]
1539 cleanup = True 1540 cleanup = True
1540 if immutable: 1541 if immutable:
1541 repo.ui.warn(_("warning: can't clean up public changesets %s\n") 1542 repo.ui.warn(_("warning: can't clean up public changesets %s\n")
1542 % ', '.join(bytes(repo[r]) for r in immutable), 1543 % ', '.join(bytes(repo[r]) for r in immutable),
1543 hint=_("see 'hg help phases' for details")) 1544 hint=_("see 'hg help phases' for details"))
1544 cleanup = False 1545 cleanup = False
1545 1546
1546 descendants = set() 1547 descendants = set()
1547 if dstates: 1548 if rebased:
1548 descendants = set(repo.changelog.descendants(dstates)) 1549 descendants = set(repo.changelog.descendants(rebased))
1549 if descendants - set(dstates): 1550 if descendants - set(rebased):
1550 repo.ui.warn(_("warning: new changesets detected on destination " 1551 repo.ui.warn(_("warning: new changesets detected on destination "
1551 "branch, can't strip\n")) 1552 "branch, can't strip\n"))
1552 cleanup = False 1553 cleanup = False
1553 1554
1554 if cleanup: 1555 if cleanup:
1555 shouldupdate = False 1556 shouldupdate = False
1556 rebased = [s for r, s in state.items()
1557 if s >= 0 and s != destmap[r]]
1558 if rebased: 1557 if rebased:
1559 strippoints = [ 1558 strippoints = [
1560 c.node() for c in repo.set('roots(%ld)', rebased)] 1559 c.node() for c in repo.set('roots(%ld)', rebased)]
1561 1560
1562 updateifonnodes = set(rebased) 1561 updateifonnodes = set(rebased)