Mercurial > hg
changeset 13188:6c9345f9edca stable
util: concentrate quoting knowledge to windows.py quotecommand()
This fixes all callers of util.quotecommand() and place special knowledge
of the bugfix in 2.7.1 in a single platform specific place.
author | Steve Borho <steve@borho.org> |
---|---|
date | Wed, 22 Dec 2010 13:25:00 -0600 |
parents | f9d29777b4eb |
children | f5be619663f9 4d03707916d3 |
files | mercurial/util.py mercurial/windows.py |
diffstat | 2 files changed, 5 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/util.py Mon Dec 20 15:26:36 2010 -0600 +++ b/mercurial/util.py Wed Dec 22 13:25:00 2010 -0600 @@ -391,9 +391,7 @@ return '1' return str(val) origcmd = cmd - if os.name == 'nt' and sys.version_info < (2, 7, 1): - # Python versions since 2.7.1 do this extra quoting themselves - cmd = '"%s"' % cmd + cmd = quotecommand(cmd) env = dict(os.environ) env.update((k, py2shell(v)) for k, v in environ.iteritems()) env['HG'] = hgexecutable()
--- a/mercurial/windows.py Mon Dec 20 15:26:36 2010 -0600 +++ b/mercurial/windows.py Wed Dec 22 13:25:00 2010 -0600 @@ -160,9 +160,10 @@ def quotecommand(cmd): """Build a command string suitable for os.popen* calls.""" - # The extra quotes are needed because popen* runs the command - # through the current COMSPEC. cmd.exe suppress enclosing quotes. - return '"' + cmd + '"' + if sys.version_info < (2, 7, 1): + # Python versions since 2.7.1 do this extra quoting themselves + return '"' + cmd + '"' + return cmd def popen(command, mode='r'): # Work around "popen spawned process may not write to stdout