Mercurial > public > mercurial-scm > hg
comparison 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 |
comparison
equal
deleted
inserted
replaced
47234:616b8f412676 | 47235:6b1eae313b2f |
---|---|
2015 with self.__index_new_fp() as fp: | 2015 with self.__index_new_fp() as fp: |
2016 self._format_flags &= ~FLAG_INLINE_DATA | 2016 self._format_flags &= ~FLAG_INLINE_DATA |
2017 self._inline = False | 2017 self._inline = False |
2018 for i in self: | 2018 for i in self: |
2019 e = self.index.entry_binary(i) | 2019 e = self.index.entry_binary(i) |
2020 if i == 0: | 2020 if i == 0 and self._docket is None: |
2021 header = self._format_flags | self._format_version | 2021 header = self._format_flags | self._format_version |
2022 header = self.index.pack_header(header) | 2022 header = self.index.pack_header(header) |
2023 e = header + e | 2023 e = header + e |
2024 fp.write(e) | 2024 fp.write(e) |
2025 # the temp file replace the real index when we exit the context | 2025 # the temp file replace the real index when we exit the context |
2378 len(serialized_sidedata), | 2378 len(serialized_sidedata), |
2379 ) | 2379 ) |
2380 | 2380 |
2381 self.index.append(e) | 2381 self.index.append(e) |
2382 entry = self.index.entry_binary(curr) | 2382 entry = self.index.entry_binary(curr) |
2383 if curr == 0: | 2383 if curr == 0 and self._docket is None: |
2384 header = self._format_flags | self._format_version | 2384 header = self._format_flags | self._format_version |
2385 header = self.index.pack_header(header) | 2385 header = self.index.pack_header(header) |
2386 entry = header + entry | 2386 entry = header + entry |
2387 self._writeentry( | 2387 self._writeentry( |
2388 transaction, | 2388 transaction, |
3205 ifh.seek(startrev * self.index.entry_size) | 3205 ifh.seek(startrev * self.index.entry_size) |
3206 for i, e in enumerate(new_entries): | 3206 for i, e in enumerate(new_entries): |
3207 rev = startrev + i | 3207 rev = startrev + i |
3208 self.index.replace_sidedata_info(rev, e[8], e[9], e[0]) | 3208 self.index.replace_sidedata_info(rev, e[8], e[9], e[0]) |
3209 packed = self.index.entry_binary(rev) | 3209 packed = self.index.entry_binary(rev) |
3210 if rev == 0: | 3210 if rev == 0 and self._docket is None: |
3211 header = self._format_flags | self._format_version | 3211 header = self._format_flags | self._format_version |
3212 header = self.index.pack_header(header) | 3212 header = self.index.pack_header(header) |
3213 packed = header + packed | 3213 packed = header + packed |
3214 ifh.write(packed) | 3214 ifh.write(packed) |