diff -r ba883fa211f3 -r a389dd285282 mercurial/util.py --- a/mercurial/util.py Thu May 12 18:35:04 2011 -0500 +++ b/mercurial/util.py Thu May 12 16:41:56 2011 +0200 @@ -1500,6 +1500,8 @@ 'bundle:../foo' >>> str(url('path')) 'path' + >>> str(url('file:///tmp/foo/bar')) + 'file:///tmp/foo/bar' >>> print url(r'bundle:foo\bar') bundle:foo\bar """ @@ -1512,8 +1514,9 @@ return s s = self.scheme + ':' - if (self.user or self.passwd or self.host or - self.scheme and not self.path): + if self.user or self.passwd or self.host: + s += '//' + elif self.scheme and (not self.path or self.path.startswith('/')): s += '//' if self.user: s += urllib.quote(self.user, safe=self._safechars)