mirror of
https://github.com/facebook/sapling.git
synced 2024-12-27 23:22:02 +03:00
6f4bf325d5
Summary: Enhance the index format: The Root entry can be followed by an optional Checksum entry which replaces the need of ChecksumTable. The format is backwards compatible since the old format will be just treated as "there is no ChecksumTable", and the ChecksumTable will be built on the next "flush". This change is non-trivial. But the tests are pretty strong - the bitflip test alone covered a lot of issues, and the dump of Index content helps a lot too. For the index itself without ".sum", checksum, this change is bi-directional compatible: 1. New code reading old file will just think the old file does not have the checksum entry, similar to new code having checksum disabled. 2. Old code will think the root+checksum slice is the "root" entry. Parsing the root entry is fine since it does not complain about unknown data at the end. However, this change dropped the logic updating ".sum" files. That part is an issue blocking old clients from reading new data. Reviewed By: DurhamG Differential Revision: D19850741 fbshipit-source-id: 551a45cd5422f1fb4c5b08e3b207a2ffe3d93dea |
||
---|---|---|
.. | ||
index.rs | ||
log.rs | ||
misc.rs |