aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--builtin/repack.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/builtin/repack.c b/builtin/repack.c
index 4f08b57ddb..094f5a0cc2 100644
--- a/builtin/repack.c
+++ b/builtin/repack.c
@@ -168,11 +168,12 @@ static int pack_is_retained(struct string_list_item *item)
return (uintptr_t)item->util & RETAIN_PACK;
}
-static void mark_packs_for_deletion_1(struct string_list *names,
+static void mark_packs_for_deletion_1(const struct git_hash_algo *algop,
+ struct string_list *names,
struct string_list *list)
{
struct string_list_item *item;
- const int hexsz = the_hash_algo->hexsz;
+ const int hexsz = algop->hexsz;
for_each_string_list_item(item, list) {
char *sha1;
@@ -217,8 +218,9 @@ static void mark_packs_for_deletion(struct existing_packs *existing,
struct string_list *names)
{
- mark_packs_for_deletion_1(names, &existing->non_kept_packs);
- mark_packs_for_deletion_1(names, &existing->cruft_packs);
+ const struct git_hash_algo *algop = existing->repo->hash_algo;
+ mark_packs_for_deletion_1(algop, names, &existing->non_kept_packs);
+ mark_packs_for_deletion_1(algop, names, &existing->cruft_packs);
}
static void remove_redundant_pack(struct repository *repo,