mark_packs_for_deletion_1(names, &existing->cruft_packs);
}
-static void remove_redundant_pack(const char *dir_name, const char *base_name)
+static void remove_redundant_pack(struct repository *repo,
+ const char *dir_name, const char *base_name)
{
struct strbuf buf = STRBUF_INIT;
- struct odb_source *source = the_repository->objects->sources;
+ struct odb_source *source = repo->objects->sources;
struct multi_pack_index *m = get_multi_pack_index(source);
strbuf_addf(&buf, "%s.pack", base_name);
if (m && source->local && midx_contains_pack(m, buf.buf))
- clear_midx_file(the_repository);
+ clear_midx_file(repo);
strbuf_insertf(&buf, 0, "%s/", dir_name);
unlink_pack_path(buf.buf, 1);
strbuf_release(&buf);
}
-static void remove_redundant_packs_1(struct string_list *packs)
+static void remove_redundant_packs_1(struct repository *repo,
+ struct string_list *packs)
{
struct string_list_item *item;
for_each_string_list_item(item, packs) {
if (!pack_is_marked_for_deletion(item))
continue;
- remove_redundant_pack(packdir, item->string);
+ remove_redundant_pack(repo, packdir, item->string);
}
}
static void remove_redundant_existing_packs(struct existing_packs *existing)
{
- remove_redundant_packs_1(&existing->non_kept_packs);
- remove_redundant_packs_1(&existing->cruft_packs);
+ remove_redundant_packs_1(existing->repo, &existing->non_kept_packs);
+ remove_redundant_packs_1(existing->repo, &existing->cruft_packs);
}
static void existing_packs_release(struct existing_packs *existing)
(string_list_has_string(&existing->kept_packs, buf.buf)))
continue;
- remove_redundant_pack(packdir, buf.buf);
+ remove_redundant_pack(existing->repo, packdir, buf.buf);
}
strbuf_release(&buf);