equal
deleted
inserted
replaced
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_V2_REQUIREMENT, |
1282 requirementsmod.DIRSTATE_V2_REQUIREMENT, |
1282 requirementsmod.DOTENCODE_REQUIREMENT, |
1283 requirementsmod.DOTENCODE_REQUIREMENT, |
1283 requirementsmod.FNCACHE_REQUIREMENT, |
1284 requirementsmod.FNCACHE_REQUIREMENT, |
1284 requirementsmod.GENERALDELTA_REQUIREMENT, |
1285 requirementsmod.GENERALDELTA_REQUIREMENT, |
1285 requirementsmod.INTERNAL_PHASE_REQUIREMENT, |
1286 requirementsmod.INTERNAL_PHASE_REQUIREMENT, |
1740 |
1741 |
1741 def _makedirstate(self): |
1742 def _makedirstate(self): |
1742 """Extension point for wrapping the dirstate per-repo.""" |
1743 """Extension point for wrapping the dirstate per-repo.""" |
1743 sparsematchfn = lambda: sparse.matcher(self) |
1744 sparsematchfn = lambda: sparse.matcher(self) |
1744 v2_req = requirementsmod.DIRSTATE_V2_REQUIREMENT |
1745 v2_req = requirementsmod.DIRSTATE_V2_REQUIREMENT |
|
1746 tk = requirementsmod.DIRSTATE_TRACKED_KEY_V1 |
1745 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 |
1746 |
1749 |
1747 return dirstate.dirstate( |
1750 return dirstate.dirstate( |
1748 self.vfs, |
1751 self.vfs, |
1749 self.ui, |
1752 self.ui, |
1750 self.root, |
1753 self.root, |
1751 self._dirstatevalidate, |
1754 self._dirstatevalidate, |
1752 sparsematchfn, |
1755 sparsematchfn, |
1753 self.nodeconstants, |
1756 self.nodeconstants, |
1754 use_dirstate_v2, |
1757 use_dirstate_v2, |
|
1758 use_tracked_key=use_tracked_key, |
1755 ) |
1759 ) |
1756 |
1760 |
1757 def _dirstatevalidate(self, node): |
1761 def _dirstatevalidate(self, node): |
1758 try: |
1762 try: |
1759 self.changelog.rev(node) |
1763 self.changelog.rev(node) |
3689 if createopts.get(b'sharedrelative'): |
3693 if createopts.get(b'sharedrelative'): |
3690 requirements.add(requirementsmod.RELATIVE_SHARED_REQUIREMENT) |
3694 requirements.add(requirementsmod.RELATIVE_SHARED_REQUIREMENT) |
3691 else: |
3695 else: |
3692 requirements.add(requirementsmod.SHARED_REQUIREMENT) |
3696 requirements.add(requirementsmod.SHARED_REQUIREMENT) |
3693 |
3697 |
|
3698 tracked_key = ui.configint(b'format', b'exp-dirstate-tracked-key-version') |
|
3699 if tracked_key: |
|
3700 if tracked_key != 1: |
|
3701 msg = _("ignoring unknown tracked key version: %d\n") |
|
3702 hint = _( |
|
3703 "see `hg help config.format.exp-dirstate-tracked-key-version" |
|
3704 ) |
|
3705 ui.warn(msg % tracked_key, hint=hint) |
|
3706 else: |
|
3707 requirements.add(requirementsmod.DIRSTATE_TRACKED_KEY_V1) |
|
3708 |
3694 return requirements |
3709 return requirements |
3695 |
3710 |
3696 |
3711 |
3697 def checkrequirementscompat(ui, requirements): |
3712 def checkrequirementscompat(ui, requirements): |
3698 """Checks compatibility of repository requirements enabled and disabled. |
3713 """Checks compatibility of repository requirements enabled and disabled. |