# HG changeset patch # User Yuya Nishihara # Date 2019-02-02 06:26:51 # Node ID dbf20e28d1a67b05e4c9f93c69be2f808647a9fd # Parent 921b4ffa9ced910ea79cb839b86a06287710f29c py3: don't use universal_newlines in svnsubrepo On Python 3, it means text=True without any specific encoding, which is pretty bad. Instead, use util.fromnativeeol() to translate CR+LF to LF without encoding conversion. diff --git a/mercurial/subrepo.py b/mercurial/subrepo.py --- a/mercurial/subrepo.py +++ b/mercurial/subrepo.py @@ -958,10 +958,8 @@ class svnsubrepo(abstractsubrepo): p = subprocess.Popen(pycompat.rapply(procutil.tonativestr, cmd), bufsize=-1, close_fds=procutil.closefds, stdout=subprocess.PIPE, stderr=subprocess.PIPE, - universal_newlines=True, env=procutil.tonativeenv(env), **extrakw) - stdout, stderr = p.communicate() - stdout, stderr = pycompat.fsencode(stdout), pycompat.fsencode(stderr) + stdout, stderr = map(util.fromnativeeol, p.communicate()) stderr = stderr.strip() if not failok: if p.returncode: