diff --git a/mercurial/pycompat.py b/mercurial/pycompat.py --- a/mercurial/pycompat.py +++ b/mercurial/pycompat.py @@ -506,6 +506,17 @@ return tempfile.mkstemp(suffix, prefix, dir) +# TemporaryFile does not support an "encoding=" argument on python2. +# This wrapper file are always open in byte mode. +def unnamedtempfile(mode=None, *args, **kwargs): + if mode is None: + mode = b'w+b' + else: + mode = sysstr(mode) + assert 'b' in mode + return tempfile.TemporaryFile(mode, *args, **kwargs) + + # NamedTemporaryFile does not support an "encoding=" argument on python2. # This wrapper file are always open in byte mode. def namedtempfile(