diff -r db088e133e91 -r 7b2b42fc377a mercurial/revlog.py --- a/mercurial/revlog.py Wed Sep 05 13:29:22 2018 -0700 +++ b/mercurial/revlog.py Thu Sep 13 15:48:53 2018 -0700 @@ -415,6 +415,10 @@ self._srdensitythreshold = 0.50 self._srmingapsize = 262144 + # Make copy of flag processors so each revlog instance can support + # custom flags. + self._flagprocessors = dict(_flagprocessors) + mmapindexthreshold = None v = REVLOG_DEFAULT_VERSION opts = getattr(opener, 'options', None) @@ -1707,11 +1711,11 @@ if flag & flags: vhash = True - if flag not in _flagprocessors: + if flag not in self._flagprocessors: message = _("missing processor for flag '%#x'") % (flag) raise RevlogError(message) - processor = _flagprocessors[flag] + processor = self._flagprocessors[flag] if processor is not None: readtransform, writetransform, rawtransform = processor