# HG changeset patch # User Patrick Mezard # Date 1225234441 -3600 # Node ID 5ad99abfab79576b46058769a271f037f61d37be # Parent ac81ffac0f353419802e42f66d71b0682459acde url: detect scheme with a regexp instead of urlsplit() The latter says 'c' is a scheme in 'c:\foo\bar' diff -r ac81ffac0f35 -r 5ad99abfab79 mercurial/url.py --- a/mercurial/url.py Tue Oct 28 22:24:41 2008 +0100 +++ b/mercurial/url.py Tue Oct 28 23:54:01 2008 +0100 @@ -298,8 +298,13 @@ 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 = urlparse.urlsplit(url)[0] + 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)