D6893: sidedata: register the flag processors if the repository allows for it
marmoute (Pierre-Yves David)
phabricator at mercurial-scm.org
Fri Sep 27 16:18:15 UTC 2019
marmoute created this revision.
marmoute added a reviewer: durin42.
Herald added a reviewer: indygreg.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D6893
AFFECTED FILES
mercurial/revlog.py
mercurial/revlogutils/flagutil.py
mercurial/revlogutils/sidedata.py
CHANGE DETAILS
diff --git a/mercurial/revlogutils/sidedata.py b/mercurial/revlogutils/sidedata.py
--- a/mercurial/revlogutils/sidedata.py
+++ b/mercurial/revlogutils/sidedata.py
@@ -77,3 +77,9 @@
def sidedatarawprocessor(rl, text):
# side data modifies rawtext and prevent rawtext hash validation
return False
+
+processors = (
+ sidedatareadprocessor,
+ sidedatawriteprocessor,
+ sidedatarawprocessor,
+)
diff --git a/mercurial/revlogutils/flagutil.py b/mercurial/revlogutils/flagutil.py
--- a/mercurial/revlogutils/flagutil.py
+++ b/mercurial/revlogutils/flagutil.py
@@ -17,6 +17,7 @@
REVIDX_FLAGS_ORDER,
REVIDX_ISCENSORED,
REVIDX_RAWTEXT_CHANGING_FLAGS,
+ REVIDX_SIDEDATA,
)
from .. import (
@@ -29,6 +30,7 @@
REVIDX_ISCENSORED
REVIDX_ELLIPSIS
REVIDX_EXTSTORED
+REVIDX_SIDEDATA
REVIDX_DEFAULT_FLAGS
REVIDX_FLAGS_ORDER
REVIDX_RAWTEXT_CHANGING_FLAGS
diff --git a/mercurial/revlog.py b/mercurial/revlog.py
--- a/mercurial/revlog.py
+++ b/mercurial/revlog.py
@@ -54,6 +54,7 @@
REVIDX_FLAGS_ORDER,
REVIDX_ISCENSORED,
REVIDX_RAWTEXT_CHANGING_FLAGS,
+ REVIDX_SIDEDATA,
)
from .thirdparty import (
attr,
@@ -75,6 +76,7 @@
from .revlogutils import (
deltas as deltautil,
flagutil,
+ sidedata as sidedatautil,
)
from .utils import (
storageutil,
@@ -95,6 +97,7 @@
REVLOGV2_FLAGS
REVIDX_ISCENSORED
REVIDX_ELLIPSIS
+REVIDX_SIDEDATA
REVIDX_EXTSTORED
REVIDX_DEFAULT_FLAGS
REVIDX_FLAGS_ORDER
@@ -392,6 +395,8 @@
if self._mmaplargeindex and 'mmapindexthreshold' in opts:
mmapindexthreshold = opts['mmapindexthreshold']
self.hassidedata = bool(opts.get('side-data', False))
+ if self.hassidedata:
+ self._flagprocessors[REVIDX_SIDEDATA] = sidedatautil.processors
self._sparserevlog = bool(opts.get('sparse-revlog', False))
withsparseread = bool(opts.get('with-sparse-read', False))
# sparse-revlog forces sparse-read
To: marmoute, durin42, indygreg, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list