From: Pablo Sabater <pabloosabaterr@gmail.com>
To: gitster@pobox.com
Cc: peff@peff.net, eric.peijian@gmail.com, chriscool@tuxfamily.org,
git@vger.kernel.org, jltobler@gmail.com, karthik.188@gmail.com,
toon@iotcl.com, chandrapratap3519@gmail.com,
Pablo Sabater <pabloosabaterr@gmail.com>
Subject: [PATCH GSoC RFC v13 11/12] cat-file: validate remote atoms with allow_list
Date: Fri, 19 Jun 2026 16:56:40 +0200 [thread overview]
Message-ID: <20260619-ps-eric-work-rebase-v13-11-3d4c7315d2f8@gmail.com> (raw)
In-Reply-To: <20260619-ps-eric-work-rebase-v13-0-3d4c7315d2f8@gmail.com>
strstr() is not enough to validate the format placeholders in
remote-object-info causing two errors:
- Atoms recognized by expand_atom() but the remote doesn't returns 1, but
data->type contains garbage causing segfault.
- expand_atom() returns 0 for unknown atoms, calling
strbuf_expand_bad_format() which ends in die() blocking local queries
if the same format is shared.
Add an allow_list with the supported atoms at the top of expand_atom().
In remote mode, unsupported atoms return 1 leaving the sb empty,
honoring how for-each-ref handles known but inapplicable atoms.
As extra safety, initialize data->type to OBJ_BAD and add a NULL check
for type_name() so uninitialized data doesn't cause segfault.
Update tests that expect previous die() behaviour to expect an empty
string and add an explicit test for empty string return on unknown
placeholder.
Update caveat behaviour documentation.
Mentored-by: Karthik Nayak <karthik.188@gmail.com>
Mentored-by: Chandra Pratap <chandrapratap3519@gmail.com>
Signed-off-by: Pablo Sabater <pabloosabaterr@gmail.com>
---
Documentation/git-cat-file.adoc | 5 +++--
builtin/cat-file.c | 41 +++++++++++++++++++++++++++-------
t/t1017-cat-file-remote-object-info.sh | 27 ++++++++++++++++++----
3 files changed, 59 insertions(+), 14 deletions(-)
diff --git a/Documentation/git-cat-file.adoc b/Documentation/git-cat-file.adoc
index aba20eb770..3b7a85b383 100644
--- a/Documentation/git-cat-file.adoc
+++ b/Documentation/git-cat-file.adoc
@@ -451,8 +451,9 @@ CAVEATS
-------
Note that since %(objecttype), %(objectsize:disk) and %(deltabase) are
-currently not supported by the `remote-object-info` command, we will raise
-an error and exit when they appear in the format string.
+currently not supported by the `remote-object-info` command, they will
+return an empty string for remote queries, matching how `for-each-ref`
+behaves for known but inapplicable placeholders.
Note that the sizes of objects on disk are reported accurately, but care
should be taken in drawing conclusions about which refs or objects are
diff --git a/builtin/cat-file.c b/builtin/cat-file.c
index 402b2c31a1..7ad6165032 100644
--- a/builtin/cat-file.c
+++ b/builtin/cat-file.c
@@ -336,8 +336,18 @@ struct expand_data {
* optimized out.
*/
unsigned skip_object_info : 1;
+
+ /*
+ * Flags about when an object info is being fetched from remote.
+ */
+ unsigned is_remote:1;
+};
+#define EXPAND_DATA_INIT { .mode = S_IFINVALID, .type = OBJ_BAD }
+
+static const char *remote_object_info_atoms[] = {
+ "objectname",
+ "objectsize",
};
-#define EXPAND_DATA_INIT { .mode = S_IFINVALID }
static int is_atom(const char *atom, const char *s, int slen)
{
@@ -348,14 +358,31 @@ static int is_atom(const char *atom, const char *s, int slen)
static int expand_atom(struct strbuf *sb, const char *atom, int len,
struct expand_data *data)
{
+ if (data->is_remote) {
+ size_t i, allowed_nr = ARRAY_SIZE(remote_object_info_atoms);
+ for (i = 0; i < allowed_nr; i++)
+ if (is_atom(remote_object_info_atoms[i], atom, len))
+ break;
+
+ /*
+ * On remote, skip unsupported atoms returning an empty sb,
+ * honoring how for-each-ref handles known but inapplicable
+ * atoms (e.g. %(tagger)).
+ */
+ if (i == allowed_nr)
+ return 1;
+ }
+
if (is_atom("objectname", atom, len)) {
if (!data->mark_query)
strbuf_add_oid_hex(sb, &data->oid);
} else if (is_atom("objecttype", atom, len)) {
- if (data->mark_query)
+ if (data->mark_query) {
data->info.typep = &data->type;
- else
- strbuf_addstr(sb, type_name(data->type));
+ } else {
+ const char *t = type_name(data->type);
+ strbuf_addstr(sb, t ? t : "");
+ }
} else if (is_atom("objectsize", atom, len)) {
if (data->mark_query)
data->info.sizep = &data->size;
@@ -712,10 +739,6 @@ static int get_remote_info(struct batch_options *opt,
gtransport->smart_options->object_info = 1;
gtransport->smart_options->object_info_oids = object_info_oids;
- /* 'objectsize' is the only option currently supported */
- if (!strstr(opt->format, "%(objectsize)"))
- die(_("%s is currently not supported with remote-object-info"), opt->format);
-
string_list_append(&object_info_options, "size");
if (object_info_options.nr > 0) {
@@ -845,7 +868,9 @@ static void parse_cmd_remote_object_info(struct batch_options *opt,
*/
data->size = *remote_object_info[i].sizep;
opt->batch_mode = BATCH_MODE_INFO;
+ data->is_remote = 1;
batch_object_write(argv[i + 1], output, opt, data, NULL, 0);
+ data->is_remote = 0;
} else {
report_object_status(opt, oid_to_hex(&data->oid), &data->oid, "missing");
}
diff --git a/t/t1017-cat-file-remote-object-info.sh b/t/t1017-cat-file-remote-object-info.sh
index b744e81701..9d8f114b72 100755
--- a/t/t1017-cat-file-remote-object-info.sh
+++ b/t/t1017-cat-file-remote-object-info.sh
@@ -236,6 +236,21 @@ test_expect_success 'remote-object-info does not die on missing oid like info' '
)
'
+# This tests depends on %(objecttype) not being supported yet, once supported
+# it needs to be updated.
+test_expect_success 'unsupported placeholder on remote returns empty string' '
+ (
+ set_transport_variables "$daemon_parent" &&
+ cd "$daemon_parent/daemon_client_empty" &&
+
+ echo "" >expect &&
+ git cat-file --batch-command="%(objecttype)" >actual <<-EOF &&
+ remote-object-info "$GIT_DAEMON_URL/parent" $hello_oid
+ EOF
+ test_cmp expect actual
+ )
+'
+
# Test --batch-command remote-object-info with 'git://' and
# transfer.advertiseobjectinfo set to false, i.e. server does not have object-info capability
test_expect_success 'batch-command remote-object-info git:// fails when transfer.advertiseobjectinfo=false' '
@@ -575,10 +590,12 @@ test_expect_success 'remote-object-info fails on unsupported filter option (obje
set_transport_variables "$HTTPD_DOCUMENT_ROOT_PATH/http_parent" &&
cd "$HTTPD_DOCUMENT_ROOT_PATH/http_parent" &&
- test_must_fail git cat-file --batch-command="%(objectsize:disk)" 2>err <<-EOF &&
+ echo "$hello_oid " >expect &&
+
+ git cat-file --batch-command="%(objectname) %(objectsize:disk)" >actual <<-EOF &&
remote-object-info "$HTTPD_URL/smart/http_parent" $hello_oid
EOF
- test_grep "%(objectsize:disk) is currently not supported with remote-object-info" err
+ test_cmp expect actual
)
'
@@ -587,10 +604,12 @@ test_expect_success 'remote-object-info fails on unsupported filter option (delt
set_transport_variables "$HTTPD_DOCUMENT_ROOT_PATH/http_parent" &&
cd "$HTTPD_DOCUMENT_ROOT_PATH/http_parent" &&
- test_must_fail git cat-file --batch-command="%(deltabase)" 2>err <<-EOF &&
+ echo "" >expect &&
+
+ git cat-file --batch-command="%(deltabase)" >actual <<-EOF &&
remote-object-info "$HTTPD_URL/smart/http_parent" $hello_oid
EOF
- test_grep "%(deltabase) is currently not supported with remote-object-info" err
+ test_cmp expect actual
)
'
--
2.54.0
next prev parent reply other threads:[~2026-06-19 14:57 UTC|newest]
Thread overview: 220+ 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-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-19 14:56 ` [PATCH GSoC RFC v13 06/12] connect: refactor packet writing Pablo Sabater
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 ` Pablo Sabater [this message]
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
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=20260619-ps-eric-work-rebase-v13-11-3d4c7315d2f8@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox