From patchwork Wed Jan 12 14:11:37 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: D11996: share-safe: add support for static-http repository From: phabricator X-Patchwork-Id: 50319 Message-Id: To: Phabricator Cc: mercurial-devel@mercurial-scm.org Date: Wed, 12 Jan 2022 14:11:37 +0000 marmoute created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REVISION SUMMARY We need to read the second requirements file in the static-http case too. Otherwise, static-http would miss most of the requirements and misbehave. REPOSITORY rHG Mercurial BRANCH default REVISION DETAIL https://phab.mercurial-scm.org/D11996 AFFECTED FILES mercurial/statichttprepo.py CHANGE DETAILS To: marmoute, #hg-reviewers Cc: mercurial-patches, mercurial-devel diff --git a/mercurial/statichttprepo.py b/mercurial/statichttprepo.py --- a/mercurial/statichttprepo.py +++ b/mercurial/statichttprepo.py @@ -22,6 +22,7 @@ namespaces, pathutil, pycompat, + requirements as requirementsmod, url, util, vfs as vfsmod, @@ -197,6 +198,9 @@ # we do not care about empty old-style repositories here msg = _(b"'%s' does not appear to be an hg repository") % path raise error.RepoError(msg) + if requirementsmod.SHARESAFE_REQUIREMENT in requirements: + storevfs = vfsclass(self.vfs.join(b'store')) + requirements |= set(storevfs.read(b'requires').splitlines()) supportedrequirements = localrepo.gathersupportedrequirements(ui) localrepo.ensurerequirementsrecognized(