D372: simplemerge: add optional context parameters to simplemerge
phillco (Phil Cohen)
phabricator at mercurial-scm.org
Mon Aug 14 06:15:40 UTC 2017
phillco created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.
REVISION SUMMARY
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.
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D372
AFFECTED FILES
mercurial/simplemerge.py
CHANGE DETAILS
diff --git a/mercurial/simplemerge.py b/mercurial/simplemerge.py
--- a/mercurial/simplemerge.py
+++ b/mercurial/simplemerge.py
@@ -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
To: phillco, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list