All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Pablo Sabater" <pabloosabaterr@gmail.com>
To: "Junio C Hamano" <gitster@pobox.com>,
	"Pablo Sabater" <pabloosabaterr@gmail.com>
Cc: <git@vger.kernel.org>, <chandrapratap3519@gmail.com>,
	<chriscool@tuxfamily.org>, <eric.peijian@gmail.com>,
	<jltobler@gmail.com>, <karthik.188@gmail.com>, <peff@peff.net>,
	<toon@iotcl.com>
Subject: Re: [PATCH GSoC v18 13/13] cat-file: make remote-object-info allow-list dynamic
Date: Wed, 15 Jul 2026 20:52:40 +0200	[thread overview]
Message-ID: <DJZDEE0G6ZRS.2RT8JTQQ6CUXB@gmail.com> (raw)
In-Reply-To: <xmqqcxwonnkx.fsf@gitster.g>

On Wed Jul 15, 2026 at 7:56 PM CEST, Junio C Hamano wrote:
> Pablo Sabater <pabloosabaterr@gmail.com> writes:
>
>> The static allow-list in expand_atom() is hardcoded to only allow
>> "objectname" and "objectsize" for remote queries. This works because
>> up to this point all servers will either support object-info with name
>> and size or they do not support them at all, but we cannot expect that
>> in a future different servers with different git versions to have the
>> same object-info capabilities. Therefore, the allow_list needs to be
>> dynamic depending on what the server advertises.
>>
>> The client will now:
>>
>> 1. Request the protocol option that the placeholder refers to (i.e.
>>    "size" when "%(objectsize)").
>
> "when" -> "for"?

Will change.

>
>>
>> 2. Filters the request in fetch_object_info() dropping any option that
>>    the server does not advertise.
>>
>> 3. After the fetching, the options that haven't been dropped are the ones
>>    fetched and supported by the server, these supported options are
>>    mapped and remote_allowed_atoms is populated with the placeholders.
>>
>> 4. expand_atom() checks remote_allowed_atoms with the same behaviour as
>>    the static allow_list had.
>
> I am not sure I follow the above entirely.  Could you add a
> concrete example to the commit message?
>
> For instance, if the client wants "%(objectsize) %(objectcolor)" and
> the server only supports 'size' but not 'color', the filtering in
> step (2) prevents the client from asking about the color, requesting
> only the size instead.  When the server says the size is 42, step (3)
> uses that to substitute '%(objectsize)'.  Would the end result then
> be "42 %(objectcolor)"?

You've gotten everything right until the last step, because we have only
size from the server there is no data to match %(objectcolor) and the
end result is an empty string for %(objeccolor):

"42 "

Note that %(objectcolor) doesn't exists and it would have die(), the
empty string is only for known but unsupported placeholders.

This is what for-each-ref does for known but unaplicable placeholders (atoms).

I'll add an example to the commmit log so it is clearer.

>
>> -static const char *remote_object_info_atoms[] = {
>> -	"objectname",
>> -	"objectsize",
>> +	struct string_list remote_allowed_atoms;
>>  };
>> +#define EXPAND_DATA_INIT  { .mode = S_IFINVALID, .type = OBJ_BAD, \
>> +			    .remote_allowed_atoms = STRING_LIST_INIT_NODUP }
>
> Hmph, is this list expected to change over time?  One-line-per-item
> format would be more suited for updates if it is the case.

Will format like so.

