mercurial/localrepo.py
changeset 47274 6c84fc9c9a90
parent 47271 ccdd280d1d0d
child 47276 a07381751dc9
equal deleted inserted replaced
47273:468e451fc0de 47274: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