simplemerge: add optional context parameters to simplemerge
authorPhil Cohen <phillco@fb.com>
Sun, 13 Aug 2017 20:06:52 -0700
changeset 33847 b3571dc0e6b8
parent 33846 de573184686e
child 33848 db3e9f7c91aa
simplemerge: add optional context parameters to simplemerge Rename the existing parameters for clarity. These will, in subsequent patches, allow callers to redirect reads (of the three sides of the merge) and writes (of the result) to the given contexts, instead of using the filesystem. While in most cases, the writes will go to a workingfilectx, this opens the door for it to be a memfilectx in the case of an in-memory merge. Repo will be necessary in a subsequent comit. Differential Revision: https://phab.mercurial-scm.org/D372
mercurial/simplemerge.py
--- a/mercurial/simplemerge.py	Sun Aug 13 20:06:52 2017 -0700
+++ b/mercurial/simplemerge.py	Sun Aug 13 20:06:52 2017 -0700
@@ -408,7 +408,8 @@
             raise error.Abort(msg)
     return text
 
-def simplemerge(ui, local, base, other, **opts):
+def simplemerge(ui, localfile, basefile, otherfile,
+                localctx=None, basectx=None, otherctx=None, repo=None, **opts):
     def readfile(filename):
         f = open(filename, "rb")
         text = f.read()
@@ -421,8 +422,8 @@
         name_b = None
         name_base = None
     else:
-        name_a = local
-        name_b = other
+        name_a = localfile
+        name_b = otherfile
         name_base = None
         labels = opts.get('label', [])
         if len(labels) > 0:
@@ -435,16 +436,16 @@
             raise error.Abort(_("can only specify three labels."))
 
     try:
-        localtext = readfile(local)
-        basetext = readfile(base)
-        othertext = readfile(other)
+        localtext = readfile(localfile)
+        basetext = readfile(basefile)
+        othertext = readfile(otherfile)
     except error.Abort:
         return 1
 
-    local = os.path.realpath(local)
+    localfile = os.path.realpath(localfile)
     if not opts.get('print'):
-        opener = vfsmod.vfs(os.path.dirname(local))
-        out = opener(os.path.basename(local), "w", atomictemp=True)
+        opener = vfsmod.vfs(os.path.dirname(localfile))
+        out = opener(os.path.basename(localfile), "w", atomictemp=True)
     else:
         out = ui.fout