# HG changeset patch # User Matt Harbison # Date 2018-06-29 02:23:08 # Node ID 72286f9e324f359d6090ae78883428adc97037cc # Parent 5d88fd1bc2af0af02129f0ad2b267d778349d95a procutil: add a shim for translating shell commands to native commands diff --git a/mercurial/hook.py b/mercurial/hook.py --- a/mercurial/hook.py +++ b/mercurial/hook.py @@ -139,9 +139,7 @@ def _exthook(ui, repo, htype, name, cmd, v = stringutil.pprint(v) env['HG_' + k.upper()] = v - if pycompat.iswindows: - environ = procutil.shellenviron(env) - cmd = util.platform.shelltocmdexe(cmd, environ) + cmd = procutil.shelltonative(cmd, env) ui.note(_("running hook %s: %s\n") % (name, cmd)) diff --git a/mercurial/utils/procutil.py b/mercurial/utils/procutil.py --- a/mercurial/utils/procutil.py +++ b/mercurial/utils/procutil.py @@ -317,6 +317,13 @@ def shellenviron(environ=None): env['HG'] = hgexecutable() return env +if pycompat.iswindows: + def shelltonative(cmd, env): + return platform.shelltocmdexe(cmd, shellenviron(env)) +else: + def shelltonative(cmd, env): + return cmd + def system(cmd, environ=None, cwd=None, out=None): '''enhanced shell command execution. run with environment maybe modified, maybe in different dir.