localrepo: make it possible to reuse manifest when commiting context
authorMateusz Kwapich <mitrandir@fb.com>
Thu, 17 Nov 2016 10:59:15 -0800
changeset 30566 46d2c8b23c33
parent 30565 7fbc8a742b4d
child 30567 73ce055b169a
localrepo: make it possible to reuse manifest when commiting context This makes the commit function understand the context that's reusing manifest.
mercurial/localrepo.py
--- a/mercurial/localrepo.py	Thu Nov 17 10:59:15 2016 -0800
+++ b/mercurial/localrepo.py	Thu Nov 17 10:59:15 2016 -0800
@@ -1696,7 +1696,11 @@
             tr = self.transaction("commit")
             trp = weakref.proxy(tr)
 
-            if ctx.files():
+            if ctx.manifestnode():
+                # reuse an existing manifest revision
+                mn = ctx.manifestnode()
+                files = ctx.files()
+            elif ctx.files():
                 m1ctx = p1.manifestctx()
                 m2ctx = p2.manifestctx()
                 mctx = m1ctx.copy()