--- a/mercurial/util.py
+++ b/mercurial/util.py
@@ -1001,6 +1001,12 @@ if os.name == 'nt':
_quotere = re.compile(r'(\\*)("|\\$)')
return '"%s"' % _quotere.sub(r'\1\1\\\2', s)
+ def quotecommand(cmd):
+ """Build a command string suitable for os.popen* calls."""
+ # The extra quotes are needed because popen* runs the command
+ # through the current COMSPEC. cmd.exe suppress enclosing quotes.
+ return '"' + cmd + '"'
+
def explain_exit(code):
return _("exited with status %d") % code, code
@@ -1154,6 +1160,9 @@ else:
else:
return "'%s'" % s.replace("'", "'\\''")
+ def quotecommand(cmd):
+ return cmd
+
def testpid(pid):
'''return False if pid dead, True if running or not sure'''
if os.sys.platform == 'OpenVMS':
@@ -1681,3 +1690,7 @@ def drop_scheme(scheme, path):
if path.startswith('//'):
path = path[2:]
return path
+
+def uirepr(s):
+ # Avoid double backslash in Windows path repr()
+ return repr(s).replace('\\\\', '\\')