[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