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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.