# HG changeset patch # User Pierre-Yves David # Date 1567806632 -7200 # Node ID a04b2c010d0379f7304f919c4931fce68af8fddc # Parent 50d9de61ce0230acab500958b1dca828a78b9eee flagprocessors: make `processflagswrite` a module level function One more step towards removing the mixin. Differential Revision: https://phab.mercurial-scm.org/D6818 diff -r 50d9de61ce02 -r a04b2c010d03 hgext/remotefilelog/remotefilelog.py --- a/hgext/remotefilelog/remotefilelog.py Fri Sep 06 23:43:06 2019 +0200 +++ b/hgext/remotefilelog/remotefilelog.py Fri Sep 06 23:50:32 2019 +0200 @@ -138,8 +138,8 @@ sidedata = {} meta, metaoffset = storageutil.parsemeta(text) - rawtext, validatehash = self._processflagswrite(text, flags, - sidedata=sidedata) + rawtext, validatehash = flagutil.processflagswrite(self, text, flags, + sidedata=sidedata) return self.addrawrevision(rawtext, transaction, linknode, p1, p2, node, flags, cachedelta, _metatuple=(meta, metaoffset)) diff -r 50d9de61ce02 -r a04b2c010d03 mercurial/revlog.py --- a/mercurial/revlog.py Fri Sep 06 23:43:06 2019 +0200 +++ b/mercurial/revlog.py Fri Sep 06 23:50:32 2019 +0200 @@ -1842,8 +1842,8 @@ if flags: node = node or self.hash(text, p1, p2) - rawtext, validatehash = self._processflagswrite(text, flags, - sidedata=sidedata) + rawtext, validatehash = flagutil.processflagswrite(self, text, flags, + sidedata=sidedata) # If the flag processor modifies the revision data, ignore any provided # cachedelta. diff -r 50d9de61ce02 -r a04b2c010d03 mercurial/revlogutils/flagutil.py --- a/mercurial/revlogutils/flagutil.py Fri Sep 06 23:43:06 2019 +0200 +++ b/mercurial/revlogutils/flagutil.py Fri Sep 06 23:50:32 2019 +0200 @@ -98,7 +98,7 @@ elif operation == 'read': return self._processflagsread(text, flags) else: # write operation - return self._processflagswrite(text, flags) + return processflagswrite(self, text, flags) def _processflagsread(self, text, flags): """Inspect revision data flags and applies read transformations defined @@ -120,25 +120,6 @@ """ return _processflagsfunc(self, text, flags, 'read') - def _processflagswrite(self, text, flags, sidedata): - """Inspect revision data flags and applies write transformations defined - by registered flag processors. - - ``text`` - the revision data to process - ``flags`` - the revision flags - - This method processes the flags in the order (or reverse order if - ``operation`` is 'write') defined by REVIDX_FLAGS_ORDER, applying the - flag processors registered for present flags. The order of flags defined - in REVIDX_FLAGS_ORDER needs to be stable to allow non-commutativity. - - Returns a 2-tuple of ``(text, validatehash)`` where ``text`` is the - processed text and ``validatehash`` is a bool indicating whether the - returned text should be checked for hash integrity. - """ - return _processflagsfunc(self, text, flags, 'write', - sidedata=sidedata)[:2] - def _processflagsraw(self, text, flags): """Inspect revision data flags to check is the content hash should be validated. @@ -157,6 +138,25 @@ """ return _processflagsfunc(self, text, flags, 'raw')[1] +def processflagswrite(revlog, text, flags, sidedata): + """Inspect revision data flags and applies write transformations defined + by registered flag processors. + + ``text`` - the revision data to process + ``flags`` - the revision flags + + This method processes the flags in the order (or reverse order if + ``operation`` is 'write') defined by REVIDX_FLAGS_ORDER, applying the + flag processors registered for present flags. The order of flags defined + in REVIDX_FLAGS_ORDER needs to be stable to allow non-commutativity. + + Returns a 2-tuple of ``(text, validatehash)`` where ``text`` is the + processed text and ``validatehash`` is a bool indicating whether the + returned text should be checked for hash integrity. + """ + return _processflagsfunc(revlog, text, flags, 'write', + sidedata=sidedata)[:2] + def _processflagsfunc(revlog, text, flags, operation, sidedata=None): """internal function to process flag on a revlog diff -r 50d9de61ce02 -r a04b2c010d03 tests/simplestorerepo.py --- a/tests/simplestorerepo.py Fri Sep 06 23:43:06 2019 +0200 +++ b/tests/simplestorerepo.py Fri Sep 06 23:50:32 2019 +0200 @@ -457,7 +457,7 @@ if flags: node = node or storageutil.hashrevisionsha1(text, p1, p2) - rawtext, validatehash = self._processflagswrite(text, flags) + rawtext, validatehash = flagutil.processflagswrite(self, text, flags) node = node or storageutil.hashrevisionsha1(text, p1, p2)