mercurial/win32.py
changeset 39719 255d1885c7f8
parent 39611 f3900f4c63d4
child 39762 edaa40dc5fe5
--- a/mercurial/win32.py	Wed Sep 19 21:41:58 2018 -0400
+++ b/mercurial/win32.py	Wed Sep 19 23:54:16 2018 -0400
@@ -579,10 +579,11 @@
         env = '\0'
     env += '\0'
 
-    args = subprocess.list2cmdline(args)
+    args = subprocess.list2cmdline(pycompat.rapply(encoding.strfromlocal, args))
 
+    # TODO: CreateProcessW on py3?
     res = _kernel32.CreateProcessA(
-        None, args, None, None, False, _CREATE_NO_WINDOW,
+        None, encoding.strtolocal(args), None, None, False, _CREATE_NO_WINDOW,
         env, pycompat.getcwd(), ctypes.byref(si), ctypes.byref(pi))
     if not res:
         raise ctypes.WinError()