Mercurial > public > mercurial-scm > hg
comparison mercurial/localrepo.py @ 47263:6c84fc9c9a90
changelogv2: introduce a "changelogv2" feature
Right now, this means using revlogv2, but only for the changelog. We will have
the format more unique in future changesets.
Differential Revision: https://phab.mercurial-scm.org/D10660
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Mon, 29 Mar 2021 22:40:54 +0200 |
parents | ccdd280d1d0d |
children | a07381751dc9 |
comparison
equal
deleted
inserted
replaced
47262:468e451fc0de | 47263:6c84fc9c9a90 |
---|---|
735 hgvfs.createmode = store.createmode | 735 hgvfs.createmode = store.createmode |
736 | 736 |
737 storevfs = store.vfs | 737 storevfs = store.vfs |
738 storevfs.options = resolvestorevfsoptions(ui, requirements, features) | 738 storevfs.options = resolvestorevfsoptions(ui, requirements, features) |
739 | 739 |
740 if requirementsmod.REVLOGV2_REQUIREMENT in requirements: | 740 if ( |
741 requirementsmod.REVLOGV2_REQUIREMENT in requirements | |
742 or requirementsmod.CHANGELOGV2_REQUIREMENT in requirements | |
743 ): | |
741 features.add(repository.REPO_FEATURE_SIDE_DATA) | 744 features.add(repository.REPO_FEATURE_SIDE_DATA) |
742 # the revlogv2 docket introduced race condition that we need to fix | 745 # the revlogv2 docket introduced race condition that we need to fix |
743 features.discard(repository.REPO_FEATURE_STREAM_CLONE) | 746 features.discard(repository.REPO_FEATURE_STREAM_CLONE) |
744 | 747 |
745 # The cache vfs is used to manage cache files. | 748 # The cache vfs is used to manage cache files. |
1019 | 1022 |
1020 if requirementsmod.REVLOGV1_REQUIREMENT in requirements: | 1023 if requirementsmod.REVLOGV1_REQUIREMENT in requirements: |
1021 options[b'revlogv1'] = True | 1024 options[b'revlogv1'] = True |
1022 if requirementsmod.REVLOGV2_REQUIREMENT in requirements: | 1025 if requirementsmod.REVLOGV2_REQUIREMENT in requirements: |
1023 options[b'revlogv2'] = True | 1026 options[b'revlogv2'] = True |
1027 if requirementsmod.CHANGELOGV2_REQUIREMENT in requirements: | |
1028 options[b'changelogv2'] = True | |
1024 | 1029 |
1025 if requirementsmod.GENERALDELTA_REQUIREMENT in requirements: | 1030 if requirementsmod.GENERALDELTA_REQUIREMENT in requirements: |
1026 options[b'generaldelta'] = True | 1031 options[b'generaldelta'] = True |
1027 | 1032 |
1028 # experimental config: format.chunkcachesize | 1033 # experimental config: format.chunkcachesize |
1218 requirementsmod.REVLOGV1_REQUIREMENT, | 1223 requirementsmod.REVLOGV1_REQUIREMENT, |
1219 requirementsmod.GENERALDELTA_REQUIREMENT, | 1224 requirementsmod.GENERALDELTA_REQUIREMENT, |
1220 requirementsmod.TREEMANIFEST_REQUIREMENT, | 1225 requirementsmod.TREEMANIFEST_REQUIREMENT, |
1221 requirementsmod.COPIESSDC_REQUIREMENT, | 1226 requirementsmod.COPIESSDC_REQUIREMENT, |
1222 requirementsmod.REVLOGV2_REQUIREMENT, | 1227 requirementsmod.REVLOGV2_REQUIREMENT, |
1228 requirementsmod.CHANGELOGV2_REQUIREMENT, | |
1223 requirementsmod.SPARSEREVLOG_REQUIREMENT, | 1229 requirementsmod.SPARSEREVLOG_REQUIREMENT, |
1224 requirementsmod.NODEMAP_REQUIREMENT, | 1230 requirementsmod.NODEMAP_REQUIREMENT, |
1225 bookmarks.BOOKMARKS_IN_STORE_REQUIREMENT, | 1231 bookmarks.BOOKMARKS_IN_STORE_REQUIREMENT, |
1226 requirementsmod.SHARESAFE_REQUIREMENT, | 1232 requirementsmod.SHARESAFE_REQUIREMENT, |
1227 } | 1233 } |
3527 requirements.add(requirementsmod.REVLOGV2_REQUIREMENT) | 3533 requirements.add(requirementsmod.REVLOGV2_REQUIREMENT) |
3528 requirements.add(requirementsmod.COPIESSDC_REQUIREMENT) | 3534 requirements.add(requirementsmod.COPIESSDC_REQUIREMENT) |
3529 if ui.configbool(b'experimental', b'treemanifest'): | 3535 if ui.configbool(b'experimental', b'treemanifest'): |
3530 requirements.add(requirementsmod.TREEMANIFEST_REQUIREMENT) | 3536 requirements.add(requirementsmod.TREEMANIFEST_REQUIREMENT) |
3531 | 3537 |
3538 changelogv2 = ui.config(b'format', b'exp-use-changelog-v2') | |
3539 if changelogv2 == b'enable-unstable-format-and-corrupt-my-data': | |
3540 requirements.add(requirementsmod.CHANGELOGV2_REQUIREMENT) | |
3541 | |
3532 revlogv2 = ui.config(b'experimental', b'revlogv2') | 3542 revlogv2 = ui.config(b'experimental', b'revlogv2') |
3533 if revlogv2 == b'enable-unstable-format-and-corrupt-my-data': | 3543 if revlogv2 == b'enable-unstable-format-and-corrupt-my-data': |
3534 requirements.discard(requirementsmod.REVLOGV1_REQUIREMENT) | 3544 requirements.discard(requirementsmod.REVLOGV1_REQUIREMENT) |
3535 requirements.add(requirementsmod.REVLOGV2_REQUIREMENT) | 3545 requirements.add(requirementsmod.REVLOGV2_REQUIREMENT) |
3536 # experimental config: format.internal-phase | 3546 # experimental config: format.internal-phase |