# HG changeset patch # User Brodie Rao # Date 1301540529 25200 # Node ID ec16953503610b95bb0c49739f3b41c76bfd9352 # Parent ad179644750fb254517d822541f4e4a3bd2005e2 hg: use url.url to parse branch names in parseurl() diff -r ad179644750f -r ec1695350361 mercurial/hg.py --- a/mercurial/hg.py Wed Mar 30 20:02:07 2011 -0700 +++ b/mercurial/hg.py Wed Mar 30 20:02:09 2011 -0700 @@ -51,13 +51,15 @@ revs.append(hashbranch) return revs, revs[0] -def parseurl(url, branches=None): +def parseurl(path, branches=None): '''parse url#branch, returning (url, (branch, branches))''' - if '#' not in url: - return url, (None, branches or []) - url, branch = url.split('#', 1) - return url, (branch, branches or []) + u = url.url(path) + if not u.fragment: + return path, (None, branches or []) + branch = u.fragment + u.fragment = None + return str(u), (branch, branches or []) schemes = { 'bundle': bundlerepo,