flagutil: move the `flagprocessors` mapping in the new module
This module is meant to host most of the flag processing logic. We start with
the mapping between flag and processors.
--- a/mercurial/revlog.py Thu Aug 08 01:03:01 2019 +0200
+++ b/mercurial/revlog.py Thu Aug 08 01:04:48 2019 +0200
@@ -72,6 +72,7 @@
)
from .revlogutils import (
deltas as deltautil,
+ flagutil,
)
from .utils import (
interfaceutil,
@@ -110,11 +111,6 @@
_maxinline = 131072
_chunksize = 1048576
-# Store flag processors (cf. 'addflagprocessor()' to register)
-_flagprocessors = {
- REVIDX_ISCENSORED: None,
-}
-
# Flag processors for REVIDX_ELLIPSIS.
def ellipsisreadprocessor(rl, text):
return text, False
@@ -156,7 +152,7 @@
debug commands. In this case the transform only indicates whether the
contents can be used for hash integrity checks.
"""
- _insertflagprocessor(flag, processor, _flagprocessors)
+ _insertflagprocessor(flag, processor, flagutil.flagprocessors)
def _insertflagprocessor(flag, processor, flagprocessors):
if not flag & REVIDX_KNOWN_FLAGS:
@@ -386,7 +382,7 @@
# Make copy of flag processors so each revlog instance can support
# custom flags.
- self._flagprocessors = dict(_flagprocessors)
+ self._flagprocessors = dict(flagutil.flagprocessors)
# 2-tuple of file handles being used for active writing.
self._writinghandles = None
--- a/mercurial/revlogutils/flagutil.py Thu Aug 08 01:03:01 2019 +0200
+++ b/mercurial/revlogutils/flagutil.py Thu Aug 08 01:04:48 2019 +0200
@@ -28,4 +28,8 @@
REVIDX_KNOWN_FLAGS
REVIDX_RAWTEXT_CHANGING_FLAGS
+# Store flag processors (cf. 'addflagprocessor()' to register)
+flagprocessors = {
+ REVIDX_ISCENSORED: None,
+}
--- a/tests/test-flagprocessor.t Thu Aug 08 01:03:01 2019 +0200
+++ b/tests/test-flagprocessor.t Thu Aug 08 01:04:48 2019 +0200
@@ -206,7 +206,7 @@
File "*/tests/flagprocessorext.py", line *, in extsetup (glob)
validatehash,
File "*/mercurial/revlog.py", line *, in addflagprocessor (glob)
- _insertflagprocessor(flag, processor, _flagprocessors)
+ _insertflagprocessor(flag, processor, flagutil.flagprocessors)
File "*/mercurial/revlog.py", line *, in _insertflagprocessor (glob)
raise error.Abort(msg)
mercurial.error.Abort: b"cannot register multiple processors on flag '0x8'." (py3 !)