[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