diff mercurial/revlog.py @ 51212:13f58ce70299

rust-revlog: teach the revlog opening code to read the repo options This will become necessary as we start writing revlog data from Rust.
author Rapha?l Gom?s <rgomes@octobus.net>
date Mon, 18 Sep 2023 17:11:11 +0200
parents 6ec8387eb0be
children 633408a0f2e2
line wrap: on
line diff
--- a/mercurial/revlog.py	Tue Jun 27 17:34:51 2023 +0200
+++ b/mercurial/revlog.py	Mon Sep 18 17:11:11 2023 +0200
@@ -16,6 +16,7 @@
 import binascii
 import collections
 import contextlib
+import functools
 import io
 import os
 import struct
@@ -224,9 +225,9 @@
     parse_index_v1_nodemap = None
 
 
-def parse_index_v1_mixed(data, inline):
+def parse_index_v1_mixed(data, inline, default_header):
     index, cache = parse_index_v1(data, inline)
-    return rustrevlog.MixedIndex(index, data), cache
+    return rustrevlog.MixedIndex(index, data, default_header), cache
 
 
 # corresponds to uncompressed length of indexformatng (2 gigs, 4-byte
@@ -1694,7 +1695,9 @@
         elif devel_nodemap:
             self._parse_index = parse_index_v1_nodemap
         elif use_rust_index:
-            self._parse_index = parse_index_v1_mixed
+            self._parse_index = functools.partial(
+                parse_index_v1_mixed, default_header=new_header
+            )
         try:
             d = self._parse_index(index_data, self._inline)
             index, chunkcache = d