From: shejialuo <shejialuo@gmail.com>
To: git@vger.kernel.org
Cc: Patrick Steinhardt <ps@pks.im>,
Karthik Nayak <karthik.188@gmail.com>,
Junio C Hamano <gitster@pobox.com>,
Eric Sunshine <sunshine@sunshineco.com>
Subject: [GSoC][PATCH v6 00/11] ref consistency check infra setup
Date: Mon, 1 Jul 2024 23:13:58 +0800 [thread overview]
Message-ID: <ZoLHtmOKTfxMSxvw@ArchLinux> (raw)
In-Reply-To: <Zn2Ah3WDhtOmzrzn@ArchLinux>
Hi All:
This version follows the Junio's advice. Instead of creating the
following data structure:
struct fsck_options {
enum fsck_type {
FSCK_OBJECTS,
FSCK_REFS,
...
} t;
union {
struct fsck_objects_options objects;
struct fsck_refs_options refs;
} u;
};
I simply use the combination idea where "fsck_options" will incorporate
"fsck_objects_options" and "fsck_refs_options". Karthik has told me that
I should balance the job I should does and the extensibility for future.
So I use the most clear way to do this. Also Junio has said:
> I would have expected that adding ref-related new members that
> object consistency checkers has no interest in to the fsck_options
> structure would be sufficient for the purpose of this series.
So this patch makes the design simple here.
Thanks for every reviewer.
Jialuo.
shejialuo (11):
fsck: add "fsck_objects_options" to hold objects-related options
fsck: rename "skiplist" to "oid_skiplist"
fsck: add "fsck_refs_options" into "fsck_options"
fsck: add a unified interface for reporting fsck messages
fsck: add "fsck_refs_options" initialization macros
refs: set up ref consistency check infrastructure
builtin/refs: add verify subcommand
builtin/fsck: add `git-refs verify` child process
files-backend: add unified interface for refs scanning
fsck: add ref name check for files backend
fsck: add ref content check for files backend
Documentation/fsck-msgids.txt | 12 ++
Documentation/git-refs.txt | 13 ++
builtin/fsck.c | 44 ++++--
builtin/index-pack.c | 4 +-
builtin/mktag.c | 3 +-
builtin/refs.c | 44 ++++++
builtin/unpack-objects.c | 4 +-
fetch-pack.c | 10 +-
fsck.c | 158 +++++++++++++++------
fsck.h | 115 ++++++++++-----
object-file.c | 13 +-
refs.c | 7 +-
refs.h | 8 ++
refs/debug.c | 11 ++
refs/files-backend.c | 255 +++++++++++++++++++++++++++++++++-
refs/packed-backend.c | 8 ++
refs/refs-internal.h | 11 +-
refs/reftable-backend.c | 8 ++
t/t0602-reffiles-fsck.sh | 211 ++++++++++++++++++++++++++++
19 files changed, 824 insertions(+), 115 deletions(-)
create mode 100755 t/t0602-reffiles-fsck.sh
Range-diff against v5:
1: d83b5797cb < -: ---------- fsck: rename "fsck_options" to "fsck_objects_options"
2: 88000b092a < -: ---------- fsck: use "fsck_configs" to set up configs
3: 65093bae64 < -: ---------- fsck: abstract common options for reusing
4: 403750da30 < -: ---------- fsck: add "fsck_refs_options" struct
5: 8dea5654d5 < -: ---------- fsck: add a unified interface for reporting fsck messages
-: ---------- > 1: d32ae41a4d fsck: add "fsck_objects_options" to hold objects-related options
-: ---------- > 2: 589a7a6fac fsck: rename "skiplist" to "oid_skiplist"
-: ---------- > 3: bab97d7c82 fsck: add "fsck_refs_options" into "fsck_options"
-: ---------- > 4: 276da52a6b fsck: add a unified interface for reporting fsck messages
6: 8fb62b54c6 ! 5: e93940c50c fsck: add "fsck_refs_options" initialization macros
@@ Commit message
fsck: add "fsck_refs_options" initialization macros
Add "FSCK_REFS_OPTIONS_DEFAULT" and "FSCK_REFS_OPTIONS_STRICT" macros to
- create the "fsck_refs_options" easily. Add refs-specific "error_func"
- callback "fsck_refs_error_function".
+ create the refs options easily. Add refs-specific "error_func" callback
+ "fsck_refs_error_function".
"fsck_refs_error_function" will use the "oid" parameter. When the caller
passed the oid, it will use "oid_to_hex" to get the corresponding hex
@@ Commit message
Signed-off-by: shejialuo <shejialuo@gmail.com>
## fsck.c ##
-@@ fsck.c: int fsck_error_function(struct fsck_objects_options *objects_options,
+@@ fsck.c: int fsck_objects_error_function(struct fsck_options *o,
return 1;
}
-+int fsck_refs_error_function(struct fsck_objects_options *objects_options UNUSED,
-+ struct fsck_refs_options *refs_options,
++int fsck_refs_error_function(struct fsck_options *options UNUSED,
+ const struct object_id *oid,
+ enum object_type object_type UNUSED,
+ const char *checked_ref_name,
@@ fsck.c: int fsck_error_function(struct fsck_objects_options *objects_options,
+
static int fsck_blobs(struct oidset *blobs_found, struct oidset *blobs_done,
enum fsck_msg_id msg_missing, enum fsck_msg_id msg_type,
- struct fsck_objects_options *options,
+ struct fsck_options *options, const char *blob_type)
## fsck.h ##
-@@ fsck.h: int fsck_error_cb_print_missing_gitmodules(struct fsck_objects_options *objects_
- enum fsck_msg_type msg_type,
- enum fsck_msg_id msg_id,
- const char *message);
-+int fsck_refs_error_function(struct fsck_objects_options *objects_options,
-+ struct fsck_refs_options *refs_options,
+@@ fsck.h: int fsck_objects_error_cb_print_missing_gitmodules(struct fsck_options *o,
+ enum fsck_msg_type msg_type,
+ enum fsck_msg_id msg_id,
+ const char *message);
++int fsck_refs_error_function(struct fsck_options *options,
+ const struct object_id *oid,
+ enum object_type object_type,
+ const char *checked_ref_name,
@@ fsck.h: int fsck_error_cb_print_missing_gitmodules(struct fsck_objects_options *
+ enum fsck_msg_id msg_id,
+ const char *message);
- struct fsck_options {
- fsck_error error_func;
-@@ fsck.h: struct fsck_options {
struct fsck_refs_options {
- struct fsck_options fsck_options;
- };
+ unsigned verbose:1;
+@@ fsck.h: struct fsck_options {
+ .gitattributes_done = OIDSET_INIT, \
+ } \
+ }
+#define FSCK_REFS_OPTIONS_DEFAULT { \
-+ .fsck_options = { \
-+ .error_func = fsck_refs_error_function, \
-+ }, \
++ .error_func = fsck_refs_error_function, \
+}
+#define FSCK_REFS_OPTIONS_STRICT { \
-+ .fsck_options = { \
-+ .error_func = fsck_refs_error_function, \
-+ .strict = 1, \
-+ }, \
++ .strict = 1, \
++ .error_func = fsck_refs_error_function, \
+}
- struct fsck_objects_options {
- struct fsck_options fsck_options;
+ /* descend in all linked child objects
+ * the return value is:
7: 2ecd1f5407 ! 6: 85aa953f6d refs: set up ref consistency check infrastructure
@@ refs.c: int check_refname_format(const char *refname, int flags)
return check_or_sanitize_refname(refname, flags, NULL);
}
-+int refs_fsck(struct ref_store *refs, struct fsck_refs_options *o)
++int refs_fsck(struct ref_store *refs, struct fsck_options *o)
+{
+ return refs->be->fsck(refs, o);
+}
@@ refs.h
#include "commit.h"
-+struct fsck_refs_options;
++struct fsck_options;
struct object_id;
struct ref_store;
struct repository;
@@ refs.h: int refs_for_each_reflog(struct ref_store *refs, each_reflog_fn fn, void
+ * reflogs are consistent, and non-zero otherwise. The errors will be
+ * written to stderr.
+ */
-+int refs_fsck(struct ref_store *refs, struct fsck_refs_options *o);
++int refs_fsck(struct ref_store *refs, struct fsck_options *o);
+
/*
* Apply the rules from check_refname_format, but mutate the result until it
@@ refs/debug.c: static int debug_reflog_expire(struct ref_store *ref_store, const
}
+static int debug_fsck(struct ref_store *ref_store,
-+ struct fsck_refs_options *o)
++ struct fsck_options *o)
+{
+ struct debug_ref_store *drefs = (struct debug_ref_store *)ref_store;
+ int res = drefs->refs->be->fsck(drefs->refs, o);
@@ refs/files-backend.c: static int files_ref_store_remove_on_disk(struct ref_store
}
+static int files_fsck(struct ref_store *ref_store,
-+ struct fsck_refs_options *o)
++ struct fsck_options *o)
+{
+ int ret;
+ struct files_ref_store *refs =
@@ refs/packed-backend.c: static struct ref_iterator *packed_reflog_iterator_begin(
}
+static int packed_fsck(struct ref_store *ref_store,
-+ struct fsck_refs_options *o)
++ struct fsck_options *o)
+{
+ return 0;
+}
@@ refs/refs-internal.h: typedef int read_raw_ref_fn(struct ref_store *ref_store, c
struct strbuf *referent);
+typedef int fsck_fn(struct ref_store *ref_store,
-+ struct fsck_refs_options *o);
++ struct fsck_options *o);
+
struct ref_storage_be {
const char *name;
@@ refs/reftable-backend.c: static int reftable_be_reflog_expire(struct ref_store *
}
+static int reftable_be_fsck(struct ref_store *ref_store,
-+ struct fsck_refs_options *o)
++ struct fsck_options *o)
+{
+ return 0;
+}
8: 534a3d00af ! 7: ce7adc7372 builtin/refs: add verify subcommand
@@ builtin/refs.c: static int cmd_refs_migrate(int argc, const char **argv, const c
+static int cmd_refs_verify(int argc, const char **argv, const char *prefix)
+{
-+ struct fsck_refs_options fsck_refs_options = FSCK_REFS_OPTIONS_DEFAULT;
++ struct fsck_options fsck_refs_options = FSCK_REFS_OPTIONS_DEFAULT;
+ const char * const verify_usage[] = {
+ REFS_VERIFY_USAGE,
+ NULL,
@@ builtin/refs.c: static int cmd_refs_migrate(int argc, const char **argv, const c
+ OPT_BOOL(0, "strict", &strict, N_("enable strict checking")),
+ OPT_END(),
+ };
++ int ret = 0;
+
+ argc = parse_options(argc, argv, prefix, options, verify_usage, 0);
+ if (argc)
+ usage(_("too many arguments"));
+
+ if (verbose)
-+ fsck_refs_options.fsck_options.verbose = 1;
++ fsck_refs_options.refs_options.verbose = 1;
+ if (strict)
-+ fsck_refs_options.fsck_options.strict = 1;
++ fsck_refs_options.strict = 1;
+
-+ git_config(git_fsck_config, &fsck_refs_options.fsck_options);
++ git_config(git_fsck_config, &fsck_refs_options);
+ prepare_repo_settings(the_repository);
+
-+ return refs_fsck(get_main_ref_store(the_repository), &fsck_refs_options);
++ ret = refs_fsck(get_main_ref_store(the_repository), &fsck_refs_options);
++
++ /*
++ * Explicitly free the allocated array and "oid_skiplist"
++ */
++ free(fsck_refs_options.msg_type);
++ oidset_clear(&fsck_refs_options.oid_skiplist);
++ return ret;
+}
+
int cmd_refs(int argc, const char **argv, const char *prefix)
9: 054c8cea89 = 8: 035eafe10b builtin/fsck: add `git-refs verify` child process
10: 7f87c6a26e ! 9: 9398bf3f0d files-backend: add unified interface for refs scanning
@@ refs/files-backend.c: static int files_ref_store_remove_on_disk(struct ref_store
+ * the whole directory. This function is used as the callback for each
+ * regular file or symlink in the directory.
+ */
-+typedef int (*files_fsck_refs_fn)(struct fsck_refs_options *o,
++typedef int (*files_fsck_refs_fn)(struct fsck_options *o,
+ const char *gitdir,
+ const char *refs_check_dir,
+ struct dir_iterator *iter);
+
+static int files_fsck_refs_dir(struct ref_store *ref_store,
-+ struct fsck_refs_options *o,
++ struct fsck_options *o,
+ const char *refs_check_dir,
+ files_fsck_refs_fn *fsck_refs_fns)
+{
@@ refs/files-backend.c: static int files_ref_store_remove_on_disk(struct ref_store
+ continue;
+ } else if (S_ISREG(iter->st.st_mode) ||
+ S_ISLNK(iter->st.st_mode)) {
-+ if (o->fsck_options.verbose)
++ if (o->refs_options.verbose)
+ fprintf_ln(stderr, "Checking %s/%s",
+ refs_check_dir, iter->relative_path);
+ for (size_t i = 0; fsck_refs_fns[i]; i++) {
@@ refs/files-backend.c: static int files_ref_store_remove_on_disk(struct ref_store
+}
+
+static int files_fsck_refs(struct ref_store *ref_store,
-+ struct fsck_refs_options *o)
++ struct fsck_options *o)
+{
+ int ret;
+ files_fsck_refs_fn fsck_refs_fns[]= {
+ NULL
+ };
+
-+ if (o->fsck_options.verbose)
++ if (o->refs_options.verbose)
+ fprintf_ln(stderr, "Checking references consistency");
+
+ ret = files_fsck_refs_dir(ref_store, o, "refs", fsck_refs_fns);
@@ refs/files-backend.c: static int files_ref_store_remove_on_disk(struct ref_store
+}
+
static int files_fsck(struct ref_store *ref_store,
- struct fsck_refs_options *o)
+ struct fsck_options *o)
{
@@ refs/files-backend.c: static int files_fsck(struct ref_store *ref_store,
struct files_ref_store *refs =
11: 7d78014e5f ! 10: 046773e35c fsck: add ref name check for files backend
@@ fsck.h: enum fsck_msg_type {
FUNC(BAD_TREE_SHA1, ERROR) \
## refs/files-backend.c ##
-@@ refs/files-backend.c: typedef int (*files_fsck_refs_fn)(struct fsck_refs_options *o,
+@@ refs/files-backend.c: typedef int (*files_fsck_refs_fn)(struct fsck_options *o,
const char *refs_check_dir,
struct dir_iterator *iter);
-+static int files_fsck_refs_name(struct fsck_refs_options *o,
++static int files_fsck_refs_name(struct fsck_options *o,
+ const char *gitdir UNUSED,
+ const char *refs_check_dir,
+ struct dir_iterator *iter)
@@ refs/files-backend.c: typedef int (*files_fsck_refs_fn)(struct fsck_refs_options
+}
+
static int files_fsck_refs_dir(struct ref_store *ref_store,
- struct fsck_refs_options *o,
+ struct fsck_options *o,
const char *refs_check_dir,
@@ refs/files-backend.c: static int files_fsck_refs(struct ref_store *ref_store,
{
12: 16209a73ed ! 11: c9b9599589 fsck: add ref content check for files backend
@@ refs/files-backend.c: int parse_loose_ref_contents(const char *buf, struct objec
return 0;
}
-@@ refs/files-backend.c: static int files_fsck_refs_name(struct fsck_refs_options *o,
+@@ refs/files-backend.c: static int files_fsck_refs_name(struct fsck_options *o,
return ret;
}
@@ refs/files-backend.c: static int files_fsck_refs_name(struct fsck_refs_options *
+ * would be the content after "refs:". For symblic link, "pointee_name" would
+ * be the relative path agaignst "gitdir".
+ */
-+static int files_fsck_symref_target(struct fsck_refs_options *o,
++static int files_fsck_symref_target(struct fsck_options *o,
+ const char *refname,
+ const char *pointee_name,
+ const char *pointee_path)
@@ refs/files-backend.c: static int files_fsck_refs_name(struct fsck_refs_options *
+ return ret;
+}
+
-+static int files_fsck_refs_content(struct fsck_refs_options *o,
++static int files_fsck_refs_content(struct fsck_options *o,
+ const char *gitdir,
+ const char *refs_check_dir,
+ struct dir_iterator *iter)
@@ refs/files-backend.c: static int files_fsck_refs_name(struct fsck_refs_options *
+}
+
static int files_fsck_refs_dir(struct ref_store *ref_store,
- struct fsck_refs_options *o,
+ struct fsck_options *o,
const char *refs_check_dir,
@@ refs/files-backend.c: static int files_fsck_refs(struct ref_store *ref_store,
int ret;
--
2.45.2
next prev parent reply other threads:[~2024-07-01 15:14 UTC|newest]
Thread overview: 282+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-30 12:27 [GSoC][PATCH 0/2] ref consistency check infra setup shejialuo
2024-05-30 12:27 ` [GSoC][PATCH 1/2] refs: setup ref consistency check infrastructure shejialuo
2024-05-31 14:23 ` Junio C Hamano
2024-05-31 15:20 ` shejialuo
2024-06-03 7:22 ` Patrick Steinhardt
2024-06-03 8:56 ` Karthik Nayak
2024-06-03 22:03 ` Eric Sunshine
2024-05-30 12:27 ` [GSoC][PATCH 2/2] refs: add name and content check for file backend shejialuo
2024-05-31 14:23 ` Junio C Hamano
2024-05-31 16:00 ` shejialuo
2024-05-31 18:31 ` Eric Sunshine
2024-06-03 7:22 ` Patrick Steinhardt
2024-06-12 8:53 ` [GSoC][PATCH v2 0/7] ref consistency check infra setup shejialuo
2024-06-12 8:53 ` [GSoC][PATCH v2 1/7] fsck: add refs check interfaces to interface with fsck error levels shejialuo
2024-06-12 8:53 ` [GSoC][PATCH v2 2/7] refs: set up ref consistency check infrastructure shejialuo
2024-06-15 14:50 ` Karthik Nayak
2024-06-12 8:53 ` [GSoC][PATCH v2 3/7] builtin/refs: add verify subcommand shejialuo
2024-06-15 14:57 ` Karthik Nayak
2024-06-12 8:53 ` [GSoC][PATCH v2 4/7] builtin/fsck: add `git-refs verify` child process shejialuo
2024-06-15 15:02 ` Karthik Nayak
2024-06-12 8:53 ` [GSoC][PATCH v2 5/7] files-backend: add unified interface for refs scanning shejialuo
2024-06-15 20:51 ` Karthik Nayak
2024-06-18 9:09 ` shejialuo
2024-06-12 8:53 ` [GSoC][PATCH v2 6/7] fsck: add ref name check for files backend shejialuo
2024-06-12 8:53 ` [GSoC][PATCH v2 7/7] fsck: add ref content " shejialuo
2024-06-13 19:38 ` Junio C Hamano
2024-06-14 5:20 ` shejialuo
2024-06-14 15:23 ` Junio C Hamano
2024-06-14 17:05 ` jialuo she
2024-06-14 18:56 ` Junio C Hamano
2024-06-12 12:10 ` [GSoC][PATCH v2 0/7] ref consistency check infra setup shejialuo
2024-06-18 8:14 ` [GSoC][PATCH v3 " shejialuo
2024-06-18 15:42 ` Junio C Hamano
2024-06-18 15:56 ` jialuo she
2024-06-18 8:15 ` [GSoC][PATCH v3 1/7] fsck: add refs check interfaces to interface with fsck error levels shejialuo
2024-06-18 8:38 ` Karthik Nayak
2024-06-18 8:46 ` shejialuo
2024-06-18 15:25 ` Junio C Hamano
2024-06-18 15:47 ` jialuo she
2024-06-19 2:39 ` shejialuo
2024-06-18 8:17 ` [PATCH v3 2/7] refs: set up ref consistency check infrastructure shejialuo
2024-06-18 8:18 ` [PATCH v3 3/7] builtin/refs: add verify subcommand shejialuo
2024-06-18 8:44 ` Karthik Nayak
2024-06-18 8:48 ` shejialuo
2024-06-18 8:18 ` [PATCH v3 4/7] builtin/fsck: add `git-refs verify` child process shejialuo
2024-06-18 8:18 ` [PATCH v3 5/7] files-backend: add unified interface for refs scanning shejialuo
2024-06-18 8:19 ` [PATCH v3 6/7] fsck: add ref name check for files backend shejialuo
2024-06-18 8:20 ` [PATCH v3 7/7] fsck: add ref content " shejialuo
2024-06-19 7:37 ` [GSoC][PATCH v4 0/7] ref consistency check infra setup shejialuo
2024-06-19 7:41 ` [GSoC][PATCH v4 1/7] fsck: add refs check interfaces to interact with fsck error levels shejialuo
2024-06-20 17:24 ` Junio C Hamano
2024-06-21 2:24 ` shejialuo
2024-06-19 7:41 ` [GSoC][PATCH v4 2/7] refs: set up ref consistency check infrastructure shejialuo
2024-06-19 7:42 ` [GSoC][PATCH v4 3/7] builtin/refs: add verify subcommand shejialuo
2024-06-19 7:42 ` [GSoC][PATCH v4 4/7] builtin/fsck: add `git-refs verify` child process shejialuo
2024-06-19 7:43 ` [GSoC][PATCH v4 5/7] files-backend: add unified interface for refs scanning shejialuo
2024-06-19 7:44 ` [GSoC][PATCH v4 6/7] fsck: add ref name check for files backend shejialuo
2024-06-19 7:44 ` [GSoC][PATCH v4 7/7] fsck: add ref content " shejialuo
2024-06-27 15:08 ` [GSoC][PATCH v5 00/12] ref consistency check infra setup shejialuo
2024-06-27 15:12 ` [GSoC][PATCH v5 01/12] fsck: rename "fsck_options" to "fsck_objects_options" shejialuo
2024-06-27 21:32 ` Junio C Hamano
2024-06-28 3:43 ` shejialuo
2024-06-27 15:13 ` [GSoC][PATCH v5 02/12] fsck: use "fsck_configs" to set up configs shejialuo
2024-06-27 21:43 ` Junio C Hamano
2024-06-28 4:22 ` shejialuo
2024-06-27 15:13 ` [GSoC][PATCH v5 03/12] fsck: abstract common options for reusing shejialuo
2024-06-27 15:13 ` [GSoC][PATCH v5 04/12] fsck: add "fsck_refs_options" struct shejialuo
2024-06-27 15:14 ` [GSoC][PATCH v5 05/12] fsck: add a unified interface for reporting fsck messages shejialuo
2024-06-27 15:14 ` [GSoC][PATCH v5 06/12] fsck: add "fsck_refs_options" initialization macros shejialuo
2024-06-27 15:15 ` [GSoC][PATCH v5 07/12] refs: set up ref consistency check infrastructure shejialuo
2024-06-27 15:15 ` [GSoC][PATCH v5 08/12] builtin/refs: add verify subcommand shejialuo
2024-06-27 15:16 ` [GSoC][PATCH v5 09/12] builtin/fsck: add `git-refs verify` child process shejialuo
2024-06-27 15:16 ` [GSoC][PATCH v5 10/12] files-backend: add unified interface for refs scanning shejialuo
2024-06-27 15:17 ` [GSoC][PATCH v5 11/12] fsck: add ref name check for files backend shejialuo
2024-06-27 15:18 ` [GSoC][PATCH v5 12/12] fsck: add ref content " shejialuo
2024-07-01 15:13 ` shejialuo [this message]
2024-07-01 15:18 ` [PATCH v6 01/11] fsck: add "fsck_objects_options" to hold objects-related options shejialuo
2024-07-01 15:19 ` [GSoC][PATCH v6 02/11] fsck: rename "skiplist" to "oid_skiplist" shejialuo
2024-07-01 15:19 ` [GSoC][PATCH v6 03/11] fsck: add "fsck_refs_options" into "fsck_options" shejialuo
2024-07-01 15:19 ` [GSoC][PATCH v6 04/11] fsck: add a unified interface for reporting fsck messages shejialuo
2024-07-01 15:19 ` [GSoC][PATCH v6 05/11] fsck: add "fsck_refs_options" initialization macros shejialuo
2024-07-01 15:20 ` [GSoC][PATCH v6 06/11] refs: set up ref consistency check infrastructure shejialuo
2024-07-01 15:20 ` [GSoC][PATCH v6 07/11] builtin/refs: add verify subcommand shejialuo
2024-07-01 15:21 ` [GSoC][PATCH v6 08/11] builtin/fsck: add `git-refs verify` child process shejialuo
2024-07-01 15:21 ` [GSoC][PATCH v6 09/11] files-backend: add unified interface for refs scanning shejialuo
2024-07-01 15:21 ` [GSoC][PATCH v6 10/11] fsck: add ref name check for files backend shejialuo
2024-07-01 15:22 ` [GSoC][PATCH v6 11/11] fsck: add ref content " shejialuo
2024-07-02 10:33 ` [GSoC][PATCH v6 00/11] ref consistency check infra setup Karthik Nayak
2024-07-02 12:15 ` shejialuo
2024-07-02 15:39 ` Junio C Hamano
2024-07-03 13:53 ` [GSoC][PATCH v7 0/9] " shejialuo
2024-07-03 13:56 ` [GSoC][PATCH v7 1/9] fsck: rename "skiplist" to "oid_skiplist" shejialuo
2024-07-05 22:07 ` Justin Tobler
2024-07-08 12:06 ` shejialuo
2024-07-03 13:56 ` [GSoC][PATCH v7 2/9] fsck: add a unified interface for reporting fsck messages shejialuo
2024-07-05 22:43 ` Justin Tobler
2024-07-08 12:12 ` shejialuo
2024-07-03 13:57 ` [GSoC][PATCH v7 3/9] fsck: add refs-related options and error report function shejialuo
2024-07-03 13:57 ` [GSoC][PATCH v7 4/9] refs: set up ref consistency check infrastructure shejialuo
2024-07-03 13:58 ` [GSoC][PATCH v7 5/9] builtin/refs: add verify subcommand shejialuo
2024-07-03 13:58 ` [GSoC][PATCH v7 6/9] builtin/fsck: add `git-refs verify` child process shejialuo
2024-07-03 13:58 ` [GSoC][PATCH v7 7/9] files-backend: add unified interface for refs scanning shejialuo
2024-07-03 13:59 ` [GSoC][PATCH v7 8/9] fsck: add ref name check for files backend shejialuo
2024-07-03 13:59 ` [GSoC][PATCH v7 9/9] fsck: add ref content " shejialuo
2024-07-08 13:32 ` [GSoC][PATCH v8 0/9] ref consistency check infra setup shejialuo
2024-07-08 13:34 ` [GSoC][PATCH v8 1/9] fsck: rename "skiplist" to "oid_skiplist" shejialuo
2024-07-08 13:35 ` [GSoC][PATCH v8 2/9] fsck: add a unified interface for reporting fsck messages shejialuo
2024-07-08 14:36 ` Karthik Nayak
2024-07-08 15:01 ` shejialuo
2024-07-08 17:11 ` Karthik Nayak
2024-07-08 13:35 ` [GSoC][PATCH v8 3/9] fsck: add refs-related options and error report function shejialuo
2024-07-08 14:49 ` Karthik Nayak
2024-07-08 15:32 ` shejialuo
2024-07-08 13:35 ` [GSoC][PATCH v8 4/9] refs: set up ref consistency check infrastructure shejialuo
2024-07-08 13:36 ` [GSoC][PATCH v8 5/9] builtin/refs: add verify subcommand shejialuo
2024-07-08 13:36 ` [GSoC][PATCH v8 6/9] builtin/fsck: add `git-refs verify` child process shejialuo
2024-07-08 13:36 ` [GSoC][PATCH v8 7/9] files-backend: add unified interface for refs scanning shejialuo
2024-07-08 13:36 ` [GSoC][PATCH v8 8/9] fsck: add ref name check for files backend shejialuo
2024-07-08 13:37 ` [GSoC][PATCH v8 9/9] fsck: add ref content " shejialuo
2024-07-09 12:32 ` [GSoC][PATCH v9 0/9] ref consistency check infra setup shejialuo
2024-07-09 12:34 ` [GSoC][PATCH v9 1/9] fsck: rename "skiplist" to "skip_oids" shejialuo
2024-07-09 12:35 ` [GSoC][PATCH v9 2/9] fsck: add a unified interface for reporting fsck messages shejialuo
2024-07-09 20:24 ` Justin Tobler
2024-07-10 12:09 ` shejialuo
2024-07-09 12:35 ` [GSoC][PATCH v9 3/9] fsck: add refs-related options and error report function shejialuo
2024-07-09 21:29 ` Justin Tobler
2024-07-09 21:40 ` Eric Sunshine
2024-07-10 12:13 ` shejialuo
2024-07-10 12:28 ` shejialuo
2024-07-09 12:35 ` [GSoC][PATCH v9 4/9] refs: set up ref consistency check infrastructure shejialuo
2024-07-09 22:11 ` Justin Tobler
2024-07-10 12:29 ` shejialuo
2024-07-09 12:35 ` [GSoC][PATCH v9 5/9] builtin/refs: add verify subcommand shejialuo
2024-07-09 22:30 ` Justin Tobler
2024-07-10 12:32 ` shejialuo
2024-07-09 12:36 ` [GSoC][PATCH v9 6/9] builtin/fsck: add `git-refs verify` child process shejialuo
2024-07-09 12:36 ` [GSoC][PATCH v9 7/9] files-backend: add unified interface for refs scanning shejialuo
2024-07-09 12:36 ` [GSoC][PATCH v9 8/9] fsck: add ref name check for files backend shejialuo
2024-07-09 12:36 ` [GSoC][PATCH v9 9/9] fsck: add ref content " shejialuo
2024-07-10 14:43 ` [GSoC][PATCH v10 00/10] ref consistency check infra setup shejialuo
2024-07-10 14:46 ` [GSoC][PATCH v10 01/10] fsck: rename "skiplist" to "skip_oids" shejialuo
2024-07-10 14:46 ` [GSoC][PATCH v10 02/10] fsck: rename objects-related fsck error functions shejialuo
2024-07-10 14:47 ` [GSoC][PATCH v10 03/10] fsck: add a unified interface for reporting fsck messages shejialuo
2024-07-10 21:04 ` Junio C Hamano
2024-07-11 11:59 ` shejialuo
2024-07-10 14:47 ` [GSoC][PATCH v10 04/10] fsck: add refs-related error report function shejialuo
2024-07-10 14:47 ` [GSoC][PATCH v10 05/10] refs: set up ref consistency check infrastructure shejialuo
2024-07-10 14:47 ` [GSoC][PATCH v10 06/10] builtin/refs: add verify subcommand and verbose_refs for "fsck_options" shejialuo
2024-07-10 21:31 ` Junio C Hamano
2024-07-11 12:39 ` shejialuo
2024-07-10 14:48 ` [GSoC][PATCH v10 07/10] builtin/fsck: add `git-refs verify` child process shejialuo
2024-07-10 14:48 ` [GSoC][PATCH v10 08/10] files-backend: add unified interface for refs scanning shejialuo
2024-07-10 14:48 ` [GSoC][PATCH v10 09/10] fsck: add ref name check for files backend shejialuo
2024-07-10 14:48 ` [GSoC][PATCH v10 10/10] fsck: add ref content " shejialuo
2024-07-14 12:28 ` [GSoC][PATCH v11 00/10] ref consistency check infra setup shejialuo
2024-07-14 12:30 ` [GSoC][PATCH v11 01/10] fsck: rename "skiplist" to "skip_oids" shejialuo
2024-07-14 12:31 ` [GSoC][PATCH v11 02/10] fsck: add a unified interface for reporting fsck messages shejialuo
2024-07-18 13:26 ` Karthik Nayak
2024-07-20 7:24 ` shejialuo
2024-07-14 12:31 ` [GSoC][PATCH v11 03/10] fsck: rename objects-related fsck error functions shejialuo
2024-07-14 12:31 ` [GSoC][PATCH v11 04/10] fsck: add refs-related error report function shejialuo
2024-07-14 12:31 ` [GSoC][PATCH v11 05/10] refs: set up ref consistency check infrastructure shejialuo
2024-07-14 12:31 ` [GSoC][PATCH v11 06/10] git refs: add verify subcommand shejialuo
2024-07-14 12:32 ` [GSoC][PATCH v11 07/10] builtin/fsck: add `git-refs verify` child process shejialuo
2024-07-14 12:32 ` [GSoC][PATCH v11 08/10] files-backend: add unified interface for refs scanning shejialuo
2024-07-14 12:32 ` [GSoC][PATCH v11 09/10] fsck: add ref name check for files backend shejialuo
2024-07-14 12:32 ` [GSoC][PATCH v11 10/10] fsck: add ref content " shejialuo
2024-07-18 14:31 ` Karthik Nayak
2024-07-18 16:03 ` Junio C Hamano
2024-07-19 8:33 ` Karthik Nayak
2024-07-20 7:16 ` shejialuo
2024-07-20 8:43 ` shejialuo
2024-07-20 9:25 ` [GSoC][PATCH v12 00/10] ref consistency check infra setup shejialuo
2024-07-20 9:27 ` [GSoC][PATCH v12 01/10] fsck: rename "skiplist" to "skip_oids" shejialuo
2024-07-20 9:27 ` [GSoC][PATCH v12 02/10] fsck: add a unified interface for reporting fsck messages shejialuo
2024-07-23 8:35 ` Karthik Nayak
2024-07-20 9:27 ` [GSoC][PATCH v12 03/10] fsck: rename objects-related fsck error functions shejialuo
2024-07-20 9:28 ` [GSoC][PATCH v12 04/10] fsck: add refs-related error report function shejialuo
2024-07-20 9:28 ` [GSoC][PATCH v12 05/10] refs: set up ref consistency check infrastructure shejialuo
2024-07-20 9:28 ` [GSoC][PATCH v12 06/10] git refs: add verify subcommand shejialuo
2024-07-20 9:28 ` [GSoC][PATCH v12 07/10] builtin/fsck: add `git-refs verify` child process shejialuo
2024-07-20 9:28 ` [GSoC][PATCH v12 08/10] files-backend: add unified interface for refs scanning shejialuo
2024-07-20 9:29 ` [GSoC][PATCH v12 09/10] fsck: add ref name check for files backend shejialuo
2024-07-20 9:29 ` [GSoC][PATCH v12 10/10] fsck: add ref content " shejialuo
2024-07-29 13:22 ` [GSoC][PATCH v13 00/10] ref consistency check infra setup shejialuo
2024-07-29 13:26 ` [GSoC][PATCH v13 01/10] fsck: rename "skiplist" to "skip_oids" shejialuo
2024-07-29 13:26 ` [GSoC][PATCH v13 02/10] fsck: add a unified interface for reporting fsck messages shejialuo
2024-07-30 8:31 ` Patrick Steinhardt
2024-07-30 14:56 ` shejialuo
2024-07-29 13:26 ` [GSoC][PATCH v13 03/10] fsck: rename objects-related fsck error functions shejialuo
2024-07-30 8:31 ` Patrick Steinhardt
2024-07-30 14:59 ` shejialuo
2024-07-29 13:26 ` [GSoC][PATCH v13 04/10] fsck: add refs-related error report function shejialuo
2024-07-30 8:31 ` Patrick Steinhardt
2024-07-30 15:09 ` shejialuo
2024-07-29 13:27 ` [GSoC][PATCH v13 05/10] refs: set up ref consistency check infrastructure shejialuo
2024-07-30 8:31 ` Patrick Steinhardt
2024-07-30 15:10 ` shejialuo
2024-07-29 13:27 ` [GSoC][PATCH v13 06/10] git refs: add verify subcommand shejialuo
2024-07-30 8:31 ` Patrick Steinhardt
2024-07-30 15:59 ` shejialuo
2024-07-30 17:56 ` Eric Sunshine
2024-07-29 13:27 ` [GSoC][PATCH v13 07/10] builtin/fsck: add `git-refs verify` child process shejialuo
2024-07-29 13:27 ` [GSoC][PATCH v13 08/10] files-backend: add unified interface for refs scanning shejialuo
2024-07-30 8:31 ` Patrick Steinhardt
2024-07-30 16:10 ` shejialuo
2024-07-29 13:27 ` [GSoC][PATCH v13 09/10] fsck: add ref name check for files backend shejialuo
2024-07-30 8:31 ` Patrick Steinhardt
2024-07-30 16:14 ` shejialuo
2024-07-29 13:27 ` [GSoC][PATCH v13 10/10] fsck: add ref content " shejialuo
2024-07-30 8:31 ` Patrick Steinhardt
2024-07-30 16:25 ` shejialuo
2024-07-30 22:06 ` Junio C Hamano
2024-07-31 16:19 ` shejialuo
2024-07-30 8:31 ` [GSoC][PATCH v13 00/10] ref consistency check infra setup Patrick Steinhardt
2024-07-30 16:29 ` shejialuo
2024-08-01 15:11 ` [GSoC][PATCH v14 00/11] " shejialuo
2024-08-01 15:13 ` [GSoC][PATCH v14 01/11] fsck: rename "skiplist" to "skip_oids" shejialuo
2024-08-01 15:13 ` [GSoC][PATCH v14 02/11] fsck: make "fsck_error" callback generic shejialuo
2024-08-01 15:13 ` [GSoC][PATCH v14 03/11] fsck: add a unified interface for reporting fsck messages shejialuo
2024-08-05 12:58 ` Patrick Steinhardt
2024-08-05 15:10 ` shejialuo
2024-08-01 15:14 ` [GSoC][PATCH v14 04/11] fsck: add refs report function shejialuo
2024-08-05 12:58 ` Patrick Steinhardt
2024-08-01 15:14 ` [GSoC][PATCH v14 05/11] fsck: add refs-related error callback shejialuo
2024-08-05 12:58 ` Patrick Steinhardt
2024-08-01 15:14 ` [GSoC][PATCH v14 06/11] fsck: rename objects-related fsck error functions shejialuo
2024-08-05 12:58 ` Patrick Steinhardt
2024-08-01 15:14 ` [GSoC][PATCH v14 07/11] refs: set up ref consistency check infrastructure shejialuo
2024-08-01 15:14 ` [GSoC][PATCH v14 08/11] builtin/refs: add verify subcommand shejialuo
2024-08-01 15:15 ` [GSoC][PATCH v14 09/11] builtin/fsck: add `git-refs verify` child process shejialuo
2024-08-05 12:58 ` Patrick Steinhardt
2024-08-05 15:18 ` shejialuo
2024-08-05 18:11 ` Junio C Hamano
2024-08-05 18:36 ` shejialuo
2024-08-05 19:38 ` Junio C Hamano
2024-08-06 0:42 ` shejialuo
2024-08-06 6:04 ` Patrick Steinhardt
2024-08-06 15:54 ` Junio C Hamano
2024-08-07 4:49 ` Patrick Steinhardt
2024-08-06 5:29 ` Patrick Steinhardt
2024-08-01 15:15 ` [GSoC][PATCH v14 10/11] files-backend: add unified interface for refs scanning shejialuo
2024-08-05 12:58 ` Patrick Steinhardt
2024-08-01 15:15 ` [GSoC][PATCH v14 11/11] fsck: add ref name check for files backend shejialuo
2024-08-05 12:58 ` Patrick Steinhardt
2024-08-05 12:58 ` [GSoC][PATCH v14 00/11] ref consistency check infra setup Patrick Steinhardt
2024-08-05 16:43 ` [GSoC][PATCH v15 0/9] " shejialuo
2024-08-05 16:45 ` [GSoC][PATCH v15 1/9] fsck: rename "skiplist" to "skip_oids" shejialuo
2024-08-05 16:45 ` [GSoC][PATCH v15 2/9] fsck: rename objects-related fsck error functions shejialuo
2024-08-05 16:45 ` [GSoC][PATCH v15 3/9] fsck: make "fsck_error" callback generic shejialuo
2024-08-07 8:03 ` Karthik Nayak
2024-08-05 16:45 ` [GSoC][PATCH v15 4/9] fsck: add a unified interface for reporting fsck messages shejialuo
2024-08-07 8:05 ` Karthik Nayak
2024-08-05 16:45 ` [GSoC][PATCH v15 5/9] fsck: add refs report function shejialuo
2024-08-06 7:32 ` Patrick Steinhardt
2024-08-05 16:46 ` [GSoC][PATCH v15 6/9] refs: set up ref consistency check infrastructure shejialuo
2024-08-05 16:46 ` [GSoC][PATCH v15 7/9] builtin/refs: add verify subcommand shejialuo
2024-08-06 7:32 ` Patrick Steinhardt
2024-08-06 16:15 ` Junio C Hamano
2024-08-07 5:55 ` Patrick Steinhardt
2024-08-07 12:50 ` shejialuo
2024-08-08 10:22 ` Karthik Nayak
2024-08-07 15:55 ` Junio C Hamano
2024-08-05 16:46 ` [GSoC][PATCH v15 8/9] files-backend: add unified interface for refs scanning shejialuo
2024-08-06 7:33 ` Patrick Steinhardt
2024-08-05 16:46 ` [GSoC][PATCH v15 9/9] fsck: add ref name check for files backend shejialuo
2024-08-06 7:32 ` [GSoC][PATCH v15 0/9] ref consistency check infra setup Patrick Steinhardt
2024-08-07 9:29 ` Karthik Nayak
2024-08-08 11:21 ` [GSoC][PATCH v16 " shejialuo
2024-08-08 11:24 ` [GSoC][PATCH v16 1/9] fsck: rename "skiplist" to "skip_oids" shejialuo
2024-08-08 11:24 ` [GSoC][PATCH v16 2/9] fsck: rename objects-related fsck error functions shejialuo
2024-08-08 11:26 ` [GSoC][PATCH v16 3/9] fsck: make "fsck_error" callback generic shejialuo
2024-08-08 11:26 ` [GSoC][PATCH v16 4/9] fsck: add a unified interface for reporting fsck messages shejialuo
2024-08-08 11:27 ` [GSoC][PATCH v16 5/9] fsck: add refs report function shejialuo
2024-08-08 11:27 ` [GSoC][PATCH v16 6/9] refs: set up ref consistency check infrastructure shejialuo
2024-08-08 11:27 ` [GSoC][PATCH v16 7/9] builtin/refs: add verify subcommand shejialuo
2024-10-04 19:14 ` [PATCH 1/2] refs.c: remove redundant translation markers Teng Long
2024-10-06 10:01 ` shejialuo
2024-08-08 11:31 ` [GSoC][PATCH v16 8/9] files-backend: add unified interface for refs scanning shejialuo
2024-08-08 11:31 ` [GSoC][PATCH v16 9/9] fsck: add ref name check for files backend shejialuo
2024-08-08 11:54 ` [GSoC][PATCH v16 0/9] ref consistency check infra setup Patrick Steinhardt
2024-08-08 16:37 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZoLHtmOKTfxMSxvw@ArchLinux \
--to=shejialuo@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=karthik.188@gmail.com \
--cc=ps@pks.im \
--cc=sunshine@sunshineco.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).