util.system: fix quoting on windows
authorAlexis S. L. Carvalho <alexis@cecm.usp.br>
Sat, 16 Dec 2006 02:38:18 -0200
changeset 3905 a8c0365b2ace
parent 3904 0dd07dd63db3
child 3906 1063a631cb8e
child 3907 39dcee009aab
util.system: fix quoting on windows
mercurial/util.py
--- a/mercurial/util.py	Sat Dec 16 02:21:46 2006 -0200
+++ b/mercurial/util.py	Sat Dec 16 02:38:18 2006 -0200
@@ -501,6 +501,9 @@
         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 @@
             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)