comparison mercurial/localrepo.py @ 46705:fd55a9eb1507

revlogv2: allow upgrading to v2 Revlogv2 implies sidedata. Right now sidedata is not really used in production, and Revlogv2 will be used for the first production-ready version of sidedata support. Differential Revision: https://phab.mercurial-scm.org/D9844
author Rapha?l Gom?s <rgomes@octobus.net>
date Wed, 20 Jan 2021 21:14:06 +0100
parents 6f4a481f182a
children a41565bef69f
comparison
equal deleted inserted replaced
46704:913485776542 46705:fd55a9eb1507
3445 if ui.configbool(b'format', b'sparse-revlog'): 3445 if ui.configbool(b'format', b'sparse-revlog'):
3446 requirements.add(requirementsmod.SPARSEREVLOG_REQUIREMENT) 3446 requirements.add(requirementsmod.SPARSEREVLOG_REQUIREMENT)
3447 3447
3448 # experimental config: format.exp-use-side-data 3448 # experimental config: format.exp-use-side-data
3449 if ui.configbool(b'format', b'exp-use-side-data'): 3449 if ui.configbool(b'format', b'exp-use-side-data'):
3450 requirements.discard(requirementsmod.REVLOGV1_REQUIREMENT)
3451 requirements.add(requirementsmod.REVLOGV2_REQUIREMENT)
3450 requirements.add(requirementsmod.SIDEDATA_REQUIREMENT) 3452 requirements.add(requirementsmod.SIDEDATA_REQUIREMENT)
3451 # experimental config: format.exp-use-copies-side-data-changeset 3453 # experimental config: format.exp-use-copies-side-data-changeset
3452 if ui.configbool(b'format', b'exp-use-copies-side-data-changeset'): 3454 if ui.configbool(b'format', b'exp-use-copies-side-data-changeset'):
3455 requirements.discard(requirementsmod.REVLOGV1_REQUIREMENT)
3456 requirements.add(requirementsmod.REVLOGV2_REQUIREMENT)
3453 requirements.add(requirementsmod.SIDEDATA_REQUIREMENT) 3457 requirements.add(requirementsmod.SIDEDATA_REQUIREMENT)
3454 requirements.add(requirementsmod.COPIESSDC_REQUIREMENT) 3458 requirements.add(requirementsmod.COPIESSDC_REQUIREMENT)
3455 if ui.configbool(b'experimental', b'treemanifest'): 3459 if ui.configbool(b'experimental', b'treemanifest'):
3456 requirements.add(requirementsmod.TREEMANIFEST_REQUIREMENT) 3460 requirements.add(requirementsmod.TREEMANIFEST_REQUIREMENT)
3457 3461
3458 revlogv2 = ui.config(b'experimental', b'revlogv2') 3462 revlogv2 = ui.config(b'experimental', b'revlogv2')
3459 if revlogv2 == b'enable-unstable-format-and-corrupt-my-data': 3463 if revlogv2 == b'enable-unstable-format-and-corrupt-my-data':
3460 requirements.remove(requirementsmod.REVLOGV1_REQUIREMENT) 3464 requirements.discard(requirementsmod.REVLOGV1_REQUIREMENT)
3461 # generaldelta is implied by revlogv2. 3465 # generaldelta is implied by revlogv2.
3462 requirements.discard(requirementsmod.GENERALDELTA_REQUIREMENT) 3466 requirements.discard(requirementsmod.GENERALDELTA_REQUIREMENT)
3463 requirements.add(requirementsmod.REVLOGV2_REQUIREMENT) 3467 requirements.add(requirementsmod.REVLOGV2_REQUIREMENT)
3464 # experimental config: format.internal-phase 3468 # experimental config: format.internal-phase
3465 if ui.configbool(b'format', b'internal-phase'): 3469 if ui.configbool(b'format', b'internal-phase'):