sidedata: register the flag processors if the repository allows for it
Differential Revision: https://phab.mercurial-scm.org/D6893
--- a/mercurial/revlog.py Wed Sep 04 03:19:58 2019 +0200
+++ b/mercurial/revlog.py Wed Sep 04 03:20:55 2019 +0200
@@ -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
@@ -389,6 +392,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
--- a/mercurial/revlogutils/flagutil.py Wed Sep 04 03:19:58 2019 +0200
+++ b/mercurial/revlogutils/flagutil.py Wed Sep 04 03:20:55 2019 +0200
@@ -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
--- a/mercurial/revlogutils/sidedata.py Wed Sep 04 03:19:58 2019 +0200
+++ b/mercurial/revlogutils/sidedata.py Wed Sep 04 03:20:55 2019 +0200
@@ -77,3 +77,9 @@
def sidedatarawprocessor(rl, text):
# side data modifies rawtext and prevent rawtext hash validation
return False
+
+processors = (
+ sidedatareadprocessor,
+ sidedatawriteprocessor,
+ sidedatarawprocessor,
+)