mercurial/revlog.py
changeset 47037 d57386e5c80e
parent 47036 5e64c93d5f94
child 47038 724db234b790
--- a/mercurial/revlog.py	Sat May 01 14:47:39 2021 +0200
+++ b/mercurial/revlog.py	Thu Apr 01 11:31:54 2021 +0200
@@ -266,7 +266,7 @@
             return (0, 0, 0, -1, -1, -1, -1, sha1nodeconstants.nullid)
         return list.__getitem__(self, i)
 
-    def entry_binary(self, rev, header):
+    def entry_binary(self, rev):
         """return the raw binary string representing a revision"""
         entry = self[rev]
         if gettype(entry[0]):
@@ -284,6 +284,10 @@
         )
         return INDEX_ENTRY_V0.pack(*e2)
 
+    def pack_header(self, header):
+        """Pack header information in binary"""
+        return b''
+
 
 def parse_index_v0(data, inline):
     s = INDEX_ENTRY_V0.size
@@ -2041,7 +2045,10 @@
             self.version &= ~FLAG_INLINE_DATA
             self._inline = False
             for i in self:
-                e = self.index.entry_binary(i, self.version)
+                e = self.index.entry_binary(i)
+                if i == 0:
+                    header = self.index.pack_header(self.version)
+                    e = header + e
                 fp.write(e)
 
             # the temp file replace the real index when we exit the context
@@ -2363,7 +2370,10 @@
             e = e[:8]
 
         self.index.append(e)
-        entry = self.index.entry_binary(curr, self.version)
+        entry = self.index.entry_binary(curr)
+        if curr == 0:
+            header = self.index.pack_header(self.version)
+            entry = header + entry
         self._writeentry(
             transaction,
             ifh,
@@ -3216,5 +3226,8 @@
             for i, entry in enumerate(new_entries):
                 rev = startrev + i
                 self.index.replace_sidedata_info(rev, entry[8], entry[9])
-                packed = self.index.entry_binary(rev, self.version)
+                packed = self.index.entry_binary(rev)
+                if rev == 0:
+                    header = self.index.pack_header(self.version)
+                    packed = header + packed
                 fp.write(packed)