D380: simplemerge: stop reading from, and writing to, files
phillco (Phil Cohen)
phabricator at mercurial-scm.org
Mon Aug 14 06:16:00 UTC 2017
phillco created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.
REVISION SUMMARY
We now use contexts first for everything and also pass them everywhere.
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D380
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
@@ -18,15 +18,12 @@
from __future__ import absolute_import
-import os
-
from .i18n import _
from . import (
error,
mdiff,
pycompat,
util,
- vfs as vfsmod,
)
class CantReprocessAndShowBase(Exception):
@@ -434,12 +431,6 @@
filtereddata should only be True if the data() in your context returns
decoded data.
"""
- def readfile(filename):
- f = open(filename, "rb")
- text = f.read()
- f.close()
- return _verifytext(text, filename, ui, opts)
-
def readctx(ctx):
if not ctx:
return None
@@ -476,20 +467,16 @@
opts.get('label', []))
try:
- localtext = readctx(localctx) if localctx else readfile(localfile)
- basetext = readctx(basectx) if basectx else readfile(basefile)
- othertext = readctx(otherctx) if otherctx else readfile(otherfile)
+ localtext = readctx(localctx)
+ basetext = readctx(basectx)
+ othertext = readctx(otherctx)
except error.Abort:
return 1
if opts.get('print'):
out = ui.fout
- elif localctx:
+ else:
out = ctxwriter(localctx)
- else:
- localfile = os.path.realpath(localfile)
- opener = vfsmod.vfs(os.path.dirname(localfile))
- out = opener(os.path.basename(localfile), "w", atomictemp=True)
m3 = Merge3Text(basetext, localtext, othertext)
extrakwargs = {
To: phillco, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list