rebase: when collapsing, p1 == dest, so use the former only
authorMartin von Zweigbergk <martinvonz@google.com>
Wed, 23 Sep 2020 09:21:26 -0700
changeset 45547 2dcf595f6985
parent 45546 3d47b5c7fe8d
child 45548 25e365d5aa8f
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
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