Re: [PATCH 04/10] packed-backend: add "packed-refs" header consistency check
- From
shejialuo <shejialuo@gmail.com>
- Date
- Jan 8, 2025, 00:54 UTC
- Message-ID
- <Z33MtrbgN1kxsyGM@ArchLinux>
- In-Reply-To
- <Z3qN8U2VbZBnUSWj@ArchLinux>
On Sun, Jan 05, 2025 at 09:49:37PM +0800, shejialuo wrote:
[snip]
Show 16 quoted lines
> However, when adding the new test for a bad header, the program will > still die in the "create_snapshot" method. This is because we have > checked the files-backend firstly and we use "parse_object" to check > whether the object exists and whether the type is correct. This function > will eventually call "create_snapshot" and "next_record" method, if > there is something wrong with packed-backend, the program just dies. > > It's bad to just die the program because we want to report the problems > as many as possible. We should avoid checking object and its type when > packed-backend is broken. So, we should first check the consistency of > the packed-backend then for files-backend. > > Add a new flag "safe_object_check" in "fsck_options", when there is > anything wrong with the parsing process, set this flag to 0 to avoid > checking objects in the later checks. >
Here, I made a mistake. The most simplest way is to call the "disable_replace_refs" function in "builtin/refs". So, there is a lot of code and commit message needs to be fixed in the version 2. I have just realized about this.
So, tell the reviewers in advance about this.
Thanks, Jialuo