comparison mercurial/localrepo.py @ 39325:7a9f15ed3b96

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 clients touching a repository that uses internal phase supports the feature.
author Boris Feld <boris.feld@octobus.net>
date Thu, 24 May 2018 09:59:10 +0200
parents 46da52f4b820
children 5763216ba311
comparison
equal deleted inserted replaced
39324:06c976acc581 39325:7a9f15ed3b96
392 'fncache', 392 'fncache',
393 'shared', 393 'shared',
394 'relshared', 394 'relshared',
395 'dotencode', 395 'dotencode',
396 'exp-sparse', 396 'exp-sparse',
397 'internal-phase'
397 } 398 }
398 openerreqs = { 399 openerreqs = {
399 'revlogv1', 400 'revlogv1',
400 'generaldelta', 401 'generaldelta',
401 'treemanifest', 402 'treemanifest',
2425 if revlogv2 == 'enable-unstable-format-and-corrupt-my-data': 2426 if revlogv2 == 'enable-unstable-format-and-corrupt-my-data':
2426 requirements.remove('revlogv1') 2427 requirements.remove('revlogv1')
2427 # generaldelta is implied by revlogv2. 2428 # generaldelta is implied by revlogv2.
2428 requirements.discard('generaldelta') 2429 requirements.discard('generaldelta')
2429 requirements.add(REVLOGV2_REQUIREMENT) 2430 requirements.add(REVLOGV2_REQUIREMENT)
2431 # experimental config: format.internal-phase
2432 if repo.ui.configbool('format', 'internal-phase'):
2433 requirements.add('internal-phase')
2430 2434
2431 return requirements 2435 return requirements