D10431: urlutil: remove usage of `ui.expandpath` in `get_clone_path`
marmoute (Pierre-Yves David)
phabricator at mercurial-scm.org
Wed Apr 14 23:41:04 UTC 2021
marmoute created this revision.
Herald added a reviewer: hg-reviewers.
Herald added a subscriber: mercurial-patches.
REVISION SUMMARY
We want to deprecate `ui.expandpath` and simplify the code before adding more
complexity in the form of `[paths]` entry pointing to multiple url. So we inline
the relevant bits.
REPOSITORY
rHG Mercurial
BRANCH
default
REVISION DETAIL
https://phab.mercurial-scm.org/D10431
AFFECTED FILES
mercurial/utils/urlutil.py
CHANGE DETAILS
diff --git a/mercurial/utils/urlutil.py b/mercurial/utils/urlutil.py
--- a/mercurial/utils/urlutil.py
+++ b/mercurial/utils/urlutil.py
@@ -530,9 +530,25 @@
def get_clone_path(ui, source, default_branches=()):
"""return the `(origsource, path, branch)` selected as clone source"""
- url = ui.expandpath(source)
- path, branch = parseurl(url, default_branches)
- return url, path, branch
+ if source is None:
+ if b'default' in ui.paths:
+ url = ui.paths[b'default'].rawloc
+ else:
+ # XXX this is the historical default behavior, but that is not
+ # great, consider breaking BC on this.
+ url = b'default'
+ else:
+ if source in ui.paths:
+ url = ui.paths[source].rawloc
+ else:
+ # Try to resolve as a local path or URI.
+ try:
+ # we pass the ui instance are warning might need to be issued
+ url = path(ui, None, rawloc=source).rawloc
+ except ValueError:
+ url = source
+ clone_path, branch = parseurl(url, default_branches)
+ return url, clone_path, branch
def parseurl(path, branches=None):
To: marmoute, #hg-reviewers
Cc: mercurial-patches, mercurial-devel
More information about the Mercurial-devel
mailing list