# HG changeset patch # User Martin von Zweigbergk # Date 1644905789 28800 # Node ID 69000dc0dcedb849c22e3b82414781724b600f73 # Parent f20feb496d3c38ca30605a51c9c97609ec655cec 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 diff -r f20feb496d3c -r 69000dc0dced mercurial/filemerge.py --- 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