[Request] [+ ] D8912: repository: introduce constant for internal phase repo requirement and use it

pulkit (Pulkit Goyal) phabricator at mercurial-scm.org
Fri Aug 7 12:45:59 UTC 2020


pulkit created this revision.
Herald added a reviewer: hg-reviewers.
Herald added a subscriber: mercurial-patches.

REVISION SUMMARY
  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.

REPOSITORY
  rHG Mercurial

BRANCH
  default

REVISION DETAIL
  https://phab.mercurial-scm.org/D8912

AFFECTED FILES
  mercurial/interfaces/repository.py
  mercurial/localrepo.py
  mercurial/phases.py

CHANGE DETAILS

diff --git a/mercurial/phases.py b/mercurial/phases.py
--- a/mercurial/phases.py
+++ b/mercurial/phases.py
@@ -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):
diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py
--- a/mercurial/localrepo.py
+++ b/mercurial/localrepo.py
@@ -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)
diff --git a/mercurial/interfaces/repository.py b/mercurial/interfaces/repository.py
--- a/mercurial/interfaces/repository.py
+++ b/mercurial/interfaces/repository.py
@@ -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.



To: pulkit, #hg-reviewers
Cc: mercurial-patches, mercurial-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mercurial-scm.org/pipermail/mercurial-patches/attachments/20200807/f8768682/attachment-0001.html>


More information about the Mercurial-patches mailing list