changeset 3905:a8c0365b2ace

util.system: fix quoting on windows
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
date Sat, 16 Dec 2006 02:38:18 -0200
parents 0dd07dd63db3
children 1063a631cb8e 39dcee009aab
files mercurial/util.py
diffstat 1 files changed, 4 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/util.py
+++ b/mercurial/util.py
@@ -501,6 +501,9 @@ def system(cmd, environ={}, cwd=None, on
         oldenv[k] = os.environ.get(k)
     if cwd is not None:
         oldcwd = os.getcwd()
+    origcmd = cmd
+    if os.name == 'nt':
+        cmd = '"%s"' % cmd
     try:
         for k, v in environ.iteritems():
             os.environ[k] = py2shell(v)
@@ -508,7 +511,7 @@ def system(cmd, environ={}, cwd=None, on
             os.chdir(cwd)
         rc = os.system(cmd)
         if rc and onerr:
-            errmsg = '%s %s' % (os.path.basename(cmd.split(None, 1)[0]),
+            errmsg = '%s %s' % (os.path.basename(origcmd.split(None, 1)[0]),
                                 explain_exit(rc)[0])
             if errprefix:
                 errmsg = '%s: %s' % (errprefix, errmsg)