--- a/mercurial/revlog.py Thu Aug 08 01:28:34 2019 +0200
+++ b/mercurial/revlog.py Thu Aug 08 01:25:37 2019 +0200
@@ -150,19 +150,7 @@
debug commands. In this case the transform only indicates whether the
contents can be used for hash integrity checks.
"""
- _insertflagprocessor(flag, processor, flagutil.flagprocessors)
-
-def _insertflagprocessor(flag, processor, flagprocessors):
- if not flag & flagutil.REVIDX_KNOWN_FLAGS:
- msg = _("cannot register processor on unknown flag '%#x'.") % (flag)
- raise error.ProgrammingError(msg)
- if flag not in REVIDX_FLAGS_ORDER:
- msg = _("flag '%#x' undefined in REVIDX_FLAGS_ORDER.") % (flag)
- raise error.ProgrammingError(msg)
- if flag in flagprocessors:
- msg = _("cannot register multiple processors on flag '%#x'.") % (flag)
- raise error.Abort(msg)
- flagprocessors[flag] = processor
+ flagutil.insertflagprocessor(flag, processor, flagutil.flagprocessors)
def getoffset(q):
return int(q >> 16)
@@ -438,7 +426,7 @@
# revlog v0 doesn't have flag processors
for flag, processor in opts.get(b'flagprocessors', {}).iteritems():
- _insertflagprocessor(flag, processor, self._flagprocessors)
+ flagutil.insertflagprocessor(flag, processor, self._flagprocessors)
if self._chunkcachesize <= 0:
raise error.RevlogError(_('revlog chunk cache size %r is not '
--- a/mercurial/revlogutils/flagutil.py Thu Aug 08 01:28:34 2019 +0200
+++ b/mercurial/revlogutils/flagutil.py Thu Aug 08 01:25:37 2019 +0200
@@ -8,6 +8,8 @@
from __future__ import absolute_import
+from ..i18n import _
+
from .constants import (
REVIDX_DEFAULT_FLAGS,
REVIDX_ELLIPSIS,
@@ -18,6 +20,7 @@
)
from .. import (
+ error,
util
)
@@ -37,3 +40,14 @@
REVIDX_ISCENSORED: None,
}
+def insertflagprocessor(flag, processor, flagprocessors):
+ if not flag & REVIDX_KNOWN_FLAGS:
+ msg = _("cannot register processor on unknown flag '%#x'.") % (flag)
+ raise error.ProgrammingError(msg)
+ if flag not in REVIDX_FLAGS_ORDER:
+ msg = _("flag '%#x' undefined in REVIDX_FLAGS_ORDER.") % (flag)
+ raise error.ProgrammingError(msg)
+ if flag in flagprocessors:
+ msg = _("cannot register multiple processors on flag '%#x'.") % (flag)
+ raise error.Abort(msg)
+ flagprocessors[flag] = processor
--- a/tests/test-flagprocessor.t Thu Aug 08 01:28:34 2019 +0200
+++ b/tests/test-flagprocessor.t Thu Aug 08 01:25:37 2019 +0200
@@ -206,8 +206,8 @@
File "*/tests/flagprocessorext.py", line *, in extsetup (glob)
validatehash,
File "*/mercurial/revlog.py", line *, in addflagprocessor (glob)
- _insertflagprocessor(flag, processor, flagutil.flagprocessors)
- File "*/mercurial/revlog.py", line *, in _insertflagprocessor (glob)
+ flagutil.insertflagprocessor(flag, processor, flagutil.flagprocessors)
+ File "*/mercurial/revlogutils/flagutil.py", line *, in insertflagprocessor (glob)
raise error.Abort(msg)
mercurial.error.Abort: b"cannot register multiple processors on flag '0x8'." (py3 !)
Abort: cannot register multiple processors on flag '0x8'. (no-py3 !)