diff hgext/fix.py @ 44090:2f0a44c69e07

copies: replace duplicatecopies() by function that takes contexts The callers mostly have context objects, so let's avoid looking up the same context objects inside `duplicatecopies()`. I also renamed the function to `graftcopies()` since I think that better matches its purpose. I did it in the same commit so it's easier for extensions to switch between the functions. Differential Revision: https://phab.mercurial-scm.org/D7858
author Martin von Zweigbergk <martinvonz@google.com>
date Mon, 06 Jan 2020 15:24:36 -0800
parents eebdd6709868
children 833210fbd900
line wrap: on
line diff
--- a/hgext/fix.py	Fri Dec 27 13:03:40 2019 -0800
+++ b/hgext/fix.py	Mon Jan 06 15:24:36 2020 -0800
@@ -734,7 +734,8 @@
     extra[b'fix_source'] = ctx.hex()
 
     wctx = context.overlayworkingctx(repo)
-    wctx.setbase(repo[newp1node])
+    newp1ctx = repo[newp1node]
+    wctx.setbase(newp1ctx)
     merge.update(
         repo,
         ctx.rev(),
@@ -744,9 +745,7 @@
         mergeancestor=False,
         wc=wctx,
     )
-    copies.duplicatecopies(
-        repo, wctx, ctx.rev(), ctx.p1().rev(), skiprev=newp1node
-    )
+    copies.graftcopies(repo, wctx, ctx, ctx.p1(), skip=newp1ctx)
 
     for path in filedata.keys():
         fctx = ctx[path]