mercurial/localrepo.py
changeset 47277 ed0d54b20c5b
parent 47265 a07381751dc9
child 47279 40b51c28b242
equal deleted inserted replaced
47276:9cc9b4a25248 47277:ed0d54b20c5b
   885 def gathersupportedrequirements(ui):
   885 def gathersupportedrequirements(ui):
   886     """Determine the complete set of recognized requirements."""
   886     """Determine the complete set of recognized requirements."""
   887     # Start with all requirements supported by this file.
   887     # Start with all requirements supported by this file.
   888     supported = set(localrepository._basesupported)
   888     supported = set(localrepository._basesupported)
   889 
   889 
       
   890     if dirstate.SUPPORTS_DIRSTATE_V2:
       
   891         supported.add(requirementsmod.DIRSTATE_V2_REQUIREMENT)
       
   892 
   890     # Execute ``featuresetupfuncs`` entries if they belong to an extension
   893     # Execute ``featuresetupfuncs`` entries if they belong to an extension
   891     # relevant to this ui instance.
   894     # relevant to this ui instance.
   892     modules = {m.__name__ for n, m in extensions.extensions(ui)}
   895     modules = {m.__name__ for n, m in extensions.extensions(ui)}
   893 
   896 
   894     for fn in featuresetupfuncs:
   897     for fn in featuresetupfuncs:
  3525     if scmutil.gdinitconfig(ui):
  3528     if scmutil.gdinitconfig(ui):
  3526         requirements.add(requirementsmod.GENERALDELTA_REQUIREMENT)
  3529         requirements.add(requirementsmod.GENERALDELTA_REQUIREMENT)
  3527         if ui.configbool(b'format', b'sparse-revlog'):
  3530         if ui.configbool(b'format', b'sparse-revlog'):
  3528             requirements.add(requirementsmod.SPARSEREVLOG_REQUIREMENT)
  3531             requirements.add(requirementsmod.SPARSEREVLOG_REQUIREMENT)
  3529 
  3532 
       
  3533     # experimental config: format.exp-dirstate-v2
       
  3534     if ui.configbool(b'format', b'exp-dirstate-v2'):
       
  3535         if dirstate.SUPPORTS_DIRSTATE_V2:
       
  3536             requirements.add(requirementsmod.DIRSTATE_V2_REQUIREMENT)
       
  3537         else:
       
  3538             raise error.Abort(
       
  3539                 _(
       
  3540                     b"dirstate v2 format requested by config "
       
  3541                     b"but not supported (requires Rust extensions)"
       
  3542                 )
       
  3543             )
       
  3544 
  3530     # experimental config: format.exp-use-copies-side-data-changeset
  3545     # experimental config: format.exp-use-copies-side-data-changeset
  3531     if ui.configbool(b'format', b'exp-use-copies-side-data-changeset'):
  3546     if ui.configbool(b'format', b'exp-use-copies-side-data-changeset'):
  3532         requirements.add(requirementsmod.CHANGELOGV2_REQUIREMENT)
  3547         requirements.add(requirementsmod.CHANGELOGV2_REQUIREMENT)
  3533         requirements.add(requirementsmod.COPIESSDC_REQUIREMENT)
  3548         requirements.add(requirementsmod.COPIESSDC_REQUIREMENT)
  3534     if ui.configbool(b'experimental', b'treemanifest'):
  3549     if ui.configbool(b'experimental', b'treemanifest'):