[Updated] D8913: scmutil: introduce filterrequirements() to split reqs into wc and store ones
pulkit (Pulkit Goyal)
phabricator at mercurial-scm.org
Mon Aug 10 15:25:20 UTC 2020
pulkit edited the summary of this revision.
pulkit updated this revision to Diff 22380.
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D8913?vs=22327&id=22380
BRANCH
default
CHANGES SINCE LAST ACTION
https://phab.mercurial-scm.org/D8913/new/
REVISION DETAIL
https://phab.mercurial-scm.org/D8913
AFFECTED FILES
mercurial/scmutil.py
CHANGE DETAILS
diff --git a/mercurial/scmutil.py b/mercurial/scmutil.py
--- a/mercurial/scmutil.py
+++ b/mercurial/scmutil.py
@@ -38,6 +38,7 @@
phases,
policy,
pycompat,
+ requirements as requirementsmod,
revsetlang,
similar,
smartset,
@@ -1470,11 +1471,34 @@
repo._quick_access_changeid_invalidate()
+def filterrequirements(requirements):
+ """ filters the requirements into two sets:
+
+ wcreq: requirements which should be written in .hg/requires
+ storereq: which should be written in .hg/store/requires
+
+ Returns (wcreq, storereq)
+ """
+ if False:
+ wc, store = set(), set()
+ for r in requirements:
+ if r in requirementsmod.WORKING_DIR_REQUIREMENTS:
+ wc.add(r)
+ else:
+ store.add(r)
+ return wc, store
+ return requirements, None
+
+
def writereporequirements(repo, requirements=None):
""" writes requirements for the repo to .hg/requires """
if requirements:
repo.requirements = requirements
- writerequires(repo.vfs, repo.requirements)
+ wcreq, storereq = filterrequirements(repo.requirements)
+ if wcreq:
+ writerequires(repo.vfs, wcreq)
+ if storereq:
+ writerequires(repo.svfs, storereq)
def writerequires(opener, requirements):
To: pulkit, #hg-reviewers, indygreg
Cc: indygreg, mercurial-patches
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mercurial-scm.org/pipermail/mercurial-patches/attachments/20200810/84311fe0/attachment-0002.html>
More information about the Mercurial-patches
mailing list