git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: shejialuo <shejialuo@gmail.com>
To: Patrick Steinhardt <ps@pks.im>
Cc: git@vger.kernel.org, Karthik Nayak <karthik.188@gmail.com>,
	Junio C Hamano <gitster@pobox.com>,
	Eric Sunshine <sunshine@sunshineco.com>,
	Justin Tobler <jltobler@gmail.com>
Subject: Re: [GSoC][PATCH v13 02/10] fsck: add a unified interface for reporting fsck messages
Date: Tue, 30 Jul 2024 22:56:22 +0800	[thread overview]
Message-ID: <Zqj_FmazX6SW98Eq@ArchLinux> (raw)
In-Reply-To: <Zqik1JFs-RYCwNnz@tanuki>

On Tue, Jul 30, 2024 at 10:31:16AM +0200, Patrick Steinhardt wrote:
> On Mon, Jul 29, 2024 at 09:26:30PM +0800, shejialuo wrote:
> > The static function "report" provided by "fsck.c" aims at checking fsck
> > error type and calling the callback "error_func" to report the message.
> > However, "report" function is only related to object database which
> > cannot be reused for refs.
> 
> Nit: it would be nice to mention _why_ it cannot be reused for refs.
> 
> > diff --git a/fsck.c b/fsck.c
> > index 3f32441492..1185e9a8ad 100644
> > --- a/fsck.c
> > +++ b/fsck.c
> > @@ -226,12 +226,18 @@ static int object_on_skiplist(struct fsck_options *opts,
> >  	return opts && oid && oidset_contains(&opts->skip_oids, oid);
> >  }
> >  
> > -__attribute__((format (printf, 5, 6)))
> > -static int report(struct fsck_options *options,
> > -		  const struct object_id *oid, enum object_type object_type,
> > -		  enum fsck_msg_id msg_id, const char *fmt, ...)
> > +/*
> > + * Provide a unified interface for either fscking refs or objects.
> > + * It will get the current msg error type and call the error_func callback
> > + * which is registered in the "fsck_options" struct.
> > + */
> > +static int fsck_vreport(struct fsck_options *options,
> > +			const struct object_id *oid,
> > +			enum object_type object_type,
> > +			const struct fsck_refs_info *refs_info,
> > +			enum fsck_msg_id msg_id, const char *fmt, va_list ap)
> >  {
> > -	va_list ap;
> > +	va_list ap_copy;
> >  	struct strbuf sb = STRBUF_INIT;
> >  	enum fsck_msg_type msg_type = fsck_msg_type(msg_id, options);
> >  	int result;
> 
> It is a bit weird that this new generic function receives non-generic
> inputs which are specific to the respective subsystems (objects or refs)
> that we are checking.
> 

Actually, this is one of the biggest problem when implementing the
infrastructure. The original function "report" only cares about
reporting the problem of objects. So the callback "error_func" uses the
similar prototype.

Problem comes when we want to add ref-related report. In my very former
implementation, I just created a new function "fsck_refs_report" to just
copy some codes from "report" and defines refs-related callback.

However, this is a bad way because we make duplication. If we want to
reuse the "report" function, we should add new parameters into "report"
and "error_func". This is the idea of this patch. However, as you can
see, there are so many "report" function calls in the codebase, it's bad
to change them. So I define a more common function called "fsck_vreport"
function and wrap "report" to eventually call this function.

> A better design would likely be to make `error_func()` receive a void
> pointer such that `error_func()` and then have the respective subsystems
> provide a function that knows to format the message while receiving
> either a `struct fsck_object_report *` or a `struct fsck_ref_report *`.
> 

Yes, I agree with this idea. And I think we should use only one function
called "fsck_reportf" to report any fsck-related messages. We could
design the following callback "prototype".

  typedef int (*fsck_error)(struct fsck_options *o,
                            void *info,
                            enum fsck_msg_type msg_type, enum fsck_msg_id msg_id,
                            const char *message);

Thus, we could make "fsck_reportf" generic. It will handle the common
"fsck_options" and "enum fsck_msg_id" and then it will call "fsck_error"
callback. The user could pass either refs information or objects
information.

> I don't think this is particularly worriesome though as it is still
> manageable right now. So I'm fine if we want to leave this as-is, and
> then we can iterate on this in a future patch series as required.
> 

I strongly suggest that we should use the above design for the following
reasons:

1. We only expose one interface called "fsck_reportf" which will make
the code clear. Actually, there is no different between reporting refs
and reporting objects.
2. We provide more extensibility here, because we will never change
"fsck_reportf" and "fsck_error" prototype when we want to add more info
for either refs or objects.

But do we really need this? Junio, could you please give some advice
here. How do you think about this design. In my perspective, the only
overhead here is that there are too many "report" function we should
refactor.

> > @@ -250,9 +256,9 @@ static int report(struct fsck_options *options,
> >  	prepare_msg_ids();
> >  	strbuf_addf(&sb, "%s: ", msg_id_info[msg_id].camelcased);
> >  
> > -	va_start(ap, fmt);
> > -	strbuf_vaddf(&sb, fmt, ap);
> > -	result = options->error_func(options, oid, object_type,
> > +	va_copy(ap_copy, ap);
> > +	strbuf_vaddf(&sb, fmt, ap_copy);
> > +	result = options->error_func(options, oid, object_type, refs_info,
> >  				     msg_type, msg_id, sb.buf);
> >  	strbuf_release(&sb);
> >  	va_end(ap);
> > @@ -260,6 +266,35 @@ static int report(struct fsck_options *options,
> >  	return result;
> >  }
> >  
> > +__attribute__((format (printf, 5, 6)))
> > +static int report(struct fsck_options *options,
> > +		  const struct object_id *oid, enum object_type object_type,
> > +		  enum fsck_msg_id msg_id, const char *fmt, ...)
> > +{
> > +	va_list ap;
> > +	int result;
> > +
> > +	va_start(ap, fmt);
> > +	result = fsck_vreport(options, oid, object_type, NULL, msg_id, fmt, ap);
> > +	va_end(ap);
> > +
> > +	return result;
> > +}
> 
> As far as I can see, `report()` is now specific to reporting errors with
> objects while `fsck_vreport()` is the generic part. Do we want to rename
> the function to `fsck_report_object()` to clarify, or would that cause
> too much churn?
> 
> Hm. Seeing that we have 62 callsites of that function it may be too much
> churn indeed.
> 

Yes, there are too many references for "report" function. That's why I
wrap the "report" using "fsck_vreport".

> > +int fsck_refs_report(struct fsck_options *options,
> > +		     const struct object_id *oid,
> > +		     const struct fsck_refs_info *refs_info,
> > +		     enum fsck_msg_id msg_id, const char *fmt, ...)
> 
> Would `fsck_report_ref()` be a better name?
> 

I agree. However, if we use the above design, we will just use
"fsck_reportf" here both for refs and objects.

> What is the intent of the `oid` field? Would it be set to the object ID
> that a reference points to? What if the reference is a non-resolving
> symbolic reference? I wonder whether we can just remove it.
> 

`oid` is used to be the object ID that a reference points to. If the
reference is a symbolic link or symref, we do not care about it. The
caller should just pass `NULL`. Actually, we may not use this field.
I just suppose that we may provide the user more information. Because
when using "file-backend.c::parse_loose_ref_contents()" we will
automatically get the `oid` if the ref is a regular reference. So I just
provide `oid` here.

> Patrick

  reply	other threads:[~2024-07-30 14:56 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       ` [GSoC][PATCH v6 00/11] ref consistency check infra setup shejialuo
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 [this message]
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=Zqj_FmazX6SW98Eq@ArchLinux \
    --to=shejialuo@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=jltobler@gmail.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).