mercurial/util.py
changeset 14313 a389dd285282
parent 14271 4030630fb59c
child 14515 76f295eaed86
--- 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)