# HG changeset patch # User Pierre-Yves David # Date 1696924941 -7200 # Node ID 133f5a54ed9d684b4625909973fd0a274c326e05 # Parent 177e7d6bf875ad25f29a3e25c39fcae35975d774 revlog: create the revlog object at the repository level There is currently no value set in it, but we will be able to start centralise config parsing at the repository level. diff -r 177e7d6bf875 -r 133f5a54ed9d mercurial/localrepo.py --- a/mercurial/localrepo.py Tue Oct 10 10:02:13 2023 +0200 +++ b/mercurial/localrepo.py Tue Oct 10 10:02:21 2023 +0200 @@ -1068,6 +1068,10 @@ options = {} options[b'flagprocessors'] = {} + feature_config = options[b'feature-config'] = revlog.FeatureConfig() + data_config = options[b'data-config'] = revlog.DataConfig() + delta_config = options[b'delta-config'] = revlog.DeltaConfig() + if requirementsmod.REVLOGV1_REQUIREMENT in requirements: options[b'revlogv1'] = True if requirementsmod.REVLOGV2_REQUIREMENT in requirements: diff -r 177e7d6bf875 -r 133f5a54ed9d mercurial/revlog.py --- a/mercurial/revlog.py Tue Oct 10 10:02:13 2023 +0200 +++ b/mercurial/revlog.py Tue Oct 10 10:02:21 2023 +0200 @@ -444,15 +444,22 @@ assert target[0] in ALL_KINDS assert len(target) == 2 self.target = target - self.feature_config = FeatureConfig( - censorable=censorable, - canonical_parent_order=canonical_parent_order, - ) - self.data_config = DataConfig( - check_ambig=checkambig, - mmap_large_index=mmaplargeindex, - ) - self.delta_config = DeltaConfig() + if b'feature-config' in self.opener.options: + self.feature_config = self.opener.options[b'feature-config'].copy() + else: + self.feature_config = FeatureConfig() + self.feature_config.censorable = censorable + self.feature_config.canonical_parent_order = canonical_parent_order + if b'data-config' in self.opener.options: + self.data_config = self.opener.options[b'data-config'].copy() + else: + self.data_config = DataConfig() + self.data_config.check_ambig = checkambig + self.data_config.mmap_large_index = mmaplargeindex + if b'delta-config' in self.opener.options: + self.delta_config = self.opener.options[b'delta-config'].copy() + else: + self.delta_config = DeltaConfig() # 3-tuple of (node, rev, text) for a raw revision. self._revisioncache = None