[Updated] D10793: revlog: add a function to build index entry tuple

marmoute (Pierre-Yves David) phabricator at mercurial-scm.org
Mon Jun 7 09:25:34 UTC 2021


Closed by commit rHGa669404f0f4a: revlog: add a function to build index entry tuple (authored by marmoute).
This revision was automatically updated to reflect the committed changes.
This revision was not accepted when it landed; it landed in state "Needs Review".

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D10793?vs=28474&id=28496

CHANGES SINCE LAST ACTION
  https://phab.mercurial-scm.org/D10793/new/

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

AFFECTED FILES
  mercurial/revlogutils/__init__.py
  mercurial/revlogutils/constants.py

CHANGE DETAILS

diff --git a/mercurial/revlogutils/constants.py b/mercurial/revlogutils/constants.py
--- a/mercurial/revlogutils/constants.py
+++ b/mercurial/revlogutils/constants.py
@@ -12,6 +12,7 @@
 import struct
 
 from ..interfaces import repository
+from .. import revlogutils
 
 ### Internal utily constants
 
@@ -229,7 +230,7 @@
 
 # Chunk use a compression mode stored "inline" at the start of the chunk
 # itself.  This is the mode always used for revlog version "0" and "1"
-COMP_MODE_INLINE = 2
+COMP_MODE_INLINE = revlogutils.COMP_MODE_INLINE
 
 SUPPORTED_FLAGS = {
     REVLOGV0: REVLOGV0_FLAGS,
diff --git a/mercurial/revlogutils/__init__.py b/mercurial/revlogutils/__init__.py
--- a/mercurial/revlogutils/__init__.py
+++ b/mercurial/revlogutils/__init__.py
@@ -9,8 +9,50 @@
 
 from ..interfaces import repository
 
+# See mercurial.revlogutils.constants for doc
+COMP_MODE_INLINE = 2
+
 
 def offset_type(offset, type):
     if (type & ~repository.REVISION_FLAGS_KNOWN) != 0:
         raise ValueError(b'unknown revlog index flags: %d' % type)
     return int(int(offset) << 16 | type)
+
+
+def entry(
+    data_offset,
+    data_compressed_length,
+    data_delta_base,
+    link_rev,
+    parent_rev_1,
+    parent_rev_2,
+    node_id,
+    flags=0,
+    data_uncompressed_length=-1,
+    data_compression_mode=COMP_MODE_INLINE,
+    sidedata_offset=0,
+    sidedata_compressed_length=0,
+    sidedata_compression_mode=COMP_MODE_INLINE,
+):
+    """Build one entry from symbolic name
+
+    This is useful to abstract the actual detail of how we build the entry
+    tuple for caller who don't care about it.
+
+    This should always be called using keyword arguments. Some arguments have
+    default value, this match the value used by index version that does not store such data.
+    """
+    return (
+        offset_type(data_offset, flags),
+        data_compressed_length,
+        data_uncompressed_length,
+        data_delta_base,
+        link_rev,
+        parent_rev_1,
+        parent_rev_2,
+        node_id,
+        sidedata_offset,
+        sidedata_compressed_length,
+        data_compression_mode,
+        sidedata_compression_mode,
+    )



To: marmoute, #hg-reviewers, Alphare
Cc: mercurial-patches
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mercurial-scm.org/pipermail/mercurial-patches/attachments/20210607/fa2477ef/attachment-0001.html>


More information about the Mercurial-patches mailing list