# HG changeset patch # User Boris Feld <boris.f...@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 _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel