py3: convert popen() command arguments in hgclient to str on Windows
This fixes test-commandserver.t and test-keyword.t, which was previously
complaining
TypeError("a bytes-like object is required, not 'str'")
--- a/contrib/hgclient.py Mon Dec 17 23:08:26 2018 -0500
+++ b/contrib/hgclient.py Tue Dec 18 00:54:32 2018 -0500
@@ -33,7 +33,12 @@
cmdline += [b'-R', path]
cmdline.extend(extraargs)
- server = subprocess.Popen(cmdline, stdin=subprocess.PIPE,
+ def tonative(cmdline):
+ if os.name != r'nt':
+ return cmdline
+ return [arg.decode("utf-8") for arg in cmdline]
+
+ server = subprocess.Popen(tonative(cmdline), stdin=subprocess.PIPE,
stdout=subprocess.PIPE)
return server