Patchwork D6818: flagprocessors: make `processflagswrite` a module level function

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

Comments

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

REVISION SUMMARY
  One more step towards removing the mixin.

REPOSITORY
  rHG Mercurial

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

AFFECTED FILES
  hgext/remotefilelog/remotefilelog.py
  mercurial/revlog.py
  mercurial/revlogutils/flagutil.py
  tests/simplestorerepo.py

CHANGE DETAILS




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

Patch

diff --git a/tests/simplestorerepo.py b/tests/simplestorerepo.py
--- a/tests/simplestorerepo.py
+++ b/tests/simplestorerepo.py
@@ -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)
 
diff --git a/mercurial/revlogutils/flagutil.py b/mercurial/revlogutils/flagutil.py
--- a/mercurial/revlogutils/flagutil.py
+++ b/mercurial/revlogutils/flagutil.py
@@ -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 --git a/mercurial/revlog.py b/mercurial/revlog.py
--- a/mercurial/revlog.py
+++ b/mercurial/revlog.py
@@ -1836,8 +1836,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 --git a/hgext/remotefilelog/remotefilelog.py b/hgext/remotefilelog/remotefilelog.py
--- a/hgext/remotefilelog/remotefilelog.py
+++ b/hgext/remotefilelog/remotefilelog.py
@@ -136,8 +136,8 @@ 
             node = storageutil.hashrevisionsha1(text, p1, p2)
 
         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))