[GSoC][PATCH v16 0/9] ref consistency check infra setup
- From
shejialuo <shejialuo@gmail.com>
- Date
- Aug 8, 2024, 11:21 UTC
- Message-ID
- <ZrSqMmD-quQ18a9F@ArchLinux.localdomain>
- In-Reply-To
- <ZrEBKjzbyxtMdCCx@ArchLinux>
Hi All, this version handles some minor changes:
1. Remove redundant newlines. 2. Fix typo in commit message.
At last, I wanna thank every reviewer. As we can see, this series starts from 5.27, it's a very long journey. I have learned a lot.
Thanks Jialuo
shejialuo (9): fsck: rename "skiplist" to "skip_oids" fsck: rename objects-related fsck error functions fsck: make "fsck_error" callback generic fsck: add a unified interface for reporting fsck messages fsck: add refs report function refs: set up ref consistency check infrastructure builtin/refs: add verify subcommand files-backend: add unified interface for refs scanning fsck: add ref name check for files backend
Documentation/fsck-msgids.txt | 6 ++ Documentation/git-refs.txt | 13 ++++ builtin/fsck.c | 17 +++-- builtin/mktag.c | 3 +- builtin/refs.c | 34 +++++++++ fsck.c | 125 +++++++++++++++++++++++++++------- fsck.h | 76 ++++++++++++++++----- object-file.c | 9 ++- refs.c | 5 ++ refs.h | 8 +++ refs/debug.c | 11 +++ refs/files-backend.c | 115 ++++++++++++++++++++++++++++++- refs/packed-backend.c | 8 +++ refs/refs-internal.h | 6 ++ refs/reftable-backend.c | 8 +++ t/t0602-reffiles-fsck.sh | 92 +++++++++++++++++++++++++ 16 files changed, 477 insertions(+), 59 deletions(-) create mode 100755 t/t0602-reffiles-fsck.sh
Range-diff against v15:
1: 9aeaa3211c = 1: 9aeaa3211c fsck: rename "skiplist" to "skip_oids"
2: 7511340a21 = 2: 7511340a21 fsck: rename objects-related fsck error functions
3: ee971d17f4 = 3: ee971d17f4 fsck: make "fsck_error" callback generic
4: 59ccdab54d ! 4: f80fa00538 fsck: add a unified interface for reporting fsck messages
@@ Commit message
"fsck_vreport". Instead of using "...", provide "va_list" to allow more
flexibility.
- Instead of changing "report" prototype to be algin with the
+ Instead of changing "report" prototype to be align with the
"fsck_vreport" function, we leave the "report" prototype unchanged due
to the reason that there are nearly 62 references about "report"
function. Simply change "report" function to use "fsck_vreport" to
5: b5607ac61c ! 5: 8c0376cfd5 fsck: add refs report function
@@ fsck.c: int fsck_objects_error_function(struct fsck_options *o,
+ const char *message)
+{
+ struct fsck_ref_report *report = fsck_report;
-+
+ struct strbuf sb = STRBUF_INIT;
+ int ret = 0;
+
@@ fsck.c: int fsck_objects_error_function(struct fsck_options *o,
+
+ strbuf_release(&sb);
+ return ret;
-+
+}
+
static int fsck_blobs(struct oidset *blobs_found, struct oidset *blobs_done,
6: 5819406b40 = 6: 552fe62ff4 refs: set up ref consistency check infrastructure
7: 6a9c194a05 = 7: 3b357fa89e builtin/refs: add verify subcommand
8: 76406b1303 ! 8: 8d2c7b3aa5 files-backend: add unified interface for refs scanning
@@ refs/files-backend.c: static int files_ref_store_remove_on_disk(struct ref_store
+ if (o->verbose)
+ fprintf_ln(stderr, _("Checking references consistency"));
+ return files_fsck_refs_dir(ref_store, o, "refs", fsck_refs_fn);
-+
+}
+
static int files_fsck(struct ref_store *ref_store,
9: ed02380516 = 9: b39533ae56 fsck: add ref name check for files backend-- 2.46.0