From 4b4e75dd4f1dac0c25bded7466b0cc20c9649efb Mon Sep 17 00:00:00 2001 From: Jeff King Date: Fri, 24 Feb 2023 01:38:10 -0500 Subject: serve: use repository pointer to get config A few of the v2 "serve" callbacks ignore their repository parameter and read config using the_repository (either directly or implicitly by calling wrapper functions). This isn't a bug since the server code only handles a single main repository anyway (and indeed, if you look at the callers, these repository parameters will always be the_repository). But in the long run we want to get rid of the_repository, so let's take a tiny step in that direction. As a bonus, this silences some -Wunused-parameter warnings. Signed-off-by: Jeff King Signed-off-by: Junio C Hamano --- serve.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'serve.c') diff --git a/serve.c b/serve.c index cbf4a143cf..2ccc03c16b 100644 --- a/serve.c +++ b/serve.c @@ -48,7 +48,7 @@ static void object_format_receive(struct repository *r, static int session_id_advertise(struct repository *r, struct strbuf *value) { if (advertise_sid == -1 && - git_config_get_bool("transfer.advertisesid", &advertise_sid)) + repo_config_get_bool(r, "transfer.advertisesid", &advertise_sid)) advertise_sid = 0; if (!advertise_sid) return 0; -- cgit v1.2.3 From 74595cca21a41e4be6ca8d578d805b70b7653e98 Mon Sep 17 00:00:00 2001 From: Jeff King Date: Fri, 24 Feb 2023 01:38:23 -0500 Subject: serve: mark unused parameters in virtual functions Each v2 "serve" action has a virtual function for advertising and implementing the command. A few of these are so trivial that they don't need to look at their parameters, especially the "repository" parameter. We can mark them so that -Wunused-parameter doesn't complain. Note that upload_pack_v2() probably _should_ be using its repository pointer. But teaching the functions it calls to do so is non-trivial. Even using it for something as simple as reading config is tricky, both because it shares code with the v1 upload pack, and because the git_protected_config() mechanism it uses does not have a repo-specific interface. So we'll just annotate it for now, and cleaning it up can be part of the larger work to drop references to the_repository. Signed-off-by: Jeff King Signed-off-by: Junio C Hamano --- serve.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'serve.c') diff --git a/serve.c b/serve.c index 2ccc03c16b..e08a980083 100644 --- a/serve.c +++ b/serve.c @@ -12,13 +12,13 @@ static int advertise_sid = -1; static int client_hash_algo = GIT_HASH_SHA1; -static int always_advertise(struct repository *r, - struct strbuf *value) +static int always_advertise(struct repository *r UNUSED, + struct strbuf *value UNUSED) { return 1; } -static int agent_advertise(struct repository *r, +static int agent_advertise(struct repository *r UNUSED, struct strbuf *value) { if (value) @@ -34,7 +34,7 @@ static int object_format_advertise(struct repository *r, return 1; } -static void object_format_receive(struct repository *r, +static void object_format_receive(struct repository *r UNUSED, const char *algo_name) { if (!algo_name) @@ -57,7 +57,7 @@ static int session_id_advertise(struct repository *r, struct strbuf *value) return 1; } -static void session_id_receive(struct repository *r, +static void session_id_receive(struct repository *r UNUSED, const char *client_sid) { if (!client_sid) -- cgit v1.2.3