[PATCH 14 of 25 RFC] phases: add a repository requirement about internal phase
Boris Feld
boris.feld at octobus.net
Thu Jun 7 10:11:13 EDT 2018
# HG changeset patch
# User Boris Feld <boris.feld at octobus.net>
# Date 1527148750 -7200
# Thu May 24 09:59:10 2018 +0200
# Node ID d6ac390e2ebdf51f095168fe314dd956db09e2b9
# Parent e7b11679c4b43c3933bda699fc387bbfd496762e
# EXP-Topic internal-phase
# Available At https://bitbucket.org/octobus/mercurial-devel/
# hg pull https://bitbucket.org/octobus/mercurial-devel/ -r d6ac390e2ebd
phases: add a repository requirement about internal phase
For internal changeset to be properly hidden, the client version needs to
support it. So we introduce a new repository requirement that will make sure
client touching a repository that use internal phase all supports the feature.
diff --git a/mercurial/configitems.py b/mercurial/configitems.py
--- a/mercurial/configitems.py
+++ b/mercurial/configitems.py
@@ -648,6 +648,9 @@ coreconfigitem('format', 'usegeneraldelt
coreconfigitem('format', 'usestore',
default=True,
)
+coreconfigitem('format', 'internal-phase',
+ default=False,
+)
coreconfigitem('fsmonitor', 'warn_when_unused',
default=True,
)
diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py
--- a/mercurial/localrepo.py
+++ b/mercurial/localrepo.py
@@ -384,6 +384,7 @@ class localrepository(object):
'relshared',
'dotencode',
'exp-sparse',
+ 'internal-phase'
}
openerreqs = {
'revlogv1',
@@ -2374,5 +2375,8 @@ def newreporequirements(repo):
# generaldelta is implied by revlogv2.
requirements.discard('generaldelta')
requirements.add(REVLOGV2_REQUIREMENT)
+ # experimental config: format.internal-phase
+ if repo.ui.configbool('format', 'internal-phase'):
+ requirements.add('internal-phase')
return requirements
More information about the Mercurial-devel
mailing list