--- a/mercurial/pure/parsers.py Mon May 03 12:21:15 2021 +0200
+++ b/mercurial/pure/parsers.py Mon May 03 12:21:25 2021 +0200
@@ -104,9 +104,14 @@
def append(self, tup):
if '_nodemap' in vars(self):
self._nodemap[tup[7]] = len(self)
- data = self.index_format.pack(*tup)
+ data = self._pack_entry(tup)
self._extra.append(data)
+ def _pack_entry(self, entry):
+ assert entry[8] == 0
+ assert entry[9] == 0
+ return self.index_format.pack(*entry[:8])
+
def _check_index(self, i):
if not isinstance(i, int):
raise TypeError(b"expecting int indexes")
@@ -299,6 +304,9 @@
def _unpack_entry(self, data):
return self.index_format.unpack(data)
+ def _pack_entry(self, entry):
+ return self.index_format.pack(*entry)
+
def entry_binary(self, rev):
"""return the raw binary string representing a revision"""
entry = self[rev]