>
>> @@ -683,12 +675,12 @@ static int get_remote_info(struct batch_options *opt,
>>  			   int argc,
>>  			   const char **argv,
>>  			   struct object_info **remote_object_info,
>> -			   struct oid_array *object_info_oids)
>> +			   struct oid_array *object_info_oids,
>> +			   struct string_list *object_info_options)
>>  {
>>  	int retval = 0;
>>  	struct remote *remote = NULL;
>>  	struct object_id oid;
>> -	struct string_list object_info_options = STRING_LIST_INIT_NODUP;
>>  	struct transport *gtransport;
>>
>>  	/*
>> @@ -736,15 +728,12 @@ static int get_remote_info(struct batch_options *opt,
>>  	CALLOC_ARRAY(*remote_object_info, object_info_oids->nr);
>>  	gtransport->smart_options->object_info_oids = object_info_oids;
>>
>> -	string_list_append(&object_info_options, "size");
>> -
>> -	if (object_info_options.nr > 0) {
>> -		gtransport->smart_options->object_info_options = &object_info_options;
>> +	if (object_info_options->nr > 0) {
>> +		gtransport->smart_options->object_info_options = object_info_options;
>>  		gtransport->smart_options->object_info_data = *remote_object_info;
>>  		retval = transport_fetch_object_info(gtransport);
>>  	}
>
> This is not a new issue, but if the caller does not ask for
> anything in object_info_options, no call to
> transport_fetch_object_info() is made here.  This is so even
> though we went through quite a lot of work, including the
> connection establishment and teardown below.
>
> By failing to contact the remote side, we wouldn't even know if
> the objects being queried actually exist there, which is
> probably even worse.

[Answered below]

>
>>  static void parse_cmd_remote_object_info(struct batch_options *opt,
>>  					 const char *line, struct strbuf *output,
>>  					 struct expand_data *data)
>> @@ -839,6 +843,7 @@ static void parse_cmd_remote_object_info(struct batch_options *opt,
>>  	char *line_to_split;
>>  	struct object_info *remote_object_info = NULL;
>>  	struct oid_array object_info_oids = OID_ARRAY_INIT;
>> +	struct string_list object_info_options = STRING_LIST_INIT_NODUP;
>>
>>  	if (strlen(line) >= MAX_REMOTE_OBJ_INFO_LINE)
>>  		die(_("remote-object-info command too long"));
>> @@ -851,32 +856,57 @@ static void parse_cmd_remote_object_info(struct batch_options *opt,
>>  		die(_("remote-object-info supports at most %d objects"),
>>  		    MAX_ALLOWED_OBJ_LIMIT);
>>
>> +	if (data->info.sizep)
>> +		string_list_append(&object_info_options, "size");
>> +	if (data->info.typep)
>> +		string_list_append(&object_info_options, "type");
>
> And if the request is only for "%(objectname)", an empty
> object_info_options is given to get_remote_info().

Right now 'name' is not part of the protocol as 'type' or 'size' are,
'objectname' is always allowed but only shown if it's present on the
format.
If the format is only "%(objectname)" then there's nothing to ask the
server for.

The current code avoids making the request if there's only objectname or
nothing supported, but still goes through the connection work. I will
add an early return to just output the oid back without any connection.

Returning the oid is what the client expects for which we don't need a
connection, but this means that we skip the existence check that
we would get if we asked for size.

The server is not ready to support a bare oid for existence check, it
could be done but that work belongs to a future series.

>
>>  	if (get_remote_info(opt, count, argv, &remote_object_info,
>> -			    &object_info_oids))
>> +			    &object_info_oids, &object_info_options))
>>  		goto cleanup;

Regards,
Pablo

  reply	other threads:[~2026-07-15 18:52 UTC|newest]

Thread overview: 340+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-06-28 19:04 [PATCH 0/6] cat-file: add remote-object-info to batch-command Eric Ju
2024-06-28 19:04 ` [PATCH 1/6] fetch-pack: refactor packet writing Eric Ju
2024-07-04 16:59   ` Karthik Nayak
2024-07-08 15:17     ` Peijian Ju
2024-07-10  9:39       ` Karthik Nayak
2024-07-15 16:40         ` Peijian Ju
2024-06-28 19:04 ` [PATCH 2/6] fetch-pack: move fetch initialization Eric Ju
2024-06-28 19:05 ` [PATCH 3/6] serve: advertise object-info feature Eric Ju
2024-06-28 19:05 ` [PATCH 4/6] transport: add client support for object-info Eric Ju
2024-07-09  7:15   ` Toon claes
2024-07-09 16:37     ` Junio C Hamano
2024-07-13  2:32       ` Peijian Ju
2024-07-13  2:30     ` Peijian Ju
2024-07-10 10:13   ` Karthik Nayak
2024-07-16  2:39     ` Peijian Ju
2024-06-28 19:05 ` [PATCH 5/6] cat-file: add declaration of variable i inside its for loop Eric Ju
2024-07-10 10:16   ` Karthik Nayak
2024-07-16  2:59     ` Peijian Ju
2024-06-28 19:05 ` [PATCH 6/6] cat-file: add remote-object-info to batch-command Eric Ju
2024-07-09  1:50   ` Justin Tobler
2024-07-12 17:41     ` Peijian Ju
2024-07-09  7:16   ` Toon claes
2024-07-13  2:35     ` Peijian Ju
2024-07-10 12:08   ` Karthik Nayak
2024-07-17  2:38     ` Peijian Ju
2024-07-20  3:43 ` [PATCH v2 0/6] " Eric Ju
2024-07-20  3:43   ` [PATCH v2 1/6] fetch-pack: refactor packet writing Eric Ju
2024-09-24 11:45     ` Christian Couder
2024-09-25 20:42       ` Peijian Ju
2024-07-20  3:43   ` [PATCH v2 2/6] fetch-pack: move fetch initialization Eric Ju
2024-07-20  3:43   ` [PATCH v2 3/6] serve: advertise object-info feature Eric Ju
2024-07-20  3:43   ` [PATCH v2 4/6] transport: add client support for object-info Eric Ju
2024-09-24 11:45     ` Christian Couder
2024-09-24 17:29       ` Junio C Hamano
2024-09-25 18:29       ` Peijian Ju
2024-07-20  3:43   ` [PATCH v2 5/6] cat-file: add declaration of variable i inside its for loop Eric Ju
2024-07-20  3:43   ` [PATCH v2 6/6] cat-file: add remote-object-info to batch-command Eric Ju
2024-09-11 13:11     ` Toon Claes
2024-09-25 18:18       ` Peijian Ju
2024-09-24 12:13     ` Christian Couder
2024-09-25 18:12       ` Peijian Ju
2024-08-22 21:24 ` [PATCH 0/6] " Peijian Ju
2024-09-26  1:38 ` [PATCH v3 " Eric Ju
2024-09-26  1:38   ` [PATCH v3 1/6] fetch-pack: refactor packet writing Eric Ju
2024-09-26  1:38   ` [PATCH v3 2/6] fetch-pack: move fetch initialization Eric Ju
2024-09-26  1:38   ` [PATCH v3 3/6] serve: advertise object-info feature Eric Ju
2024-09-26  1:38   ` [PATCH v3 4/6] transport: add client support for object-info Eric Ju
2024-10-23  9:48     ` Christian Couder
2024-10-24 20:23       ` Peijian Ju
2024-09-26  1:38   ` [PATCH v3 5/6] cat-file: add declaration of variable i inside its for loop Eric Ju
2024-09-26  1:38   ` [PATCH v3 6/6] cat-file: add remote-object-info to batch-command Eric Ju
2024-10-23  9:49     ` Christian Couder
2024-10-23 20:25       ` Taylor Blau
2024-10-24 20:28         ` Peijian Ju
2024-10-24 20:28       ` Peijian Ju
2024-10-24 20:53 ` [PATCH v4 0/6] " Eric Ju
2024-10-24 20:53   ` [PATCH v4 1/6] fetch-pack: refactor packet writing Eric Ju
2024-10-25  9:52     ` karthik nayak
2024-10-25 16:06       ` Peijian Ju
2024-10-24 20:53   ` [PATCH v4 2/6] fetch-pack: move fetch initialization Eric Ju
2024-10-24 20:53   ` [PATCH v4 3/6] serve: advertise object-info feature Eric Ju
2024-10-24 20:53   ` [PATCH v4 4/6] transport: add client support for object-info Eric Ju
2024-10-25 10:12     ` karthik nayak
2024-10-28  5:39       ` Peijian Ju
2024-10-24 20:53   ` [PATCH v4 5/6] cat-file: add declaration of variable i inside its for loop Eric Ju
2024-10-24 20:53   ` [PATCH v4 6/6] cat-file: add remote-object-info to batch-command Eric Ju
2024-10-25 10:53     ` karthik nayak
2024-10-25 13:55       ` Christian Couder
2024-10-25 20:56   ` [PATCH v4 0/6] " Taylor Blau
2024-10-27  3:54     ` Peijian Ju
2024-10-28  0:01       ` Taylor Blau
2024-10-28 20:34 ` [PATCH v5 " Eric Ju
2024-10-28 20:34   ` [PATCH v5 1/6] fetch-pack: refactor packet writing Eric Ju
2024-11-05 17:44     ` Christian Couder
2024-11-06  1:06       ` Junio C Hamano
2024-11-06 18:00         ` Peijian Ju
2024-11-06 19:50       ` Peijian Ju
2024-10-28 20:34   ` [PATCH v5 2/6] fetch-pack: move fetch initialization Eric Ju
2024-10-28 20:34   ` [PATCH v5 3/6] serve: advertise object-info feature Eric Ju
2024-10-28 20:34   ` [PATCH v5 4/6] transport: add client support for object-info Eric Ju
2024-10-28 20:34   ` [PATCH v5 5/6] cat-file: add declaration of variable i inside its for loop Eric Ju
2024-10-28 20:34   ` [PATCH v5 6/6] cat-file: add remote-object-info to batch-command Eric Ju
2024-11-08 16:24 ` [PATCH v6 0/6] " Eric Ju
2024-11-08 16:24   ` [PATCH v6 1/6] cat-file: add declaration of variable i inside its for loop Eric Ju
2024-11-08 16:24   ` [PATCH v6 2/6] fetch-pack: refactor packet writing Eric Ju
2024-11-08 16:24   ` [PATCH v6 3/6] fetch-pack: move fetch initialization Eric Ju
2024-11-08 16:24   ` [PATCH v6 4/6] serve: advertise object-info feature Eric Ju
2024-11-08 16:24   ` [PATCH v6 5/6] transport: add client support for object-info Eric Ju
2024-11-08 16:24   ` [PATCH v6 6/6] cat-file: add remote-object-info to batch-command Eric Ju
2024-11-11  4:38   ` [PATCH v6 0/6] " Junio C Hamano
2024-11-18 16:28     ` Peijian Ju
2024-11-19  0:16       ` Junio C Hamano
2024-11-19  6:31         ` Patrick Steinhardt
2024-11-19  6:48           ` Junio C Hamano
2024-11-19 16:35             ` Peijian Ju
2024-11-20  1:19               ` Junio C Hamano
2024-11-25  5:36 ` [PATCH v7 " Eric Ju
2024-11-25  5:36   ` [PATCH v7 1/6] cat-file: add declaration of variable i inside its for loop Eric Ju
2024-11-25  9:51     ` Patrick Steinhardt
2024-12-03 19:26       ` Peijian Ju
2024-11-25  5:36   ` [PATCH v7 2/6] fetch-pack: refactor packet writing Eric Ju
2024-11-25  9:51     ` Patrick Steinhardt
2024-12-03 19:09       ` Peijian Ju
2024-11-25  5:36   ` [PATCH v7 3/6] fetch-pack: move fetch initialization Eric Ju
2024-11-25  5:36   ` [PATCH v7 4/6] serve: advertise object-info feature Eric Ju
2024-11-25  5:36   ` [PATCH v7 5/6] transport: add client support for object-info Eric Ju
2024-11-25  9:51     ` Patrick Steinhardt
2024-12-03  3:15       ` Peijian Ju
2024-11-25  5:36   ` [PATCH v7 6/6] cat-file: add remote-object-info to batch-command Eric Ju
2024-11-25  9:51     ` Patrick Steinhardt
2024-12-03 19:23       ` Peijian Ju
2024-12-05  9:50         ` Patrick Steinhardt
2024-12-05 10:34           ` Christian Couder
2024-12-23 23:25 ` [PATCH v8 0/6] " Eric Ju
2024-12-23 23:25   ` [PATCH v8 1/6] cat-file: add declaration of variable i inside its for loop Eric Ju
2024-12-23 23:25   ` [PATCH v8 2/6] fetch-pack: refactor packet writing Eric Ju
2024-12-23 23:25   ` [PATCH v8 3/6] fetch-pack: move fetch initialization Eric Ju
2024-12-23 23:25   ` [PATCH v8 4/6] serve: advertise object-info feature Eric Ju
2024-12-23 23:25   ` [PATCH v8 5/6] transport: add client support for object-info Eric Ju
2025-01-07 18:31     ` Calvin Wan
2025-01-07 18:53       ` Junio C Hamano
2025-01-08 15:55       ` Peijian Ju
2024-12-23 23:25   ` [PATCH v8 6/6] cat-file: add remote-object-info to batch-command Eric Ju
2025-01-07 21:29     ` Calvin Wan
2024-12-26 21:56   ` [PATCH v8 0/6] " Junio C Hamano
2024-12-30 23:25     ` Peijian Ju
2025-01-08 18:37 ` [PATCH v9 0/8] cat-file: " Eric Ju
2025-01-08 18:37   ` [PATCH v9 1/8] git-compat-util: add strtoul_ul() with error handling Eric Ju
2025-01-10 11:33     ` Christian Couder
2025-01-14  1:39       ` Peijian Ju
2025-01-08 18:37   ` [PATCH v9 2/8] cat-file: add declaration of variable i inside its for loop Eric Ju
2025-01-10 11:39     ` Christian Couder
2025-01-14  1:36       ` Peijian Ju
2025-01-08 18:37   ` [PATCH v9 3/8] cat-file: split test utility functions into a separate library file Eric Ju
2025-01-10 14:26     ` Christian Couder
2025-01-14  1:33       ` Peijian Ju
2025-01-08 18:37   ` [PATCH v9 4/8] fetch-pack: refactor packet writing Eric Ju
2025-01-08 18:37   ` [PATCH v9 5/8] fetch-pack: move fetch initialization Eric Ju
2025-01-08 18:37   ` [PATCH v9 6/8] serve: advertise object-info feature Eric Ju
2025-01-08 18:37   ` [PATCH v9 7/8] transport: add client support for object-info Eric Ju
2025-01-08 18:37   ` [PATCH v9 8/8] cat-file: add remote-object-info to batch-command Eric Ju
2025-01-10 11:20     ` Christian Couder
2025-01-14  1:24       ` Peijian Ju
2025-01-14  2:14 ` [PATCH v10 0/8] " Eric Ju
2025-01-14  2:14   ` [PATCH v10 1/8] git-compat-util: add strtoul_ul() with error handling Eric Ju
2025-01-14  2:14   ` [PATCH v10 2/8] cat-file: add declaration of variable i inside its for loop Eric Ju
2025-01-14  2:14   ` [PATCH v10 3/8] t1006: split test utility functions into new "lib-cat-file.sh" Eric Ju
2025-01-14  2:14   ` [PATCH v10 4/8] fetch-pack: refactor packet writing Eric Ju
2025-01-14  2:14   ` [PATCH v10 5/8] fetch-pack: move fetch initialization Eric Ju
2025-01-14  2:14   ` [PATCH v10 6/8] serve: advertise object-info feature Eric Ju
2025-01-14  2:14   ` [PATCH v10 7/8] transport: add client support for object-info Eric Ju
2025-02-01  2:08     ` Jeff King
2025-02-20 22:52       ` Peijian Ju
2025-01-14  2:15   ` [PATCH v10 8/8] cat-file: add remote-object-info to batch-command Eric Ju
2025-02-01  2:03     ` Jeff King
2025-02-21 15:34       ` Peijian Ju
2025-02-24 23:45         ` Jeff King
2025-03-12 19:53           ` Peijian Ju
2025-02-21 19:04 ` [PATCH v11 0/8] " Eric Ju
2025-02-21 19:04   ` [PATCH v11 1/8] git-compat-util: add strtoul_ul() with error handling Eric Ju
2025-02-21 19:04   ` [PATCH v11 2/8] cat-file: add declaration of variable i inside its for loop Eric Ju
2025-02-21 19:04   ` [PATCH v11 3/8] t1006: split test utility functions into new "lib-cat-file.sh" Eric Ju
2025-02-21 19:04   ` [PATCH v11 4/8] fetch-pack: refactor packet writing Eric Ju
2025-02-21 19:04   ` [PATCH v11 5/8] fetch-pack: move fetch initialization Eric Ju
2025-02-21 19:04   ` [PATCH v11 6/8] serve: advertise object-info feature Eric Ju
2025-02-21 19:04   ` [PATCH v11 7/8] transport: add client support for object-info Eric Ju
2025-02-21 19:04   ` [PATCH v11 8/8] cat-file: add remote-object-info to batch-command Eric Ju
2025-02-24 20:46     ` Junio C Hamano
2025-03-11 23:10       ` Peijian Ju
2025-02-24 23:47     ` Jeff King
2025-03-12  2:19       ` Peijian Ju
2025-03-13  6:02         ` Jeff King
2025-03-21 18:24           ` Peijian Ju
2025-03-24  3:39             ` Jeff King
2026-03-12 21:41               ` [GSoC] " Pablo Sabater
2026-06-08 10:14   ` [PATCH GSoC RFC v12 00/12] " Pablo Sabater
2026-06-08 10:14     ` [PATCH GSoC RFC v12 01/12] transport-helper: fix memory leak of helper on disconnect Pablo Sabater
2026-06-08 10:14     ` [PATCH GSoC RFC v12 02/12] git-compat-util: add strtoul_ul() with error handling Pablo Sabater
2026-06-09  6:20       ` Chandra Pratap
2026-06-08 10:14     ` [PATCH GSoC RFC v12 03/12] cat-file: add declaration of variable i inside its for loop Pablo Sabater
2026-06-08 14:52       ` Junio C Hamano
2026-06-09 17:55         ` Pablo Sabater
2026-06-08 10:14     ` [PATCH GSoC RFC v12 04/12] t1006: split test utility functions into new "lib-cat-file.sh" Pablo Sabater
2026-06-09  6:28       ` Chandra Pratap
2026-06-09 17:44         ` Pablo Sabater
2026-06-08 10:14     ` [PATCH GSoC RFC v12 05/12] fetch-pack: move function to connect.c Pablo Sabater
2026-06-08 10:14     ` [PATCH GSoC RFC v12 06/12] connect: refactor packet writing Pablo Sabater
2026-06-08 10:14     ` [PATCH GSoC RFC v12 07/12] fetch-pack: move fetch initialization Pablo Sabater
2026-06-08 10:14     ` [PATCH GSoC RFC v12 08/12] serve: advertise object-info feature Pablo Sabater
2026-06-08 10:14     ` [PATCH GSoC RFC v12 09/12] transport: add client support for object-info Pablo Sabater
2026-06-16 20:35       ` Junio C Hamano
2026-06-16 21:31         ` Junio C Hamano
2026-06-08 10:14     ` [PATCH GSoC RFC v12 10/12] cat-file: add remote-object-info to batch-command Pablo Sabater
2026-06-08 10:14     ` [PATCH GSoC RFC v12 11/12] cat-file: validate remote atoms with allow_list Pablo Sabater
2026-06-08 10:14     ` [PATCH GSoC RFC v12 12/12] cat-file: make remote-object-info allow-list dynamic Pablo Sabater
2026-06-09 15:32       ` Chandra Pratap
2026-06-09 17:34         ` Pablo Sabater
2026-06-17 10:16           ` Chandra Pratap
2026-06-09 18:54         ` Junio C Hamano
2026-06-19 14:56     ` [PATCH GSoC RFC v13 00/12] cat-file: add remote-object-info to batch-command Pablo Sabater
2026-06-19 14:56       ` [PATCH GSoC RFC v13 01/12] transport-helper: fix memory leak of helper on disconnect Pablo Sabater
2026-06-19 14:56       ` [PATCH GSoC RFC v13 02/12] git-compat-util: add strtoul_ul() with error handling Pablo Sabater
2026-06-19 15:06         ` Pablo Sabater
2026-06-19 14:56       ` [PATCH GSoC RFC v13 03/12] cat-file: declare loop counter inside for() Pablo Sabater
2026-06-22 10:08         ` Karthik Nayak
2026-06-19 14:56       ` [PATCH GSoC RFC v13 04/12] t1006: split test utility functions into new "lib-cat-file.sh" Pablo Sabater
2026-06-19 15:02         ` Pablo Sabater
2026-06-19 14:56       ` [PATCH GSoC RFC v13 05/12] fetch-pack: move function to connect.c Pablo Sabater
2026-06-21  5:37         ` Chandra Pratap
2026-06-24 12:24           ` Pablo Sabater
2026-06-22 10:30         ` Karthik Nayak
2026-06-24 12:21           ` Pablo Sabater
2026-06-19 14:56       ` [PATCH GSoC RFC v13 06/12] connect: refactor packet writing Pablo Sabater
2026-06-22 20:43         ` Karthik Nayak
2026-06-24 12:08           ` Pablo Sabater
2026-06-24 13:25             ` Karthik Nayak
2026-06-24 20:19           ` Junio C Hamano
2026-06-26 14:39             ` Karthik Nayak
2026-06-19 14:56       ` [PATCH GSoC RFC v13 07/12] fetch-pack: move fetch initialization Pablo Sabater
2026-06-19 14:56       ` [PATCH GSoC RFC v13 08/12] serve: advertise object-info feature Pablo Sabater
2026-06-19 14:56       ` [PATCH GSoC RFC v13 09/12] transport: add client support for object-info Pablo Sabater
2026-06-19 14:56       ` [PATCH GSoC RFC v13 10/12] cat-file: add remote-object-info to batch-command Pablo Sabater
2026-06-21  6:01         ` Chandra Pratap
2026-06-21 20:02           ` Junio C Hamano
2026-06-19 14:56       ` [PATCH GSoC RFC v13 11/12] cat-file: validate remote atoms with allow_list Pablo Sabater
2026-06-19 14:56       ` [PATCH GSoC RFC v13 12/12] cat-file: make remote-object-info allow-list dynamic Pablo Sabater
2026-06-21  6:19         ` Chandra Pratap
2026-06-21  6:27           ` Chandra Pratap
2026-06-21  5:25       ` [PATCH GSoC RFC v13 00/12] cat-file: add remote-object-info to batch-command Chandra Pratap
2026-06-25 12:13       ` [PATCH GSoC v14 00/13] " Pablo Sabater
2026-06-25 12:13         ` [PATCH GSoC v14 01/13] transport-helper: fix memory leak of helper on disconnect Pablo Sabater
2026-06-25 12:13         ` [PATCH GSoC v14 02/13] git-compat-util: add strtoul_szt() with error handling Pablo Sabater
2026-06-25 21:09           ` Junio C Hamano
2026-06-26 12:00             ` Pablo Sabater
2026-06-26 16:43           ` Karthik Nayak
2026-06-25 12:13         ` [PATCH GSoC v14 03/13] cat-file: declare loop counter inside for() Pablo Sabater
2026-06-25 12:13         ` [PATCH GSoC v14 04/13] t1006: split test utility functions into new "lib-cat-file.sh" Pablo Sabater
2026-06-25 12:13         ` [PATCH GSoC v14 05/13] fetch-pack: prepare function to be moved Pablo Sabater
2026-06-26 12:14           ` Chandra Pratap
2026-06-26 16:54           ` Karthik Nayak
2026-06-27 21:06             ` Pablo Sabater
2026-06-25 12:13         ` [PATCH GSoC v14 06/13] fetch-pack: move function to connect.c Pablo Sabater
2026-06-26 12:14           ` Chandra Pratap
2026-06-27 21:04             ` Pablo Sabater
2026-06-26 16:57           ` Karthik Nayak
2026-06-27 21:03             ` Pablo Sabater
2026-06-25 12:13         ` [PATCH GSoC v14 07/13] connect: refactor packet writing Pablo Sabater
2026-06-26 17:03           ` Karthik Nayak
2026-06-27 20:58             ` Pablo Sabater
2026-06-25 12:13         ` [PATCH GSoC v14 08/13] fetch-pack: move fetch initialization Pablo Sabater
2026-06-25 12:13         ` [PATCH GSoC v14 09/13] serve: advertise object-info feature Pablo Sabater
2026-06-26 22:23           ` Karthik Nayak
2026-06-27 17:52             ` Pablo Sabater
2026-06-28 22:55               ` Karthik Nayak
2026-06-25 12:13         ` [PATCH GSoC v14 10/13] transport: add client support for object-info Pablo Sabater
2026-06-27  0:22           ` Karthik Nayak
2026-06-27 19:44             ` Pablo Sabater
2026-06-25 12:13         ` [PATCH GSoC v14 11/13] cat-file: add remote-object-info to batch-command Pablo Sabater
2026-06-27 13:14           ` Karthik Nayak
2026-06-27 20:51             ` Pablo Sabater
2026-06-25 12:13         ` [PATCH GSoC v14 12/13] cat-file: validate remote atoms with allow_list Pablo Sabater
2026-06-25 12:13         ` [PATCH GSoC v14 13/13] cat-file: make remote-object-info allow-list dynamic Pablo Sabater
2026-07-01 12:18         ` [PATCH GSoC v15 00/13] cat-file: add remote-object-info to batch-command Pablo Sabater
2026-07-01 12:18           ` [PATCH GSoC v15 01/13] transport-helper: fix memory leak of helper on disconnect Pablo Sabater
2026-07-01 12:18           ` [PATCH GSoC v15 02/13] git-compat-util: add `strtoumax_szt()` with error handling Pablo Sabater
2026-07-01 17:30             ` Junio C Hamano
2026-07-07  8:50               ` Pablo Sabater
2026-07-07 18:09                 ` Junio C Hamano
2026-07-07 19:53                   ` Pablo Sabater
2026-07-01 12:18           ` [PATCH GSoC v15 03/13] cat-file: declare loop counter inside for() Pablo Sabater
2026-07-01 12:18           ` [PATCH GSoC v15 04/13] t1006: split test utility functions into new 'lib-cat-file.sh' Pablo Sabater
2026-07-01 12:18           ` [PATCH GSoC v15 05/13] fetch-pack: drop static `advertise_sid` variable Pablo Sabater
2026-07-01 18:19             ` Junio C Hamano
2026-07-01 12:18           ` [PATCH GSoC v15 06/13] fetch-pack: move `write_fetch_command_and_capabilities()` to connect.c Pablo Sabater
2026-07-01 12:18           ` [PATCH GSoC v15 07/13] connect: make `write_fetch_command_and_capabilities()` more generic Pablo Sabater
2026-07-01 12:18           ` [PATCH GSoC v15 08/13] fetch-pack: move fetch initialization Pablo Sabater
2026-07-01 12:18           ` [PATCH GSoC v15 09/13] serve: advertise object-info feature Pablo Sabater
2026-07-01 12:18           ` [PATCH GSoC v15 10/13] transport: add client support for object-info Pablo Sabater
2026-07-01 12:18           ` [PATCH GSoC v15 11/13] cat-file: add remote-object-info to batch-command Pablo Sabater
2026-07-01 12:18           ` [PATCH GSoC v15 12/13] cat-file: validate remote atoms with an allow-list Pablo Sabater
2026-07-01 12:18           ` [PATCH GSoC v15 13/13] cat-file: make remote-object-info allow-list dynamic Pablo Sabater
2026-07-10 16:41           ` [PATCH GSoC v16 00/13] cat-file: add remote-object-info to batch-command Pablo Sabater
2026-07-10 16:41             ` [PATCH GSoC v16 01/13] transport-helper: fix memory leak of helper on disconnect Pablo Sabater
2026-07-10 16:41             ` [PATCH GSoC v16 02/13] cat-file: declare loop counter inside for() Pablo Sabater
2026-07-10 16:41             ` [PATCH GSoC v16 03/13] t1006: split test utility functions into new 'lib-cat-file.sh' Pablo Sabater
2026-07-10 16:41             ` [PATCH GSoC v16 04/13] fetch-pack: fix hash_algo variable type Pablo Sabater
2026-07-10 16:41             ` [PATCH GSoC v16 05/13] fetch-pack: drop static advertise_sid variable Pablo Sabater
2026-07-10 16:41             ` [PATCH GSoC v16 06/13] fetch-pack: move write_fetch_command_and_capabilities() to connect.c Pablo Sabater
2026-07-10 16:41             ` [PATCH GSoC v16 07/13] connect: make write_fetch_command_and_capabilities() more generic Pablo Sabater
2026-07-10 16:41             ` [PATCH GSoC v16 08/13] fetch-pack: move fetch initialization Pablo Sabater
2026-07-10 16:41             ` [PATCH GSoC v16 09/13] serve: advertise object-info feature Pablo Sabater
2026-07-10 16:41             ` [PATCH GSoC v16 10/13] transport: add client support for object-info Pablo Sabater
2026-07-14 11:28               ` Pablo Sabater
2026-07-10 16:41             ` [PATCH GSoC v16 11/13] cat-file: add remote-object-info to batch-command Pablo Sabater
2026-07-10 16:41             ` [PATCH GSoC v16 12/13] cat-file: validate remote atoms with an allow-list Pablo Sabater
2026-07-10 16:41             ` [PATCH GSoC v16 13/13] cat-file: make remote-object-info allow-list dynamic Pablo Sabater
2026-07-12  5:26             ` [PATCH GSoC v16 00/13] cat-file: add remote-object-info to batch-command Chandra Pratap
2026-07-14 11:44             ` [PATCH GSoC v17 " Pablo Sabater
2026-07-14 11:44               ` [PATCH GSoC v17 01/13] transport-helper: fix memory leak of helper on disconnect Pablo Sabater
2026-07-14 11:44               ` [PATCH GSoC v17 02/13] cat-file: declare loop counter inside for() Pablo Sabater
2026-07-14 11:44               ` [PATCH GSoC v17 03/13] t1006: split test utility functions into new 'lib-cat-file.sh' Pablo Sabater
2026-07-14 11:45               ` [PATCH GSoC v17 04/13] fetch-pack: fix hash_algo variable type Pablo Sabater
2026-07-14 11:45               ` [PATCH GSoC v17 05/13] fetch-pack: drop static advertise_sid variable Pablo Sabater
2026-07-14 11:45               ` [PATCH GSoC v17 06/13] fetch-pack: move write_fetch_command_and_capabilities() to connect.c Pablo Sabater
2026-07-14 11:45               ` [PATCH GSoC v17 07/13] connect: make write_fetch_command_and_capabilities() more generic Pablo Sabater
2026-07-14 11:45               ` [PATCH GSoC v17 08/13] fetch-pack: move fetch initialization Pablo Sabater
2026-07-14 11:45               ` [PATCH GSoC v17 09/13] serve: advertise object-info feature Pablo Sabater
2026-07-14 11:45               ` [PATCH GSoC v17 10/13] transport: add client support for object-info Pablo Sabater
2026-07-14 17:58                 ` Junio C Hamano
2026-07-14 19:33                   ` Pablo Sabater
2026-07-14 11:45               ` [PATCH GSoC v17 11/13] cat-file: add remote-object-info to batch-command Pablo Sabater
2026-07-14 11:45               ` [PATCH GSoC v17 12/13] cat-file: validate remote atoms with an allow-list Pablo Sabater
2026-07-14 11:45               ` [PATCH GSoC v17 13/13] cat-file: make remote-object-info allow-list dynamic Pablo Sabater
2026-07-14 18:33               ` [PATCH GSoC v17 00/13] cat-file: add remote-object-info to batch-command Junio C Hamano
2026-07-14 22:50                 ` Pablo Sabater
2026-07-15  0:58                   ` Junio C Hamano
2026-07-15  8:48                     ` Pablo Sabater
2026-07-15 15:23                       ` Junio C Hamano
2026-07-15 15:36                         ` Pablo Sabater
2026-07-15  9:52               ` [PATCH GSoC v18 " Pablo Sabater
2026-07-15  9:52                 ` [PATCH GSoC v18 01/13] transport-helper: fix memory leak of helper on disconnect Pablo Sabater
2026-07-15  9:52                 ` [PATCH GSoC v18 02/13] cat-file: declare loop counter inside for() Pablo Sabater
2026-07-15  9:52                 ` [PATCH GSoC v18 03/13] t1006: split test utility functions into new 'lib-cat-file.sh' Pablo Sabater
2026-07-15  9:52                 ` [PATCH GSoC v18 04/13] fetch-pack: fix hash_algo variable type Pablo Sabater
2026-07-15  9:52                 ` [PATCH GSoC v18 05/13] fetch-pack: drop static advertise_sid variable Pablo Sabater
2026-07-15  9:52                 ` [PATCH GSoC v18 06/13] fetch-pack: move write_fetch_command_and_capabilities() to connect.c Pablo Sabater
2026-07-15  9:52                 ` [PATCH GSoC v18 07/13] connect: make write_fetch_command_and_capabilities() more generic Pablo Sabater
2026-07-15  9:52                 ` [PATCH GSoC v18 08/13] fetch-pack: move fetch initialization Pablo Sabater
2026-07-15  9:52                 ` [PATCH GSoC v18 09/13] serve: advertise object-info feature Pablo Sabater
2026-07-15  9:52                 ` [PATCH GSoC v18 10/13] transport: add client support for object-info Pablo Sabater
2026-07-15 17:22                   ` Junio C Hamano
2026-07-15 18:08                     ` Pablo Sabater
2026-07-15  9:52                 ` [PATCH GSoC v18 11/13] cat-file: add remote-object-info to batch-command Pablo Sabater
2026-07-15 17:31                   ` Junio C Hamano
2026-07-15 18:06                     ` Pablo Sabater
2026-07-15  9:52                 ` [PATCH GSoC v18 12/13] cat-file: validate remote atoms with an allow-list Pablo Sabater
2026-07-15  9:52                 ` [PATCH GSoC v18 13/13] cat-file: make remote-object-info allow-list dynamic Pablo Sabater
2026-07-15 17:56                   ` Junio C Hamano
2026-07-15 18:52                     ` Pablo Sabater [this message]
2026-07-15 20:32                       ` 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=DJZDEE0G6ZRS.2RT8JTQQ6CUXB@gmail.com \
    --to=pabloosabaterr@gmail.com \
    --cc=chandrapratap3519@gmail.com \
    --cc=chriscool@tuxfamily.org \
    --cc=eric.peijian@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=jltobler@gmail.com \
    --cc=karthik.188@gmail.com \
    --cc=peff@peff.net \
    --cc=toon@iotcl.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.