comparison mercurial/util.py @ 14915:28edd65000d9 stable

url: handle urls of the form file:///c:/foo/bar/ correctly
author Matt Mackall <mpm@selenic.com>
date Fri, 22 Jul 2011 17:11:35 -0500
parents de9eb6b1da4f
children ebdfdba0faaf e6730f9e13bc
comparison
equal deleted inserted replaced
14914:41c3a71c318d 14915:28edd65000d9
1351 <url scheme: 'http', host: 'www.ietf.org', path: 'rfc/rfc2396.txt'> 1351 <url scheme: 'http', host: 'www.ietf.org', path: 'rfc/rfc2396.txt'>
1352 >>> url('ssh://[::1]:2200//home/joe/repo') 1352 >>> url('ssh://[::1]:2200//home/joe/repo')
1353 <url scheme: 'ssh', host: '[::1]', port: '2200', path: '/home/joe/repo'> 1353 <url scheme: 'ssh', host: '[::1]', port: '2200', path: '/home/joe/repo'>
1354 >>> url('file:///home/joe/repo') 1354 >>> url('file:///home/joe/repo')
1355 <url scheme: 'file', path: '/home/joe/repo'> 1355 <url scheme: 'file', path: '/home/joe/repo'>
1356 >>> url('file:///c:/temp/foo/')
1357 <url scheme: 'file', path: 'c:/temp/foo/'>
1356 >>> url('bundle:foo') 1358 >>> url('bundle:foo')
1357 <url scheme: 'bundle', path: 'foo'> 1359 <url scheme: 'bundle', path: 'foo'>
1358 >>> url('bundle://../foo') 1360 >>> url('bundle://../foo')
1359 <url scheme: 'bundle', path: '../foo'> 1361 <url scheme: 'bundle', path: '../foo'>
1360 >>> url(r'c:\foo\bar') 1362 >>> url(r'c:\foo\bar')
1440 else: 1442 else:
1441 self.host = parts[0] 1443 self.host = parts[0]
1442 path = None 1444 path = None
1443 if not self.host: 1445 if not self.host:
1444 self.host = None 1446 self.host = None
1445 if path: 1447 if path and not hasdriveletter(path):
1446 path = '/' + path 1448 path = '/' + path
1447 1449
1448 if self.host and '@' in self.host: 1450 if self.host and '@' in self.host:
1449 self.user, self.host = self.host.rsplit('@', 1) 1451 self.user, self.host = self.host.rsplit('@', 1)
1450 if ':' in self.user: 1452 if ':' in self.user: