builtin/repack.c: avoid using `hash_to_hex()` in pack geometry

In previous commits, we started passing either repository or git_hash_algo pointers around to various spots within builtin/repack.c to reduce our dependency on the_repository in the hope of undef'ing USE_THE_REPOSITORY_VARIABLE. This commit takes us as far as we can (easily) go in that direction by removing the only use of a convenience function that only exists when USE_THE_REPOSITORY_VARIABLE is defined. Unfortunately, the only other such function is "is_bare_repository()", which is less than straightforward to convert into, say, "repo_is_bare()", the latter of the two accepting a repository pointer. Punt on that for now, and declare this commit as the stopping point for our efforts in the direction of undef'ing USE_THE_REPOSITORY_VARIABLE. Signed-off-by: Taylor Blau <me@ttaylorr.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Taylor Blau committed Oct 15, 2025 at 18:27 UTC 8a5d4bd87d3fa8e9de9bc3b2ddb7ca527fcfeb68
1 file changed +3 -1
builtin/repack.c
+3 -1
@@ -683,12 +683,14 @@ static void geometry_remove_redundant_packs(struct pack_geometry *geometry,
683 struct string_list *names,
684 struct existing_packs *existing)
685 {
686 + const struct git_hash_algo *algop = existing->repo->hash_algo;
687 struct strbuf buf = STRBUF_INIT;
688 uint32_t i;
689
690 for (i = 0; i < geometry->split; i++) {
691 struct packed_git *p = geometry->pack[i];
691 - if (string_list_has_string(names, hash_to_hex(p->hash)))
692 + if (string_list_has_string(names, hash_to_hex_algop(p->hash,
693 + algop)))
694 continue;
695
696 strbuf_reset(&buf);