# HG changeset patch # User Pierre-Yves David # Date 1567560055 -7200 # Node ID 142deb539ccf5bf26ef87a53af8e8c382b10b481 # Parent e8bc4c3d9a0b85720c3dbcb930cf458765f73616 sidedata: register the flag processors if the repository allows for it Differential Revision: https://phab.mercurial-scm.org/D6893 diff -r e8bc4c3d9a0b -r 142deb539ccf mercurial/revlog.py --- 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 diff -r e8bc4c3d9a0b -r 142deb539ccf mercurial/revlogutils/flagutil.py --- 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 diff -r e8bc4c3d9a0b -r 142deb539ccf mercurial/revlogutils/sidedata.py --- 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, +)