diff --git a/mercurial/utils/procutil.py b/mercurial/utils/procutil.py --- a/mercurial/utils/procutil.py +++ b/mercurial/utils/procutil.py @@ -654,9 +654,13 @@ stdin.write(stdin_bytes) stdin.flush() stdin.seek(0) + if shell: + script = tonativestr(script) + else: + script = [tonativestr(s) for s in script] p = subprocess.Popen( - tonativestr(script), + script, shell=shell, env=tonativeenv(env), close_fds=True,