From: Pablo Sabater <pabloosabaterr@gmail.com>
To: git@vger.kernel.org
Cc: pabloosabaterr@gmail.com, chandrapratap3519@gmail.com,
chriscool@tuxfamily.org, eric.peijian@gmail.com,
gitster@pobox.com, jltobler@gmail.com, karthik.188@gmail.com,
peff@peff.net, toon@iotcl.com, szeder.dev@gmail.com
Subject: [PATCH GSoC v20 00/13] cat-file: add remote-object-info to batch-command
Date: Sat, 18 Jul 2026 23:49:49 +0200 [thread overview]
Message-ID: <20260718-ps-eric-work-rebase-v20-0-0c13962ac532@gmail.com> (raw)
In-Reply-To: <20260717-ps-eric-work-rebase-v19-0-d4faee35764b@gmail.com>
This patch series is a continuation of Eric Ju's
(eric.peijian@gmail.com) and Calvin Wan's (calvinwan@google.com) patch
series [1] and [2] respectively.
Sometimes it is beneficial to retrieve information about an object
without having to download it completely. The server logic for
retrieving size has already been implemented and merged in a2ba162cda
(object-info: support for retrieving object info, 2021-04-20) [3].
This patch series implements the client option for it.
Eric's series adds the remote-object-info command to cat-file
--batch-command. This command allows the client to make an object-info
command request to a server that supports protocol v2.
If the server uses protocol v2 but does not support the object-info
capability, cat-file --batch-command will die.
If a user attempts to use remote-object-info with protocol v1, cat-file
--batch-command will die.
Currently, only the size (%(objectsize)) is supported end to end in this
implementation. The type (%(objecttype)) is known by the client's
allow-list and request path but is not supported on the server side
nor the response parsing. A follow up series will add full end-to-end
support for %(objecttype).
The default format for remote-object-info is set to "%(objectname)
%(objectsize)". Once %(objecttype) is supported, the default format will
be unified accordingly.
If the batch command format includes unsupported fields such as
%(objecttype), %(objectsize:disk), or %(deltabase), the command will
return empty strings for each unsupported field.
This series completes Eric's work mainly with the refactor of the
validation of the placeholders with an allow-list that filters what the
client asks with what the server is capable of providing, following Jeff
King's idea [4].
GitHub CI: https://github.com/pabloosabaterr/git/actions/runs/29660677279
[1]: https://lore.kernel.org/git/20250221190451.12536-1-eric.peijian@gmail.com/
[2]: https://lore.kernel.org/git/20220728230210.2952731-1-calvinwan@google.com/#t
[3]: https://git.kernel.org/pub/scm/git/git.git/commit/?id=a2ba162cda2acc171c3e36acbbc854792b093cb7
[4]: https://lore.kernel.org/git/20250313060250.GH94015@coredump.intra.peff.net/
Changes in v20:
- Moved the prep patch that fixes hash_algo's type to be before
write_fetch_command_and_capabilities() being moved to 'connect.c'
- Reverted git-cat-file.adoc documentation comments about CAVEATS
- Fixed style for EXPAND_DATA_INIT
- Added more context for comman line die()
---
Calvin Wan (3):
fetch-pack: move fetch initialization
serve: advertise object-info feature
transport: add client support for object-info
Eric Ju (3):
cat-file: declare loop counter inside for()
t1006: extract helper functions into new 'lib-cat-file.sh'
cat-file: add remote-object-info to batch-command
Pablo Sabater (7):
transport-helper: fix memory leak of helper on disconnect
fetch-pack: drop the static advertise_sid variable
fetch-pack: use unsigned int for hash_algo variable
fetch-pack: move write_fetch_command_and_capabilities() to connect.c
connect: make write_fetch_command_and_capabilities() more generic
protocol-caps: check object existence regardless of the attributes requested
cat-file: make remote-object-info allow-list adapt to the server
Documentation/git-cat-file.adoc | 24 +-
Documentation/gitprotocol-v2.adoc | 21 +-
Makefile | 1 +
builtin/cat-file.c | 222 +++++++++-
connect.c | 34 ++
connect.h | 8 +
fetch-object-info.c | 156 +++++++
fetch-object-info.h | 25 ++
fetch-pack.c | 58 +--
meson.build | 1 +
object-file.c | 10 +
odb.h | 9 +
protocol-caps.c | 45 +-
serve.c | 5 +-
t/lib-cat-file.sh | 16 +
t/meson.build | 1 +
t/t1006-cat-file.sh | 15 +-
t/t1017-cat-file-remote-object-info.sh | 747 +++++++++++++++++++++++++++++++++
t/t5701-git-serve.sh | 63 +++
transport-helper.c | 12 +-
transport-internal.h | 8 +
transport.c | 44 ++
transport.h | 9 +
23 files changed, 1442 insertions(+), 92 deletions(-)
Range-diff versus v19:
1: 6df5bcb3bc = 1: 31b02f10b5 transport-helper: fix memory leak of helper on disconnect
2: 141d85a76f = 2: 7d62e0586f cat-file: declare loop counter inside for()
3: 87457a1fe3 = 3: 082d593fb7 t1006: extract helper functions into new 'lib-cat-file.sh'
4: c26d378931 = 4: 8646b9d7cf fetch-pack: drop the static advertise_sid variable
-: ---------- > 5: 5531a3c399 fetch-pack: use unsigned int for hash_algo variable
5: ee16e17228 ! 6: 92b4122642 fetch-pack: move write_fetch_command_and_capabilities() to connect.c
@@ connect.c: int server_supports(const char *feature)
+ }
+
+ if (server_feature_v2("object-format", &hash_name)) {
-+ int hash_algo = hash_algo_by_name(hash_name);
++ const unsigned int hash_algo = hash_algo_by_name(hash_name);
+ if (hash_algo_by_ptr(the_hash_algo) != hash_algo)
+ die(_("mismatched algorithms: client %s; server %s"),
+ the_hash_algo->name, hash_name);
@@ fetch-pack.c: static int add_haves(struct fetch_negotiator *negotiator,
- }
-
- if (server_feature_v2("object-format", &hash_name)) {
-- int hash_algo = hash_algo_by_name(hash_name);
+- const unsigned int hash_algo = hash_algo_by_name(hash_name);
- if (hash_algo_by_ptr(the_hash_algo) != hash_algo)
- die(_("mismatched algorithms: client %s; server %s"),
- the_hash_algo->name, hash_name);
6: bb915f57ad < -: ---------- connect: use unsigned int for hash_algo_by_name() calls
7: b3b06b0cae = 7: b954a5994a connect: make write_fetch_command_and_capabilities() more generic
8: 79a87c7011 = 8: 627242a7a1 fetch-pack: move fetch initialization
9: 37c3f93975 = 9: 0578594733 protocol-caps: check object existence regardless of the attributes requested
10: c5062ecaf2 = 10: 816bfa9162 serve: advertise object-info feature
11: 22d72168bc = 11: 2323f45cb2 transport: add client support for object-info
12: 2cf3b24a35 ! 12: a39975766b cat-file: add remote-object-info to batch-command
@@ Documentation/git-cat-file.adoc: one per line, and print information based on th
You can specify the information shown for each object by using a custom
`<format>`. The `<format>` is copied literally to stdout for each
@@ Documentation/git-cat-file.adoc: newline. The available atoms are:
- reports).
-
- `objectsize:disk`::
-- The size, in bytes, that the object takes up on disk. See the
-- note about on-disk sizes in the `CAVEATS` section below.
-+ The size, in bytes, that the object takes up on disk.
-
`deltabase`::
If the object is stored as a delta on-disk, this expands to the
full hex representation of the delta base object name.
- Otherwise, expands to the null OID (all zeroes). See `CAVEATS`
-- below.
-+ Otherwise, expands to the null OID (all zeroes).
++ Otherwise, expands to the null OID (all zeroes). See `CAVEATS` section
+ below.
`rest`::
- If this atom is used in the output string, input lines are split
@@ Documentation/git-cat-file.adoc: newline. The available atoms are:
after that first run of whitespace (i.e., the "rest" of the
line) are output in place of the `%(rest)` atom.
@@ builtin/cat-file.c: struct expand_data {
+ */
+ unsigned is_remote:1;
+};
++
+#define EXPAND_DATA_INIT { .mode = S_IFINVALID, .type = OBJ_BAD }
+
+static const char *remote_object_info_atoms[] = {
@@ builtin/cat-file.c: static void parse_cmd_mailmap(struct batch_options *opt UNUS
+ line_to_split = xstrdup(line);
+ count = split_cmdline(line_to_split, &argv);
+ if (count < 0)
-+ die(_("remote-object-info: %s"), split_cmdline_strerror(count));
++ die(_("remote-object-info: failed to parse command line: %s"),
++ split_cmdline_strerror(count));
+ if (count - 1 > MAX_ALLOWED_OBJ_LIMIT)
+ die(_("remote-object-info supports at most %d objects"),
+ MAX_ALLOWED_OBJ_LIMIT);
13: ebdfc22fb7 ! 13: 70a11d2aea cat-file: make remote-object-info allow-list adapt to the server
@@ builtin/cat-file.c: struct expand_data {
*/
unsigned is_remote:1;
-};
+-
-#define EXPAND_DATA_INIT { .mode = S_IFINVALID, .type = OBJ_BAD }
-static const char *remote_object_info_atoms[] = {
- "objectname",
- "objectsize",
++ /*
++ * List of atoms (i.e. "objectsize") that the server supports. Built
++ * from the server's object-info advertised capabilities.
++ */
+ struct string_list remote_allowed_atoms;
};
-+#define EXPAND_DATA_INIT { .mode = S_IFINVALID, .type = OBJ_BAD, \
-+ .remote_allowed_atoms = STRING_LIST_INIT_NODUP }
++#define EXPAND_DATA_INIT { .mode = S_IFINVALID, \
++ .type = OBJ_BAD, \
++ .remote_allowed_atoms = STRING_LIST_INIT_NODUP }
++
static int is_atom(const char *atom, const char *s, int slen)
{
+ int alen = strlen(atom);
@@ builtin/cat-file.c: static int expand_atom(struct strbuf *sb, const char *atom, int len,
struct expand_data *data)
{
@@ builtin/cat-file.c: static int expand_atom(struct strbuf *sb, const char *atom,
- if (is_atom(remote_object_info_atoms[i], atom, len))
+ size_t i;
+ for (i = 0; i < data->remote_allowed_atoms.nr; i++)
-+ if (is_atom(data->remote_allowed_atoms.items[i].string, atom, len))
++ if (is_atom(data->remote_allowed_atoms.items[i].string,
++ atom, len))
break;
-
- /*
---
base-commit: 44de1520f08d1dfebc3ab2d9f644208eaa5ac925
next prev parent reply other threads:[~2026-07-18 21:50 UTC|newest]
Thread overview: 378+ 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 21:48 ` Karthik Nayak
2026-07-16 14:52 ` 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-16 16:37 ` Junio C Hamano
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 22:27 ` Karthik Nayak
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
2026-07-15 20:32 ` Junio C Hamano
2026-07-15 21:44 ` Pablo Sabater
2026-07-16 1:30 ` Junio C Hamano
2026-07-16 1:47 ` Pablo Sabater
2026-07-15 22:35 ` [PATCH GSoC v18 00/13] cat-file: add remote-object-info to batch-command Karthik Nayak
2026-07-17 15:05 ` [PATCH GSoC v19 " Pablo Sabater
2026-07-17 15:05 ` [PATCH GSoC v19 01/13] transport-helper: fix memory leak of helper on disconnect Pablo Sabater
2026-07-17 15:05 ` [PATCH GSoC v19 02/13] cat-file: declare loop counter inside for() Pablo Sabater
2026-07-17 15:05 ` [PATCH GSoC v19 03/13] t1006: extract helper functions into new 'lib-cat-file.sh' Pablo Sabater
2026-07-17 15:05 ` [PATCH GSoC v19 04/13] fetch-pack: drop the static advertise_sid variable Pablo Sabater
2026-07-17 15:05 ` [PATCH GSoC v19 05/13] fetch-pack: move write_fetch_command_and_capabilities() to connect.c Pablo Sabater
2026-07-18 18:34 ` SZEDER Gábor
2026-07-18 19:00 ` Pablo Sabater
2026-07-17 15:05 ` [PATCH GSoC v19 06/13] connect: use unsigned int for hash_algo_by_name() calls Pablo Sabater
2026-07-17 15:05 ` [PATCH GSoC v19 07/13] connect: make write_fetch_command_and_capabilities() more generic Pablo Sabater
2026-07-17 15:05 ` [PATCH GSoC v19 08/13] fetch-pack: move fetch initialization Pablo Sabater
2026-07-17 15:05 ` [PATCH GSoC v19 09/13] protocol-caps: check object existence regardless of the attributes requested Pablo Sabater
2026-07-17 15:05 ` [PATCH GSoC v19 10/13] serve: advertise object-info feature Pablo Sabater
2026-07-17 15:05 ` [PATCH GSoC v19 11/13] transport: add client support for object-info Pablo Sabater
2026-07-17 15:05 ` [PATCH GSoC v19 12/13] cat-file: add remote-object-info to batch-command Pablo Sabater
2026-07-17 15:05 ` [PATCH GSoC v19 13/13] cat-file: make remote-object-info allow-list adapt to the server Pablo Sabater
2026-07-18 21:49 ` Pablo Sabater [this message]
2026-07-18 21:49 ` [PATCH GSoC v20 01/13] transport-helper: fix memory leak of helper on disconnect Pablo Sabater
2026-07-18 21:49 ` [PATCH GSoC v20 02/13] cat-file: declare loop counter inside for() Pablo Sabater
2026-07-18 21:49 ` [PATCH GSoC v20 03/13] t1006: extract helper functions into new 'lib-cat-file.sh' Pablo Sabater
2026-07-18 21:49 ` [PATCH GSoC v20 04/13] fetch-pack: drop the static advertise_sid variable Pablo Sabater
2026-07-18 21:49 ` [PATCH GSoC v20 05/13] fetch-pack: use unsigned int for hash_algo variable Pablo Sabater
2026-07-18 21:49 ` [PATCH GSoC v20 06/13] fetch-pack: move write_fetch_command_and_capabilities() to connect.c Pablo Sabater
2026-07-18 21:49 ` [PATCH GSoC v20 07/13] connect: make write_fetch_command_and_capabilities() more generic Pablo Sabater
2026-07-18 21:49 ` [PATCH GSoC v20 08/13] fetch-pack: move fetch initialization Pablo Sabater
2026-07-18 21:49 ` [PATCH GSoC v20 09/13] protocol-caps: check object existence regardless of the attributes requested Pablo Sabater
2026-07-18 21:49 ` [PATCH GSoC v20 10/13] serve: advertise object-info feature Pablo Sabater
2026-07-18 21:50 ` [PATCH GSoC v20 11/13] transport: add client support for object-info Pablo Sabater
2026-07-18 21:50 ` [PATCH GSoC v20 12/13] cat-file: add remote-object-info to batch-command Pablo Sabater
2026-07-18 21:50 ` [PATCH GSoC v20 13/13] cat-file: make remote-object-info allow-list adapt to the server Pablo Sabater
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=20260718-ps-eric-work-rebase-v20-0-0c13962ac532@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=szeder.dev@gmail.com \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox