From patchwork Fri Oct 15 08:18:35 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: D11671: path: add a new argument to control path validation From: phabricator X-Patchwork-Id: 49995 Message-Id: To: Phabricator Cc: mercurial-devel@mercurial-scm.org Date: Fri, 15 Oct 2021 08:18:35 +0000 marmoute created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REVISION SUMMARY During pull, unvalidated path might be used, having the option to do so directly will allow use to simplify some code and unlock more `path` usage later in the series. REPOSITORY rHG Mercurial BRANCH default REVISION DETAIL https://phab.mercurial-scm.org/D11671 AFFECTED FILES mercurial/utils/urlutil.py CHANGE DETAILS To: marmoute, #hg-reviewers Cc: mercurial-patches, mercurial-devel diff --git a/mercurial/utils/urlutil.py b/mercurial/utils/urlutil.py --- a/mercurial/utils/urlutil.py +++ b/mercurial/utils/urlutil.py @@ -818,7 +818,14 @@ class path(object): """Represents an individual path and its configuration.""" - def __init__(self, ui=None, name=None, rawloc=None, suboptions=None): + def __init__( + self, + ui=None, + name=None, + rawloc=None, + suboptions=None, + validate_path=True, + ): """Construct a path from its config options. ``ui`` is the ``ui`` instance the path is coming from. @@ -856,7 +863,8 @@ self.rawloc = rawloc self.loc = b'%s' % u - self._validate_path() + if validate_path: + self._validate_path() _path, sub_opts = ui.configsuboptions(b'paths', b'*') self._own_sub_opts = {}