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, szeder.dev@gmail.com, toon@iotcl.com
Subject: [PATCH GSoC v21 11/13] transport: add client support for object-info
Date: Fri, 24 Jul 2026 12:54:22 +0200 [thread overview]
Message-ID: <20260724-ps-eric-work-rebase-v21-11-ba67f024fdff@gmail.com> (raw)
In-Reply-To: <20260724-ps-eric-work-rebase-v21-0-ba67f024fdff@gmail.com>
From: Calvin Wan <calvinwan@google.com>
Sometimes, it is beneficial to retrieve information about an object
without downloading it entirely. The server-side logic for this
functionality was implemented in commit "a2ba162cda (object-info:
support for retrieving object info, 2021-04-20)." And the wire
format is documented at
https://git-scm.com/docs/protocol-v2#_object_info.
Introduce client-side support for the object-info capability.
Add its own function for object-info separate from existing fetch
infrastructure.
Currently, the client supports requesting a list of OIDs with the size
attribute from a v2 server. If the server does not advertise this
feature (i.e., transfer.advertiseobjectinfo is set to false), the client
returns an error and exits.
Note that:
1. The entire request is written into req_buf before being sent to the
remote. This approach follows the pattern used in the
send_fetch_request() logic within 'fetch-pack.c'. Streaming the
request is not addressed in this patch.
2. A new field 'unrecognized' has been added to object_info. This new
field is set at fetch_object_info() when the object is unrecognized
by the server.
Helped-by: Jonathan Tan <jonathantanmy@google.com>
Helped-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Calvin Wan <calvinwan@google.com>
Signed-off-by: Eric Ju <eric.peijian@gmail.com>
Signed-off-by: Pablo Sabater <pabloosabaterr@gmail.com>
---
Makefile | 1 +
fetch-object-info.c | 138 +++++++++++++++++++++++++++++++++++++++++++++++++++
fetch-object-info.h | 22 ++++++++
meson.build | 1 +
odb.h | 6 +++
transport-helper.c | 10 ++++
transport-internal.h | 8 +++
transport.c | 45 +++++++++++++++++
transport.h | 9 ++++
9 files changed, 240 insertions(+)
diff --git a/Makefile b/Makefile
index 98e995e4be..fac3e8879c 100644
--- a/Makefile
+++ b/Makefile
@@ -1169,6 +1169,7 @@ LIB_OBJS += ewah/ewah_io.o
LIB_OBJS += ewah/ewah_rlw.o
LIB_OBJS += exec-cmd.o
LIB_OBJS += fetch-negotiator.o
+LIB_OBJS += fetch-object-info.o
LIB_OBJS += fetch-pack.o
LIB_OBJS += fmt-merge-msg.o
LIB_OBJS += fsck.o
diff --git a/fetch-object-info.c b/fetch-object-info.c
new file mode 100644
index 0000000000..30475a1e87
--- /dev/null
+++ b/fetch-object-info.c
@@ -0,0 +1,138 @@
+#include "git-compat-util.h"
+#include "gettext.h"
+#include "hex.h"
+#include "pkt-line.h"
+#include "connect.h"
+#include "oid-array.h"
+#include "odb.h"
+#include "fetch-object-info.h"
+#include "string-list.h"
+
+/* Sends object-info command and its arguments into the request buffer. */
+static void send_object_info_request(const int fd_out, struct object_info_args *args)
+{
+ struct strbuf req_buf = STRBUF_INIT;
+
+ write_command_and_capabilities(&req_buf, "object-info", args->server_options);
+
+ if (unsorted_string_list_has_string(args->object_info_options, "size"))
+ packet_buf_write(&req_buf, "size");
+ else if (args->object_info_options->nr)
+ BUG("only size should be in object_info_options");
+
+ if (args->oids)
+ for (size_t i = 0; i < args->oids->nr; i++)
+ packet_buf_write(&req_buf, "oid %s", oid_to_hex(&args->oids->oid[i]));
+
+ packet_buf_flush(&req_buf);
+ if (write_in_full(fd_out, req_buf.buf, req_buf.len) < 0)
+ die_errno(_("unable to write request to remote"));
+
+ strbuf_release(&req_buf);
+}
+
+static int parse_object_size(const char *s, size_t *res)
+{
+ uintmax_t uim;
+
+ if (!s[0] || s[strspn(s, "0123456789")])
+ return -1;
+ errno = 0;
+ uim = strtoumax(s, NULL, 10);
+ if (errno || uim > SIZE_MAX)
+ return -1;
+ *res = uim;
+ return 0;
+}
+
+int fetch_object_info(const enum protocol_version version, struct object_info_args *args,
+ struct packet_reader *reader, struct object_info *object_info_data,
+ const int stateless_rpc, const int fd_out)
+{
+ int size_index = -1;
+
+ switch (version) {
+ case protocol_v2:
+ if (!server_supports_v2("object-info"))
+ die(_("object-info capability is not enabled on the server"));
+ send_object_info_request(fd_out, args);
+ break;
+ case protocol_v1:
+ case protocol_v0:
+ die(_("object-info requires protocol v2"));
+ case protocol_unknown_version:
+ BUG("unknown protocol version");
+ }
+
+ for (size_t i = 0; i < args->object_info_options->nr; i++) {
+ if (packet_reader_read(reader) != PACKET_READ_NORMAL) {
+ check_stateless_delimiter(stateless_rpc, reader,
+ "stateless delimiter expected");
+ return -1;
+ }
+
+ if (!string_list_has_string(args->object_info_options, reader->line))
+ return -1;
+
+ if (!strcmp(reader->line, "size")) {
+ /*
+ * i is the number of supported options which currently
+ * is only size. No risk of overflow.
+ */
+ size_index = (int)i;
+ for (size_t j = 0; j < args->oids->nr; j++)
+ object_info_data[j].sizep =
+ xcalloc(1, sizeof(*object_info_data[j].sizep));
+ } else {
+ BUG("only size is supported");
+ }
+ }
+
+ for (size_t i = 0;
+ packet_reader_read(reader) == PACKET_READ_NORMAL &&
+ i < args->oids->nr;
+ i++) {
+ struct string_list object_info_values = STRING_LIST_INIT_DUP;
+
+ string_list_split(&object_info_values, reader->line, " ", -1);
+
+ if (strcmp(object_info_values.items[0].string,
+ oid_to_hex(&args->oids->oid[i])))
+ die(_("object-info: expected OID: %s, got %s"),
+ oid_to_hex(&args->oids->oid[i]),
+ object_info_values.items[0].string);
+
+ /*
+ * If the response is two elements but the second one is an
+ * empty string, that means that the OID is unrecognized by the
+ * server.
+ */
+ if (object_info_values.nr >= 2 &&
+ !strcmp(object_info_values.items[1].string, "")) {
+ object_info_data[i].unrecognized = 1;
+ string_list_clear(&object_info_values, 0);
+ continue;
+ }
+
+ /*
+ * Because we filter the options to be only the supported by
+ * the server we expect the server to answer with the same
+ * number of attributes requested.
+ */
+ if (args->object_info_options->nr + 1 != object_info_values.nr)
+ die("object-info: unexpected number of attributes: %s",
+ reader->line);
+
+ if (size_index >= 0 &&
+ parse_object_size(object_info_values.items[size_index + 1].string,
+ object_info_data[i].sizep))
+ die("object-info: ref %s has invalid size %s",
+ object_info_values.items[0].string,
+ object_info_values.items[size_index + 1].string);
+
+ string_list_clear(&object_info_values, 0);
+ }
+ check_stateless_delimiter(stateless_rpc, reader, "stateless delimiter expected");
+
+ return 0;
+}
diff --git a/fetch-object-info.h b/fetch-object-info.h
new file mode 100644
index 0000000000..31aad98408
--- /dev/null
+++ b/fetch-object-info.h
@@ -0,0 +1,22 @@
+#ifndef FETCH_OBJECT_INFO_H
+#define FETCH_OBJECT_INFO_H
+
+#include "pkt-line.h"
+#include "protocol.h"
+
+struct object_info_args {
+ struct string_list *object_info_options;
+ const struct string_list *server_options;
+ struct oid_array *oids;
+};
+
+struct object_info;
+/*
+ * Sends git-cat-file object-info command into the request buf and read the
+ * results from packets.
+ */
+int fetch_object_info(enum protocol_version version, struct object_info_args *args,
+ struct packet_reader *reader, struct object_info *object_info_data,
+ int stateless_rpc, int fd_out);
+
+#endif /* FETCH_OBJECT_INFO_H */
diff --git a/meson.build b/meson.build
index f7c40ea079..7073d5844d 100644
--- a/meson.build
+++ b/meson.build
@@ -374,6 +374,7 @@ libgit_sources = [
'ewah/ewah_rlw.c',
'exec-cmd.c',
'fetch-negotiator.c',
+ 'fetch-object-info.c',
'fetch-pack.c',
'fmt-merge-msg.c',
'fsck.c',
diff --git a/odb.h b/odb.h
index 7995bed97b..b7bc0ee844 100644
--- a/odb.h
+++ b/odb.h
@@ -340,6 +340,12 @@ struct object_info {
* or multiple times in the same source.
*/
struct odb_source_info *source_infop;
+
+ /*
+ * object-info protocol specific. Set by the protocol when the remote
+ * does not recognize the requested object.
+ */
+ unsigned int unrecognized:1;
};
/*
diff --git a/transport-helper.c b/transport-helper.c
index f195070788..623463dcea 100644
--- a/transport-helper.c
+++ b/transport-helper.c
@@ -784,6 +784,15 @@ static int fetch_refs(struct transport *transport,
return -1;
}
+static int fetch_object_info_helper(struct transport *transport)
+{
+ get_helper(transport);
+ if (process_connect(transport, 0))
+ return transport->vtable->fetch_object_info(transport);
+
+ die(_("object-info requires protocol v2"));
+}
+
struct push_update_ref_state {
struct ref *hint;
struct ref_push_report *report;
@@ -1330,6 +1339,7 @@ static struct transport_vtable vtable = {
.get_refs_list = get_refs_list,
.get_bundle_uri = get_bundle_uri,
.fetch_refs = fetch_refs,
+ .fetch_object_info = fetch_object_info_helper,
.push_refs = push_refs,
.connect = connect_helper,
.disconnect = release_helper
diff --git a/transport-internal.h b/transport-internal.h
index 051f3ab0dc..60db0bedcd 100644
--- a/transport-internal.h
+++ b/transport-internal.h
@@ -45,6 +45,14 @@ struct transport_vtable {
**/
int (*fetch_refs)(struct transport *transport, int refs_nr, struct ref **refs);
+ /*
+ * Fetch object info (only size currently) from remote without
+ * downloading the objects.
+ *
+ * Uses object-info capability of v2 protocol.
+ */
+ int (*fetch_object_info)(struct transport *transport);
+
/**
* Push the objects and refs. Send the necessary objects, and
* then, for any refs where peer_ref is set and
diff --git a/transport.c b/transport.c
index fc144f0aed..9342680531 100644
--- a/transport.c
+++ b/transport.c
@@ -9,6 +9,7 @@
#include "hook.h"
#include "pkt-line.h"
#include "fetch-pack.h"
+#include "fetch-object-info.h"
#include "remote.h"
#include "connect.h"
#include "send-pack.h"
@@ -432,6 +433,48 @@ static int get_bundle_uri(struct transport *transport)
transport->bundles, stateless_rpc);
}
+static int fetch_object_info_via_pack(struct transport *transport)
+{
+ int ret = 0;
+ struct git_transport_data *data = transport->data;
+ struct packet_reader reader;
+ struct object_info_args args = { 0 };
+
+ args.server_options = transport->server_options;
+ args.oids = transport->smart_options->object_info_oids;
+ args.object_info_options = transport->smart_options->object_info_options;
+ string_list_sort(args.object_info_options);
+
+ connect_setup(transport, 0);
+ packet_reader_init(&reader, data->fd[0], NULL, 0,
+ PACKET_READ_CHOMP_NEWLINE |
+ PACKET_READ_GENTLE_ON_EOF |
+ PACKET_READ_DIE_ON_ERR_PACKET);
+
+ data->version = discover_version(&reader);
+ transport->hash_algo = reader.hash_algo;
+
+ ret = fetch_object_info(data->version, &args, &reader,
+ data->options.object_info_data,
+ transport->stateless_rpc, data->fd[1]);
+
+ close(data->fd[0]);
+ if (data->fd[1] >= 0)
+ close(data->fd[1]);
+ if (finish_connect(data->conn))
+ ret = -1;
+ data->conn = NULL;
+
+ return ret;
+}
+
+int transport_fetch_object_info(struct transport *transport)
+{
+ if (!transport->vtable->fetch_object_info)
+ die(_("remote does not support object-info"));
+ return transport->vtable->fetch_object_info(transport);
+}
+
static int fetch_refs_via_pack(struct transport *transport,
int nr_heads, struct ref **to_fetch)
{
@@ -1004,6 +1047,7 @@ static struct transport_vtable taken_over_vtable = {
.get_refs_list = get_refs_via_connect,
.get_bundle_uri = get_bundle_uri,
.fetch_refs = fetch_refs_via_pack,
+ .fetch_object_info = fetch_object_info_via_pack,
.push_refs = git_transport_push,
.disconnect = disconnect_git
};
@@ -1169,6 +1213,7 @@ static struct transport_vtable builtin_smart_vtable = {
.get_refs_list = get_refs_via_connect,
.get_bundle_uri = get_bundle_uri,
.fetch_refs = fetch_refs_via_pack,
+ .fetch_object_info = fetch_object_info_via_pack,
.push_refs = git_transport_push,
.connect = connect_git,
.disconnect = disconnect_git
diff --git a/transport.h b/transport.h
index 7e5867cffa..a7869d18e0 100644
--- a/transport.h
+++ b/transport.h
@@ -55,6 +55,10 @@ struct git_transport_options {
* common commits to this oidset instead of fetching any packfiles.
*/
struct oidset *acked_commits;
+
+ struct oid_array *object_info_oids;
+ struct object_info *object_info_data;
+ struct string_list *object_info_options;
};
enum transport_family {
@@ -309,6 +313,11 @@ int transport_get_remote_bundle_uri(struct transport *transport);
const struct git_hash_algo *transport_get_hash_algo(struct transport *transport);
int transport_fetch_refs(struct transport *transport, struct ref *refs);
+/*
+ * Fetch the object info from remote
+ */
+int transport_fetch_object_info(struct transport *transport);
+
/*
* If this flag is set, unlocking will avoid to call non-async-signal-safe
* functions. This will necessarily leave behind some data structures which
--
2.54.0
next prev parent reply other threads:[~2026-07-24 10:54 UTC|newest]
Thread overview: 396+ 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 ` [PATCH GSoC v20 00/13] cat-file: add remote-object-info to batch-command Pablo Sabater
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
2026-07-21 20:12 ` [PATCH GSoC v20 00/13] cat-file: add remote-object-info to batch-command Karthik Nayak
2026-07-22 12:59 ` Pablo Sabater
2026-07-22 16:13 ` Karthik Nayak
2026-07-22 20:47 ` Pablo Sabater
2026-07-24 10:54 ` [PATCH GSoC v21 " Pablo Sabater
2026-07-24 10:54 ` [PATCH GSoC v21 01/13] transport-helper: fix memory leak of helper on disconnect Pablo Sabater
2026-07-24 10:54 ` [PATCH GSoC v21 02/13] cat-file: declare loop counter inside for() Pablo Sabater
2026-07-24 10:54 ` [PATCH GSoC v21 03/13] t1006: extract helper functions into new 'lib-cat-file.sh' Pablo Sabater
2026-07-24 10:54 ` [PATCH GSoC v21 04/13] fetch-pack: drop the static advertise_sid variable Pablo Sabater
2026-07-24 10:54 ` [PATCH GSoC v21 05/13] fetch-pack: use unsigned int for hash_algo variable Pablo Sabater
2026-07-24 10:54 ` [PATCH GSoC v21 06/13] fetch-pack: move write_fetch_command_and_capabilities() to connect.c Pablo Sabater
2026-07-24 10:54 ` [PATCH GSoC v21 07/13] connect: make write_fetch_command_and_capabilities() more generic Pablo Sabater
2026-07-24 10:54 ` [PATCH GSoC v21 08/13] fetch-pack: move fetch initialization Pablo Sabater
2026-07-24 10:54 ` [PATCH GSoC v21 09/13] protocol-caps: check object existence regardless of the attributes requested Pablo Sabater
2026-07-24 10:54 ` [PATCH GSoC v21 10/13] serve: advertise object-info feature Pablo Sabater
2026-07-24 10:54 ` Pablo Sabater [this message]
2026-07-24 10:54 ` [PATCH GSoC v21 12/13] cat-file: add remote-object-info to batch-command Pablo Sabater
2026-07-24 10:54 ` [PATCH GSoC v21 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=20260724-ps-eric-work-rebase-v21-11-ba67f024fdff@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 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.