[PATCH 05 of 13 RFC] url: use url.url in url.open()
Brodie Rao
brodie at bitheap.org
Wed Mar 30 22:11:50 CDT 2011
# HG changeset patch
# User Brodie Rao <brodie at bitheap.org>
# Date 1301540494 25200
# Node ID 3edd4625d70c4b18a6362f6ff20954e9e2ed5d8c
# Parent c5778ef86f14205e12583ac6451a4a8c24c9de24
url: use url.url in url.open()
diff --git a/mercurial/url.py b/mercurial/url.py
--- a/mercurial/url.py
+++ b/mercurial/url.py
@@ -7,7 +7,7 @@
# This software may be used and distributed according to the terms of the
# GNU General Public License version 2 or any later version.
-import urllib, urllib2, urlparse, httplib, os, re, socket, cStringIO
+import urllib, urllib2, urlparse, httplib, os, socket, cStringIO
import __builtin__
from i18n import _
import keepalive, util
@@ -961,17 +961,13 @@ def opener(ui, authinfo=None):
opener.addheaders.append(('Accept', 'application/mercurial-0.1'))
return opener
-scheme_re = re.compile(r'^([a-zA-Z0-9+-.]+)://')
-
-def open(ui, url, data=None):
- scheme = None
- m = scheme_re.search(url)
- if m:
- scheme = m.group(1).lower()
- if not scheme:
- path = util.normpath(os.path.abspath(url))
- url = 'file://' + urllib.pathname2url(path)
+def open(ui, url_, data=None):
+ u = url(url_)
+ if u.scheme:
+ u.scheme = u.scheme.lower()
+ url_, authinfo = u.authinfo()
+ else:
+ path = util.normpath(os.path.abspath(url_))
+ url_ = 'file://' + urllib.pathname2url(path)
authinfo = None
- else:
- url, authinfo = getauthinfo(url)
- return opener(ui, authinfo).open(url, data)
+ return opener(ui, authinfo).open(url_, data)
diff --git a/tests/test-bundle.t b/tests/test-bundle.t
--- a/tests/test-bundle.t
+++ b/tests/test-bundle.t
@@ -206,7 +206,7 @@ doesn't work (yet ?)
hg -R bundle://../full.hg verify
$ hg pull bundle://../full.hg
- pulling from bundle://../full.hg
+ pulling from bundle:../full.hg
requesting all changes
adding changesets
adding manifests
@@ -310,7 +310,7 @@ Log -R full.hg in partial
Incoming full.hg in partial
$ hg incoming bundle://../full.hg
- comparing with bundle://../full.hg
+ comparing with bundle:../full.hg
searching for changes
changeset: 4:095197eb4973
parent: 0:f9ee2f85a263
More information about the Mercurial-devel
mailing list