mercurial/localrepo.py
changeset 46626 ee91966aec0f
parent 46607 e9901d01d135
child 46627 f4c325bf80fc
equal deleted inserted replaced
46625:3941fe53670d 46626:ee91966aec0f
   972     # requirement, we have to assume the repo is using revlog version 0.
   972     # requirement, we have to assume the repo is using revlog version 0.
   973     # This revlog format is super old and we don't bother trying to parse
   973     # This revlog format is super old and we don't bother trying to parse
   974     # opener options for it because those options wouldn't do anything
   974     # opener options for it because those options wouldn't do anything
   975     # meaningful on such old repos.
   975     # meaningful on such old repos.
   976     if (
   976     if (
   977         b'revlogv1' in requirements
   977         requirementsmod.REVLOGV1_REQUIREMENT in requirements
   978         or requirementsmod.REVLOGV2_REQUIREMENT in requirements
   978         or requirementsmod.REVLOGV2_REQUIREMENT in requirements
   979     ):
   979     ):
   980         options.update(resolverevlogstorevfsoptions(ui, requirements, features))
   980         options.update(resolverevlogstorevfsoptions(ui, requirements, features))
   981     else:  # explicitly mark repo as using revlogv0
   981     else:  # explicitly mark repo as using revlogv0
   982         options[b'revlogv0'] = True
   982         options[b'revlogv0'] = True
   996     """Resolve opener options specific to revlogs."""
   996     """Resolve opener options specific to revlogs."""
   997 
   997 
   998     options = {}
   998     options = {}
   999     options[b'flagprocessors'] = {}
   999     options[b'flagprocessors'] = {}
  1000 
  1000 
  1001     if b'revlogv1' in requirements:
  1001     if requirementsmod.REVLOGV1_REQUIREMENT in requirements:
  1002         options[b'revlogv1'] = True
  1002         options[b'revlogv1'] = True
  1003     if requirementsmod.REVLOGV2_REQUIREMENT in requirements:
  1003     if requirementsmod.REVLOGV2_REQUIREMENT in requirements:
  1004         options[b'revlogv2'] = True
  1004         options[b'revlogv2'] = True
  1005 
  1005 
  1006     if b'generaldelta' in requirements:
  1006     if b'generaldelta' in requirements:
  1197     #  - manifestv2: An experimental new manifest format that allowed
  1197     #  - manifestv2: An experimental new manifest format that allowed
  1198     #    for stem compression of long paths. Experiment ended up not
  1198     #    for stem compression of long paths. Experiment ended up not
  1199     #    being successful (repository sizes went up due to worse delta
  1199     #    being successful (repository sizes went up due to worse delta
  1200     #    chains), and the code was deleted in 4.6.
  1200     #    chains), and the code was deleted in 4.6.
  1201     supportedformats = {
  1201     supportedformats = {
  1202         b'revlogv1',
  1202         requirementsmod.REVLOGV1_REQUIREMENT,
  1203         b'generaldelta',
  1203         b'generaldelta',
  1204         requirementsmod.TREEMANIFEST_REQUIREMENT,
  1204         requirementsmod.TREEMANIFEST_REQUIREMENT,
  1205         requirementsmod.COPIESSDC_REQUIREMENT,
  1205         requirementsmod.COPIESSDC_REQUIREMENT,
  1206         requirementsmod.REVLOGV2_REQUIREMENT,
  1206         requirementsmod.REVLOGV2_REQUIREMENT,
  1207         requirementsmod.SIDEDATA_REQUIREMENT,
  1207         requirementsmod.SIDEDATA_REQUIREMENT,
  3408                 b'storage backend: %s'
  3408                 b'storage backend: %s'
  3409             )
  3409             )
  3410             % createopts[b'backend']
  3410             % createopts[b'backend']
  3411         )
  3411         )
  3412 
  3412 
  3413     requirements = {b'revlogv1'}
  3413     requirements = {requirementsmod.REVLOGV1_REQUIREMENT}
  3414     if ui.configbool(b'format', b'usestore'):
  3414     if ui.configbool(b'format', b'usestore'):
  3415         requirements.add(b'store')
  3415         requirements.add(b'store')
  3416         if ui.configbool(b'format', b'usefncache'):
  3416         if ui.configbool(b'format', b'usefncache'):
  3417             requirements.add(b'fncache')
  3417             requirements.add(b'fncache')
  3418             if ui.configbool(b'format', b'dotencode'):
  3418             if ui.configbool(b'format', b'dotencode'):
  3456     if ui.configbool(b'experimental', b'treemanifest'):
  3456     if ui.configbool(b'experimental', b'treemanifest'):
  3457         requirements.add(requirementsmod.TREEMANIFEST_REQUIREMENT)
  3457         requirements.add(requirementsmod.TREEMANIFEST_REQUIREMENT)
  3458 
  3458 
  3459     revlogv2 = ui.config(b'experimental', b'revlogv2')
  3459     revlogv2 = ui.config(b'experimental', b'revlogv2')
  3460     if revlogv2 == b'enable-unstable-format-and-corrupt-my-data':
  3460     if revlogv2 == b'enable-unstable-format-and-corrupt-my-data':
  3461         requirements.remove(b'revlogv1')
  3461         requirements.remove(requirementsmod.REVLOGV1_REQUIREMENT)
  3462         # generaldelta is implied by revlogv2.
  3462         # generaldelta is implied by revlogv2.
  3463         requirements.discard(b'generaldelta')
  3463         requirements.discard(b'generaldelta')
  3464         requirements.add(requirementsmod.REVLOGV2_REQUIREMENT)
  3464         requirements.add(requirementsmod.REVLOGV2_REQUIREMENT)
  3465     # experimental config: format.internal-phase
  3465     # experimental config: format.internal-phase
  3466     if ui.configbool(b'format', b'internal-phase'):
  3466     if ui.configbool(b'format', b'internal-phase'):