diff mercurial/util.py @ 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 8e907b86126b
children 1063a631cb8e e6d54283c090
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)