mercurial/revlogutils/flagutil.py
changeset 42882 3bed541aa65d
parent 42881 519b45603880
child 42983 a45d670c2bfc
equal deleted inserted replaced
42881:519b45603880 42882:3bed541aa65d
   152 
   152 
   153         Returns a 2-tuple of ``(text, validatehash)`` where ``text`` is the
   153         Returns a 2-tuple of ``(text, validatehash)`` where ``text`` is the
   154         processed text and ``validatehash`` is a bool indicating whether the
   154         processed text and ``validatehash`` is a bool indicating whether the
   155         returned text should be checked for hash integrity.
   155         returned text should be checked for hash integrity.
   156         """
   156         """
   157         return self._processflagsfunc(text, flags, 'read', raw=True)[1]
   157         return self._processflagsfunc(text, flags, 'raw')[1]
   158 
   158 
   159     def _processflagsfunc(self, text, flags, operation, raw=False):
   159     def _processflagsfunc(self, text, flags, operation):
   160         # fast path: no flag processors will run
   160         # fast path: no flag processors will run
   161         if flags == 0:
   161         if flags == 0:
   162             return text, True
   162             return text, True
   163         if not operation in ('read', 'write'):
   163         if operation not in ('read', 'write', 'raw'):
   164             raise error.ProgrammingError(_("invalid '%s' operation") %
   164             raise error.ProgrammingError(_("invalid '%s' operation") %
   165                                          operation)
   165                                          operation)
   166         # Check all flags are known.
   166         # Check all flags are known.
   167         if flags & ~REVIDX_KNOWN_FLAGS:
   167         if flags & ~REVIDX_KNOWN_FLAGS:
   168             raise self._flagserrorclass(_("incompatible revision flag '%#x'") %
   168             raise self._flagserrorclass(_("incompatible revision flag '%#x'") %
   186 
   186 
   187                 processor = self._flagprocessors[flag]
   187                 processor = self._flagprocessors[flag]
   188                 if processor is not None:
   188                 if processor is not None:
   189                     readtransform, writetransform, rawtransform = processor
   189                     readtransform, writetransform, rawtransform = processor
   190 
   190 
   191                     if raw:
   191                     if operation == 'raw':
   192                         vhash = rawtransform(self, text)
   192                         vhash = rawtransform(self, text)
   193                     elif operation == 'read':
   193                     elif operation == 'read':
   194                         text, vhash = readtransform(self, text)
   194                         text, vhash = readtransform(self, text)
   195                     else: # write operation
   195                     else: # write operation
   196                         text, vhash = writetransform(self, text)
   196                         text, vhash = writetransform(self, text)