mercurial/revlog.py
changeset 51188 13f58ce70299
parent 51187 6ec8387eb0be
child 51235 633408a0f2e2
equal deleted inserted replaced
51187:6ec8387eb0be 51188:13f58ce70299
    14 
    14 
    15 
    15 
    16 import binascii
    16 import binascii
    17 import collections
    17 import collections
    18 import contextlib
    18 import contextlib
       
    19 import functools
    19 import io
    20 import io
    20 import os
    21 import os
    21 import struct
    22 import struct
    22 import weakref
    23 import weakref
    23 import zlib
    24 import zlib
   222 
   223 
   223 else:
   224 else:
   224     parse_index_v1_nodemap = None
   225     parse_index_v1_nodemap = None
   225 
   226 
   226 
   227 
   227 def parse_index_v1_mixed(data, inline):
   228 def parse_index_v1_mixed(data, inline, default_header):
   228     index, cache = parse_index_v1(data, inline)
   229     index, cache = parse_index_v1(data, inline)
   229     return rustrevlog.MixedIndex(index, data), cache
   230     return rustrevlog.MixedIndex(index, data, default_header), cache
   230 
   231 
   231 
   232 
   232 # corresponds to uncompressed length of indexformatng (2 gigs, 4-byte
   233 # corresponds to uncompressed length of indexformatng (2 gigs, 4-byte
   233 # signed integer)
   234 # signed integer)
   234 _maxentrysize = 0x7FFFFFFF
   235 _maxentrysize = 0x7FFFFFFF
  1692         elif self._format_version == CHANGELOGV2:
  1693         elif self._format_version == CHANGELOGV2:
  1693             self._parse_index = parse_index_cl_v2
  1694             self._parse_index = parse_index_cl_v2
  1694         elif devel_nodemap:
  1695         elif devel_nodemap:
  1695             self._parse_index = parse_index_v1_nodemap
  1696             self._parse_index = parse_index_v1_nodemap
  1696         elif use_rust_index:
  1697         elif use_rust_index:
  1697             self._parse_index = parse_index_v1_mixed
  1698             self._parse_index = functools.partial(
       
  1699                 parse_index_v1_mixed, default_header=new_header
       
  1700             )
  1698         try:
  1701         try:
  1699             d = self._parse_index(index_data, self._inline)
  1702             d = self._parse_index(index_data, self._inline)
  1700             index, chunkcache = d
  1703             index, chunkcache = d
  1701             use_nodemap = (
  1704             use_nodemap = (
  1702                 not self._inline
  1705                 not self._inline