Patchwork D6812: flagprocessors: return flagdata in the main processing function

login
register
mail settings
Submitter phabricator
Date Sept. 7, 2019, 9:28 a.m.
Message ID <differential-rev-PHID-DREV-xvwuiuv4jtghylnfrrtf-req@mercurial-scm.org>
Download mbox | patch
Permalink /patch/41515/
State New
Headers show

Comments

phabricator - Sept. 7, 2019, 9:28 a.m.
marmoute created this revision.
marmoute added reviewers: yuja, durin42.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.

REVISION SUMMARY
  This function input and return are becoming stranger and stranger bnut I don't
  have a good plan to make is saner without problematic code duplication, so it
  will be this way to now.

REPOSITORY
  rHG Mercurial

REVISION DETAIL
  https://phab.mercurial-scm.org/D6812

AFFECTED FILES
  mercurial/revlogutils/flagutil.py

CHANGE DETAILS




To: marmoute, yuja, durin42, #hg-reviewers
Cc: mercurial-devel

Patch

diff --git a/mercurial/revlogutils/flagutil.py b/mercurial/revlogutils/flagutil.py
--- a/mercurial/revlogutils/flagutil.py
+++ b/mercurial/revlogutils/flagutil.py
@@ -118,8 +118,7 @@ 
         processed text and ``validatehash`` is a bool indicating whether the
         returned text should be checked for hash integrity.
         """
-        text, vhash = self._processflagsfunc(text, flags, 'read')
-        return text, vhash, {}
+        return self._processflagsfunc(text, flags, 'read')
 
     def _processflagswrite(self, text, flags):
         """Inspect revision data flags and applies write transformations defined
@@ -137,7 +136,7 @@ 
         processed text and ``validatehash`` is a bool indicating whether the
         returned text should be checked for hash integrity.
         """
-        return self._processflagsfunc(text, flags, 'write')
+        return self._processflagsfunc(text, flags, 'write')[:2]
 
     def _processflagsraw(self, text, flags):
         """Inspect revision data flags to check is the content hash should be
@@ -160,7 +159,7 @@ 
     def _processflagsfunc(self, text, flags, operation):
         # fast path: no flag processors will run
         if flags == 0:
-            return text, True
+            return text, True, {}
         if not operation in ('read', 'write', 'raw'):
             raise error.ProgrammingError(_("invalid '%s' operation") %
                                          operation)
@@ -175,6 +174,7 @@ 
         if operation == 'write':
             orderedflags = reversed(orderedflags)
 
+        sidedata = {}
         for flag in orderedflags:
             # If a flagprocessor has been registered for a known flag, apply the
             # related operation transform and update result tuple.
@@ -197,4 +197,4 @@ 
                         text, vhash = writetransform(self, text)
                 validatehash = validatehash and vhash
 
-        return text, validatehash
+        return text, validatehash, sidedata