# HG changeset patch # User Martin von Zweigbergk # Date 1600878086 25200 # Node ID 2dcf595f69855190624d600438121f7fee1da532 # Parent 3d47b5c7fe8d55b48f1526cf52cbaf36def3fafd rebase: when collapsing, p1 == dest, so use the former only `dest` is the destination we're rebasing onto, which is always the same as `p1` when using `--collapse`. This lets us simplify a bit. Differential Revision: https://phab.mercurial-scm.org/D9073 diff -r 3d47b5c7fe8d -r 2dcf595f6985 hgext/rebase.py --- a/hgext/rebase.py Fri Sep 18 15:37:03 2020 -0700 +++ b/hgext/rebase.py Wed Sep 23 09:21:26 2020 -0700 @@ -562,7 +562,6 @@ def _rebasenode(self, tr, rev, allowdivergence, progressfn): repo, ui, opts = self.repo, self.ui, self.opts - dest = self.destmap[rev] ctx = repo[rev] desc = _ctxdesc(ctx) if self.state[rev] == rev: @@ -616,14 +615,7 @@ overrides = {(b'ui', b'forcemerge'): opts.get(b'tool', b'')} with ui.configoverride(overrides, b'rebase'): stats = rebasenode( - repo, - rev, - p1, - p2, - base, - self.collapsef, - dest, - wctx=self.wctx, + repo, rev, p1, p2, base, self.collapsef, wctx=self.wctx, ) if stats.unresolvedcount > 0: if self.inmemory: @@ -1465,7 +1457,7 @@ return newnode -def rebasenode(repo, rev, p1, p2, base, collapse, dest, wctx): +def rebasenode(repo, rev, p1, p2, base, collapse, wctx): """Rebase a single revision rev on top of p1 using base as merge ancestor""" # Merge phase # Update to destination and merge it with local @@ -1501,7 +1493,7 @@ ) wctx.setparents(p1ctx.node(), repo[p2].node()) if collapse: - copies.graftcopies(wctx, ctx, repo[dest]) + copies.graftcopies(wctx, ctx, p1ctx) else: # If we're not using --collapse, we need to # duplicate copies between the revision we're