Mercurial > hg
changeset 48787:69000dc0dced
filemerge: reduce some duplication in `_maketempfiles()`
The two callers of the local `maketempfrompath()` function used the
returned file object in the same way. We can reduce duplication by
moving that code into the function.
Differential Revision: https://phab.mercurial-scm.org/D12192
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Mon, 14 Feb 2022 22:16:29 -0800 |
parents | f20feb496d3c |
children | f90337706ce7 |
files | mercurial/filemerge.py |
diffstat | 1 files changed, 5 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/filemerge.py Mon Feb 14 22:11:50 2022 -0800 +++ b/mercurial/filemerge.py Mon Feb 14 22:16:29 2022 -0800 @@ -19,7 +19,6 @@ ) from .pycompat import ( getattr, - open, ) from . import ( @@ -923,30 +922,24 @@ """ tmproot = pycompat.mkdtemp(prefix=b'hgmerge-') - def maketempfrompath(prefix, path): + def maketempfrompath(prefix, path, data): fullbase, ext = os.path.splitext(path) pre = b"%s~%s" % (os.path.basename(fullbase), prefix) name = os.path.join(tmproot, pre) if ext: name += ext - f = open(name, "wb") - return f, name + util.writefile(name, data) + return name def tempfromcontext(prefix, ctx): - f, name = maketempfrompath(prefix, ctx.path()) - data = ctx.decodeddata() - f.write(data) - f.close() - return name + return maketempfrompath(prefix, ctx.path(), ctx.decodeddata()) b = tempfromcontext(b"base", fca) c = tempfromcontext(b"other", fco) d = localpath if localpath is not None: - f, d = maketempfrompath(b"local", d) data = util.readfile(localpath) - f.write(data) - f.close() + d = maketempfrompath(b"local", localpath, data) try: yield b, c, d