[PATCH GSoC v15 05/13] fetch-pack: drop static `advertise_sid` variable
- From
Pablo Sabater <pabloosabaterr@gmail.com>
- Date
- Jul 1, 2026, 12:18 UTC
- Message-ID
- <20260701-ps-eric-work-rebase-v15-5-c88a43b63917@gmail.com>
- In-Reply-To
- <20260701-ps-eric-work-rebase-v15-0-c88a43b63917@gmail.com>
`write_fetch_command_and_capabilities()` is moved to `connect.c` in a subsequent commit. To prepare for that, drop the static variable usage of `advertise_sid`. Currently `advertise_sid` is used in two places:
1. In function `do_fetch_pack()`:
if (!server_supports("session_id"))
advertise_sid = 0;
2. In function `fetch_pack_config()`:
repo_config_get_bool("transfer.advertisesid", &advertise_sid);Since `do_fetch_pack()` is only relevant for protocol v1, it can be ignored because `write_fetch_command_and_capabilities()` is only used in protocol v2.
About 2, call `repo_config_get_bool()` directly inside of the function.
While at it, change `hash_algo`'s type to match `hash_algo_by_name()`'s actual return type (`unsigned int`) and make it `const`.
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> --- fetch-pack.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/fetch-pack.c b/fetch-pack.c index f13951d154..ad07603755 100644 --- a/fetch-pack.c +++ b/fetch-pack.c @@ -1380,6 +1380,9 @@ static void write_fetch_command_and_capabilities(struct strbuf *req_buf, const struct string_list *server_options) { const char *hash_name; + int advertise_sid; + + repo_config_get_bool(the_repository, "transfer.advertisesid", &advertise_sid); ensure_server_supports_v2("fetch"); packet_buf_write(req_buf, "command=fetch"); @@ -1395,7 +1398,7 @@ static void write_fetch_command_and_capabilities(struct strbuf *req_buf, } 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);
-- 2.54.0