"Derrick Stolee via GitGitGadget" <gitgitgadget@xxxxxxxxx> writes: > This series is based on tb/pack-revindex-on-disk. > > The git fsck builtin does not look at the .rev files that pair with .pack > and .idx files, but should. Yes, it should. > ... The fix is simple: delete the .rev file (and regenerate, if > necessary), but detection is the first step. > This series adds those checks. The initial check to verify the checksum is > probably sufficient for most real-world scenarios, but going the extra mile > to verify the rev-index contents against an in-memory rev-index helps us be > sure that there isn't a bug in the rev-index writing code of Git (which > would result in a valid checksum). Good description. > Much like other file formats, an invalid > header needs to be handled separately as a malformed header may prevent the > data structures from being initialized in the first place. > This series does not validate a multi-pack-index-<hash>.rev file or the > rev-index chunk of a multi-pack-index file. These could be fast-follows, > except that there is no existing equivalent for an in-memory rev-index for > easy comparison. The rev-index chunk (which is the most-common way for a > multi-pack-index to have this information) is already covered by existing > checksum validation, at least. TIL what "fast-follow" means ;-)