Re: [PATCH v3 00/17] fsck: better "invalid object" error reporting
From: Jonathan Tan <hidden>
Date: 2021-05-27 17:08:42
So in some senes this matters to nobody, but I'm doing this as part of general changes I've been pushing to make fsck/gc error reporting more graceful, and errors more recoverable. We now have a few more places in object-file.c where we don't just die(), but properly return API-like return codes/data to the caller instead.
Well, I guess it's useful if somehow your repository got corrupted, and you want to pinpoint where it occurred.
Ævar Arnfjörð Bjarmason (17): fsck tests: refactor one test to use a sub-repo fsck tests: add test for fsck-ing an unknown type cat-file tests: test for missing object with -t and -s cat-file tests: test that --allow-unknown-type isn't on by default rev-list tests: test for behavior with invalid object types cat-file tests: add corrupt loose object test cat-file tests: test for current --allow-unknown-type behavior cache.h: move object functions to object-store.h object-file.c: make parse_loose_header_extended() public object-file.c: add missing braces to loose_object_info() object-file.c: stop dying in parse_loose_header() object-file.c: return -2 on "header too long" in unpack_loose_header() object-file.c: return -1, not "status" from unpack_loose_header() fsck: don't hard die on invalid object types object-store.h: move read_loose_object() below 'struct object_info' fsck: report invalid types recorded in objects fsck: report invalid object type-path combinations
My main comment as a reviewer is I think that there are a lot of unrelated changes in this patch set - in particular, the first 7 tests (1 fsck test that refactors something unrelated, 1 fsck test that I presume will be overridden later, and 5 tests for other commands unrelated to fsck). I'll also give comments on individual patches.