util: url keeps backslash in paths
Backslashes (\) in paths were encoded to %C5 when converting from url to
string. This does not look nice for windows paths. And it introduces many
problems when running tests on windows.
--- a/mercurial/util.py Sat Nov 16 19:55:38 2013 -0500
+++ b/mercurial/util.py Wed Nov 20 22:03:15 2013 +0100
@@ -1633,6 +1633,8 @@
<url path: '\\\\blah\\blah\\blah'>
>>> url(r'\\blah\blah\blah#baz')
<url path: '\\\\blah\\blah\\blah', fragment: 'baz'>
+ >>> url(r'file:///C:\users\me')
+ <url scheme: 'file', path: 'C:\\users\\me'>
Authentication credentials:
@@ -1650,7 +1652,7 @@
"""
_safechars = "!~*'()+"
- _safepchars = "/!~*'()+:"
+ _safepchars = "/!~*'()+:\\"
_matchscheme = re.compile(r'^[a-zA-Z0-9+.\-]+:').match
def __init__(self, path, parsequery=True, parsefragment=True):
@@ -1787,6 +1789,8 @@
'file:///c:/tmp/foo/bar'
>>> print url(r'bundle:foo\bar')
bundle:foo\bar
+ >>> print url(r'file:///D:\data\hg')
+ file:///D:\data\hg
"""
if self._localpath:
s = self.path