When prepare_packed_git is called with the report_garbage method initialized, we report unexpected files in the objects directory as garbage. Stop reporting the multi-pack-index and the pack-files it covers as garbage. Signed-off-by: Derrick Stolee <dstolee@xxxxxxxxxxxxx> --- packfile.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/packfile.c b/packfile.c index 896da460ac..fe713a0242 100644 --- a/packfile.c +++ b/packfile.c @@ -820,9 +820,8 @@ static void prepare_pack(const char *full_name, size_t full_name_len, struct packed_git *p; size_t base_len = full_name_len; - if (strip_suffix_mem(full_name, &base_len, ".idx")) { - if (data->m && midx_contains_pack(data->m, file_name)) - return; + if (strip_suffix_mem(full_name, &base_len, ".idx") && + !(data->m && midx_contains_pack(data->m, file_name))) { /* Don't reopen a pack we already have. */ for (p = data->r->objects->packed_git; p; p = p->next) { size_t len; @@ -842,6 +841,8 @@ static void prepare_pack(const char *full_name, size_t full_name_len, if (!report_garbage) return; + if (!strcmp(file_name, "multi-pack-index")) + return; if (ends_with(file_name, ".idx") || ends_with(file_name, ".pack") || ends_with(file_name, ".bitmap") || -- 2.18.0.118.gd4f65b8d14