mercurial/localrepo.py
changeset 30345 fa54f7ade491
parent 30332 318a24b52eeb
child 30376 f84fc6a92817
--- a/mercurial/localrepo.py	Tue Nov 08 08:03:43 2016 -0800
+++ b/mercurial/localrepo.py	Tue Nov 08 08:03:43 2016 -0800
@@ -1700,9 +1700,13 @@
             trp = weakref.proxy(tr)
 
             if ctx.files():
-                m1 = p1.manifest()
-                m2 = p2.manifest()
-                m = m1.copy()
+                m1ctx = p1.manifestctx()
+                m2ctx = p2.manifestctx()
+                mctx = m1ctx.copy()
+
+                m = mctx.read()
+                m1 = m1ctx.read()
+                m2 = m2ctx.read()
 
                 # check in files
                 added = []
@@ -1736,9 +1740,9 @@
                 drop = [f for f in removed if f in m]
                 for f in drop:
                     del m[f]
-                mn = self.manifestlog.add(m, trp, linkrev,
-                                          p1.manifestnode(), p2.manifestnode(),
-                                          added, drop)
+                mn = mctx.write(trp, linkrev,
+                                p1.manifestnode(), p2.manifestnode(),
+                                added, drop)
                 files = changed + removed
             else:
                 mn = p1.manifestnode()