equal
deleted
inserted
replaced
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 |