diff mercurial/scmutil.py @ 45106:a03c177a4679

scmutil: add writereporequirements() and route requires writing through it In upcoming patches, to implement Share Safe plan we will be introducing requires file in store. We need to route all callers to a single function to check for a share-safe requirement and if present, write requirements to .hg/store/requires instead. After this patch, callers directly calling scmutil.writerequires() are only those where we don't have the repo object, for example when initializing the repository object itself. Differential Revision: https://phab.mercurial-scm.org/D8631
author Pulkit Goyal <7895pulkit@gmail.com>
date Tue, 14 Apr 2020 16:43:54 +0530
parents a56ba57c837d
children 9a99ab8217bd
line wrap: on
line diff
--- a/mercurial/scmutil.py	Tue Jul 14 11:28:06 2020 -0700
+++ b/mercurial/scmutil.py	Tue Apr 14 16:43:54 2020 +0530
@@ -1470,6 +1470,13 @@
     repo._quick_access_changeid_invalidate()
 
 
+def writereporequirements(repo, requirements=None):
+    """ writes requirements for the repo to .hg/requires """
+    if requirements:
+        repo.requirements = requirements
+    writerequires(repo.vfs, repo.requirements)
+
+
 def writerequires(opener, requirements):
     with opener(b'requires', b'w', atomictemp=True) as fp:
         for r in sorted(requirements):