repository: introduce constant for internal phase repo requirement and use it
authorPulkit Goyal <7895pulkit@gmail.com>
Fri, 07 Aug 2020 18:01:48 +0530
changeset 45356 f025b97f3758
parent 45355 a1f51c7dce0f
child 45357 27424779c5b8
repository: introduce constant for internal phase repo requirement and use it In future we will like to much cleaner logic around which requirement is for working copy and which can go in store. To start with that, we first need to de-clutter the requirement values spread around and replace them with constants. Differential Revision: https://phab.mercurial-scm.org/D8912
mercurial/interfaces/repository.py
mercurial/localrepo.py
mercurial/phases.py
--- a/mercurial/interfaces/repository.py	Sat Aug 08 10:06:32 2020 -0700
+++ b/mercurial/interfaces/repository.py	Fri Aug 07 18:01:48 2020 +0530
@@ -18,6 +18,10 @@
 # Enables sparse working directory usage
 SPARSE_REQUIREMENT = b'exp-sparse'
 
+# Enables the internal phase which is used to hide changesets instead
+# of stripping them
+INTERNAL_PHASE_REQUIREMENT = b'internal-phase'
+
 # Local repository feature string.
 
 # Revlogs are being used for file storage.
--- a/mercurial/localrepo.py	Sat Aug 08 10:06:32 2020 -0700
+++ b/mercurial/localrepo.py	Fri Aug 07 18:01:48 2020 +0530
@@ -1068,7 +1068,7 @@
         b'relshared',
         b'dotencode',
         repository.SPARSE_REQUIREMENT,
-        b'internal-phase',
+        repository.INTERNAL_PHASE_REQUIREMENT,
     }
 
     # list of prefix for file which can be written without 'wlock'
@@ -3324,7 +3324,7 @@
         requirements.add(REVLOGV2_REQUIREMENT)
     # experimental config: format.internal-phase
     if ui.configbool(b'format', b'internal-phase'):
-        requirements.add(b'internal-phase')
+        requirements.add(repository.INTERNAL_PHASE_REQUIREMENT)
 
     if createopts.get(b'narrowfiles'):
         requirements.add(repository.NARROW_REQUIREMENT)
--- a/mercurial/phases.py	Sat Aug 08 10:06:32 2020 -0700
+++ b/mercurial/phases.py	Fri Aug 07 18:01:48 2020 +0530
@@ -125,6 +125,7 @@
     txnutil,
     util,
 )
+from .interfaces import repository
 
 _fphasesentry = struct.Struct(b'>i20s')
 
@@ -154,7 +155,7 @@
 
 def supportinternal(repo):
     """True if the internal phase can be used on a repository"""
-    return b'internal-phase' in repo.requirements
+    return repository.INTERNAL_PHASE_REQUIREMENT in repo.requirements
 
 
 def _readroots(repo, phasedefaults=None):