mercurial/localrepo.py
changeset 48793 6e559391f96e
parent 48792 8bbb1abb9d19
child 48835 a0da5075bca3
child 49148 db3f8e5cc965
equal deleted inserted replaced
48792:8bbb1abb9d19 48793:6e559391f96e
  1276 
  1276 
  1277     _basesupported = {
  1277     _basesupported = {
  1278         requirementsmod.BOOKMARKS_IN_STORE_REQUIREMENT,
  1278         requirementsmod.BOOKMARKS_IN_STORE_REQUIREMENT,
  1279         requirementsmod.CHANGELOGV2_REQUIREMENT,
  1279         requirementsmod.CHANGELOGV2_REQUIREMENT,
  1280         requirementsmod.COPIESSDC_REQUIREMENT,
  1280         requirementsmod.COPIESSDC_REQUIREMENT,
  1281         requirementsmod.DIRSTATE_TRACKED_KEY_V1,
  1281         requirementsmod.DIRSTATE_TRACKED_HINT_V1,
  1282         requirementsmod.DIRSTATE_V2_REQUIREMENT,
  1282         requirementsmod.DIRSTATE_V2_REQUIREMENT,
  1283         requirementsmod.DOTENCODE_REQUIREMENT,
  1283         requirementsmod.DOTENCODE_REQUIREMENT,
  1284         requirementsmod.FNCACHE_REQUIREMENT,
  1284         requirementsmod.FNCACHE_REQUIREMENT,
  1285         requirementsmod.GENERALDELTA_REQUIREMENT,
  1285         requirementsmod.GENERALDELTA_REQUIREMENT,
  1286         requirementsmod.INTERNAL_PHASE_REQUIREMENT,
  1286         requirementsmod.INTERNAL_PHASE_REQUIREMENT,
  1741 
  1741 
  1742     def _makedirstate(self):
  1742     def _makedirstate(self):
  1743         """Extension point for wrapping the dirstate per-repo."""
  1743         """Extension point for wrapping the dirstate per-repo."""
  1744         sparsematchfn = lambda: sparse.matcher(self)
  1744         sparsematchfn = lambda: sparse.matcher(self)
  1745         v2_req = requirementsmod.DIRSTATE_V2_REQUIREMENT
  1745         v2_req = requirementsmod.DIRSTATE_V2_REQUIREMENT
  1746         tk = requirementsmod.DIRSTATE_TRACKED_KEY_V1
  1746         th = requirementsmod.DIRSTATE_TRACKED_HINT_V1
  1747         use_dirstate_v2 = v2_req in self.requirements
  1747         use_dirstate_v2 = v2_req in self.requirements
  1748         use_tracked_key = tk in self.requirements
  1748         use_tracked_hint = th in self.requirements
  1749 
  1749 
  1750         return dirstate.dirstate(
  1750         return dirstate.dirstate(
  1751             self.vfs,
  1751             self.vfs,
  1752             self.ui,
  1752             self.ui,
  1753             self.root,
  1753             self.root,
  1754             self._dirstatevalidate,
  1754             self._dirstatevalidate,
  1755             sparsematchfn,
  1755             sparsematchfn,
  1756             self.nodeconstants,
  1756             self.nodeconstants,
  1757             use_dirstate_v2,
  1757             use_dirstate_v2,
  1758             use_tracked_key=use_tracked_key,
  1758             use_tracked_hint=use_tracked_hint,
  1759         )
  1759         )
  1760 
  1760 
  1761     def _dirstatevalidate(self, node):
  1761     def _dirstatevalidate(self, node):
  1762         try:
  1762         try:
  1763             self.changelog.rev(node)
  1763             self.changelog.rev(node)
  3693         if createopts.get(b'sharedrelative'):
  3693         if createopts.get(b'sharedrelative'):
  3694             requirements.add(requirementsmod.RELATIVE_SHARED_REQUIREMENT)
  3694             requirements.add(requirementsmod.RELATIVE_SHARED_REQUIREMENT)
  3695         else:
  3695         else:
  3696             requirements.add(requirementsmod.SHARED_REQUIREMENT)
  3696             requirements.add(requirementsmod.SHARED_REQUIREMENT)
  3697 
  3697 
  3698     if ui.configbool(b'format', b'use-dirstate-tracked-key'):
  3698     if ui.configbool(b'format', b'use-dirstate-tracked-hint'):
  3699         version = ui.configint(b'format', b'use-dirstate-tracked-key.version')
  3699         version = ui.configint(b'format', b'use-dirstate-tracked-hint.version')
  3700         msg = _("ignoring unknown tracked key version: %d\n")
  3700         msg = _("ignoring unknown tracked key version: %d\n")
  3701         hint = _("see `hg help config.format.use-dirstate-tracked-key-version")
  3701         hint = _("see `hg help config.format.use-dirstate-tracked-hint-version")
  3702         if version != 1:
  3702         if version != 1:
  3703             ui.warn(msg % version, hint=hint)
  3703             ui.warn(msg % version, hint=hint)
  3704         else:
  3704         else:
  3705             requirements.add(requirementsmod.DIRSTATE_TRACKED_KEY_V1)
  3705             requirements.add(requirementsmod.DIRSTATE_TRACKED_HINT_V1)
  3706 
  3706 
  3707     return requirements
  3707     return requirements
  3708 
  3708 
  3709 
  3709 
  3710 def checkrequirementscompat(ui, requirements):
  3710 def checkrequirementscompat(ui, requirements):