# HG changeset patch # User Brodie Rao # Date 1301540423 25200 # Node ID d066d8d652c8a8a74c57ee5361ace58a4dc743be # Parent 03dfe0c85c1a4d7df59adf8a23058046178a7a1e url: add trailing slashes to URLs with hostnames that don't have one This works around a potential issue in Python 2.4 where cloning a repo with a URL like http://foo:8080 would cause urllib2 to query on http://foo:8080?cmd=capabilities instead of http://foo:8080/?cmd=capabilities. In the past, this issue has been masked by the fact that url.getauthinfo() added a trailing slash when it was missing. diff -r 03dfe0c85c1a -r d066d8d652c8 mercurial/url.py --- a/mercurial/url.py Wed Mar 30 19:50:56 2011 -0700 +++ b/mercurial/url.py Wed Mar 30 20:00:23 2011 -0700 @@ -156,7 +156,7 @@ >>> str(url('http://localhost:80/')) 'http://localhost:80/' >>> str(url('http://localhost:80')) - 'http://localhost:80' + 'http://localhost:80/' >>> str(url('bundle:foo')) 'bundle:foo' >>> str(url('path')) @@ -185,8 +185,7 @@ s += self.host if self.port: s += ':' + urllib.quote(self.port) - if ((self.host and self.path is not None) or - (self.host and self.query or self.fragment)): + if self.host: s += '/' if self.path: s += urllib.quote(self.path, safe=self._safepchars) diff -r 03dfe0c85c1a -r d066d8d652c8 tests/test-http-branchmap.t --- a/tests/test-http-branchmap.t Wed Mar 30 19:50:56 2011 -0700 +++ b/tests/test-http-branchmap.t Wed Mar 30 20:00:23 2011 -0700 @@ -30,7 +30,7 @@ $ echo bar >> b/foo $ hg -R b ci -m bar $ hg --encoding utf-8 -R b push - pushing to http://localhost:$HGPORT1 + pushing to http://localhost:$HGPORT1/ searching for changes remote: adding changesets remote: adding manifests diff -r 03dfe0c85c1a -r d066d8d652c8 tests/test-schemes.t --- a/tests/test-schemes.t Wed Mar 30 19:50:56 2011 -0700 +++ b/tests/test-schemes.t Wed Mar 30 20:00:23 2011 -0700 @@ -26,7 +26,7 @@ $ hg incoming --debug parts://localhost using http://localhost:$HGPORT/ sending capabilities command - comparing with parts://localhost + comparing with parts://localhost/ sending heads command searching for changes sending known command