[PATCH 2 of 3] flagprocessor: migrate addflagprocessor to registerflagprocessor

Jun Wu quark at fb.com
Wed May 10 21:47:34 EDT 2017


# HG changeset patch
# User Jun Wu <quark at fb.com>
# Date 1494457921 25200
#      Wed May 10 16:12:01 2017 -0700
# Node ID a5a22d616f981e8c220f1c2fd4eae098e104a11c
# Parent  1b4a17fefa2e67b6bf9294c9fbce586a6646bdaa
# Available At https://bitbucket.org/quark-zju/hg-draft
#              hg pull https://bitbucket.org/quark-zju/hg-draft -r a5a22d616f98
flagprocessor: migrate addflagprocessor to registerflagprocessor

This patch migrates all users of addflagprocessor to registerflagprocessor.
So addflagprocessor is not used in the code base and could be removed when
external code completes migration.

diff --git a/mercurial/revlog.py b/mercurial/revlog.py
--- a/mercurial/revlog.py
+++ b/mercurial/revlog.py
@@ -76,5 +76,5 @@ CensoredNodeError = error.CensoredNodeEr
 ProgrammingError = error.ProgrammingError
 
-# Store flag processors (cf. 'addflagprocessor()' to register)
+# Store flag processors (cf. 'registerflagprocessor()' to register)
 _flagprocessors = {
     REVIDX_ISCENSORED: None,
diff --git a/mercurial/verify.py b/mercurial/verify.py
--- a/mercurial/verify.py
+++ b/mercurial/verify.py
@@ -408,5 +408,5 @@ class verifier(object):
                 # L1 should be equal to L2. L3 could be different from them.
                 # "text" may or may not affect commit hash depending on flag
-                # processors (see revlog.addflagprocessor).
+                # processors (see revlog.registerflagprocessor).
                 #
                 #              | common  | rename | meta  | ext
diff --git a/tests/flagprocessorext.py b/tests/flagprocessorext.py
--- a/tests/flagprocessorext.py
+++ b/tests/flagprocessorext.py
@@ -23,24 +23,18 @@ REVIDX_GZIP = (1 << 1)
 REVIDX_FAIL = 1
 
-def validatehash(self, text):
-    return True
-
-def bypass(self, text):
-    return False
-
 def noopdonothing(self, text):
-    return (text, True)
+    return text
 
 def b64encode(self, text):
-    return (base64.b64encode(text), False)
+    return base64.b64encode(text)
 
 def b64decode(self, text):
-    return (base64.b64decode(text), True)
+    return base64.b64decode(text)
 
 def gzipcompress(self, text):
-    return (zlib.compress(text), False)
+    return zlib.compress(text)
 
 def gzipdecompress(self, text):
-    return (zlib.decompress(text), True)
+    return zlib.decompress(text)
 
 def supportedoutgoingversions(orig, repo):
@@ -117,26 +111,17 @@ def extsetup(ui):
 
     # Register flag processors for each extension
-    revlog.addflagprocessor(
+    revlog.registerflagprocessor(
         REVIDX_NOOP,
-        (
-            noopdonothing,
-            noopdonothing,
-            validatehash,
-        )
+        noopdonothing,
+        noopdonothing,
     )
-    revlog.addflagprocessor(
+    revlog.registerflagprocessor(
         REVIDX_BASE64,
-        (
-            b64decode,
-            b64encode,
-            bypass,
-        ),
+        b64decode,
+        b64encode,
     )
-    revlog.addflagprocessor(
+    revlog.registerflagprocessor(
         REVIDX_GZIP,
-        (
-            gzipdecompress,
-            gzipcompress,
-            bypass
-        )
+        gzipdecompress,
+        gzipcompress,
     )
diff --git a/tests/test-revlog-raw.py b/tests/test-revlog-raw.py
--- a/tests/test-revlog-raw.py
+++ b/tests/test-revlog-raw.py
@@ -38,18 +38,13 @@ def readprocessor(self, rawtext):
     # True: the returned text could be used to verify hash
     text = rawtext[len(_extheader):].replace(b'i', b'1')
-    return text, True
+    return text
 
 def writeprocessor(self, text):
     # False: the returned rawtext shouldn't be used to verify hash
     rawtext = _extheader + text.replace(b'1', b'i')
-    return rawtext, False
+    return rawtext
 
-def rawprocessor(self, rawtext):
-    # False: do not verify hash. Only the content returned by "readprocessor"
-    # can be used to verify hash.
-    return False
-
-revlog.addflagprocessor(revlog.REVIDX_EXTSTORED,
-                        (readprocessor, writeprocessor, rawprocessor))
+revlog.registerflagprocessor(revlog.REVIDX_EXTSTORED, readprocessor,
+                             writeprocessor)
 
 # Utilities about reading and appending revlog
@@ -229,5 +224,5 @@ def writecases(rlog, tr):
         # Verify text, rawtext, and rawsize
         if isext:
-            rawtext = writeprocessor(None, text)[0]
+            rawtext = writeprocessor(None, text)
         else:
             rawtext = text


More information about the Mercurial-devel mailing list