[PATCH v7 4/6] serve: advertise object-info feature
- From
Eric Ju <eric.peijian@gmail.com>
- Date
- Nov 25, 2024, 05:36 UTC
- Message-ID
- <20241125053616.25170-5-eric.peijian@gmail.com>
- In-Reply-To
- <20241125053616.25170-1-eric.peijian@gmail.com>
From: Calvin Wan <calvinwan@google.com>
In order for a client to know what object-info components a server can provide, advertise supported object-info features. This will allow a client to decide whether to query the server for object-info or fetch as a fallback.
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> --- serve.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/serve.c b/serve.c index d674764a25..c3d8098642 100644 --- a/serve.c +++ b/serve.c @@ -70,7 +70,7 @@ static void session_id_receive(struct repository *r UNUSED, trace2_data_string("transfer", NULL, "client-sid", client_sid); } -static int object_info_advertise(struct repository *r, struct strbuf *value UNUSED) +static int object_info_advertise(struct repository *r, struct strbuf *value) { if (advertise_object_info == -1 && repo_config_get_bool(r, "transfer.advertiseobjectinfo", @@ -78,6 +78,8 @@ static int object_info_advertise(struct repository *r, struct strbuf *value UNUS /* disabled by default */ advertise_object_info = 0; } + if (value && advertise_object_info) + strbuf_addstr(value, "size"); return advertise_object_info; }
-- 2.47.0