Mercurial > hg
changeset 33905:61b267a99fea
simplemerge: stop reading from, and writing to, files
We now use contexts first for everything and also pass them everywhere.
Differential Revision: https://phab.mercurial-scm.org/D380
author | Phil Cohen <phillco@fb.com> |
---|---|
date | Thu, 24 Aug 2017 21:30:37 -0700 |
parents | 1915a5e809ca |
children | fa6309c5761d |
files | mercurial/simplemerge.py |
diffstat | 1 files changed, 6 insertions(+), 18 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/simplemerge.py Thu Aug 24 21:30:37 2017 -0700 +++ b/mercurial/simplemerge.py Thu Aug 24 21:30:37 2017 -0700 @@ -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): @@ -428,13 +425,8 @@ {local|base|other}ctx are optional. If passed, they (local/base/other) will be read from and the merge result written to (local). You should pass - explicit labels in this mode since the default is to use the file paths.""" - def readfile(filename): - f = open(filename, "rb") - text = f.read() - f.close() - return _verifytext(text, filename, ui, opts) - + explicit labels in this mode since the default is to use the file paths. + """ def readctx(ctx): if not ctx: return None @@ -466,20 +458,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 = {