hgext/rebase.py
changeset 39924 0428feb1f0d7
parent 39923 a8318c9cb2ad
child 40293 c303d65d2e34
equal deleted inserted replaced
39923:a8318c9cb2ad 39924:0428feb1f0d7
  1762     """
  1762     """
  1763     tonode = repo.changelog.node
  1763     tonode = repo.changelog.node
  1764     replacements = {}
  1764     replacements = {}
  1765     moves = {}
  1765     moves = {}
  1766     stripcleanup = not obsolete.isenabled(repo, obsolete.createmarkersopt)
  1766     stripcleanup = not obsolete.isenabled(repo, obsolete.createmarkersopt)
       
  1767 
       
  1768     collapsednodes = []
  1767     for rev, newrev in sorted(state.items()):
  1769     for rev, newrev in sorted(state.items()):
  1768         if newrev >= 0 and newrev != rev:
  1770         if newrev >= 0 and newrev != rev:
  1769             oldnode = tonode(rev)
  1771             oldnode = tonode(rev)
  1770             newnode = collapsedas or tonode(newrev)
  1772             newnode = collapsedas or tonode(newrev)
  1771             moves[oldnode] = newnode
  1773             moves[oldnode] = newnode
  1772             if not keepf:
  1774             if not keepf:
  1773                 succs = None
  1775                 succs = None
  1774                 if rev in skipped:
  1776                 if rev in skipped:
  1775                     if stripcleanup or not repo[rev].obsolete():
  1777                     if stripcleanup or not repo[rev].obsolete():
  1776                         succs = ()
  1778                         succs = ()
       
  1779                 elif collapsedas:
       
  1780                     collapsednodes.append(oldnode)
  1777                 else:
  1781                 else:
  1778                     succs = (newnode,)
  1782                     succs = (newnode,)
  1779                 if succs is not None:
  1783                 if succs is not None:
  1780                     replacements[(oldnode,)] = succs
  1784                     replacements[(oldnode,)] = succs
       
  1785     if collapsednodes:
       
  1786         replacements[tuple(collapsednodes)] = (collapsedas,)
  1781     scmutil.cleanupnodes(repo, replacements, 'rebase', moves, backup=backup)
  1787     scmutil.cleanupnodes(repo, replacements, 'rebase', moves, backup=backup)
  1782     if fm:
  1788     if fm:
  1783         hf = fm.hexfunc
  1789         hf = fm.hexfunc
  1784         fl = fm.formatlist
  1790         fl = fm.formatlist
  1785         fd = fm.formatdict
  1791         fd = fm.formatdict