diff mercurial/revlog.py @ 47235:6b1eae313b2f

revlogv2: store version information in the docket only Having it duplicated in the index was both useless and a risk of discrepancy. Differential Revision: https://phab.mercurial-scm.org/D10625
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Mon, 03 May 2021 12:34:21 +0200
parents 616b8f412676
children 6597255a4f94
line wrap: on
line diff
--- a/mercurial/revlog.py	Mon May 03 12:34:11 2021 +0200
+++ b/mercurial/revlog.py	Mon May 03 12:34:21 2021 +0200
@@ -2017,7 +2017,7 @@
                 self._inline = False
                 for i in self:
                     e = self.index.entry_binary(i)
-                    if i == 0:
+                    if i == 0 and self._docket is None:
                         header = self._format_flags | self._format_version
                         header = self.index.pack_header(header)
                         e = header + e
@@ -2380,7 +2380,7 @@
 
         self.index.append(e)
         entry = self.index.entry_binary(curr)
-        if curr == 0:
+        if curr == 0 and self._docket is None:
             header = self._format_flags | self._format_version
             header = self.index.pack_header(header)
             entry = header + entry
@@ -3207,7 +3207,7 @@
                 rev = startrev + i
                 self.index.replace_sidedata_info(rev, e[8], e[9], e[0])
                 packed = self.index.entry_binary(rev)
-                if rev == 0:
+                if rev == 0 and self._docket is None:
                     header = self._format_flags | self._format_version
                     header = self.index.pack_header(header)
                     packed = header + packed