]> granicus.if.org Git - git/commitdiff
midx: stop reporting garbage
authorDerrick Stolee <dstolee@microsoft.com>
Mon, 20 Aug 2018 16:51:59 +0000 (16:51 +0000)
committerJunio C Hamano <gitster@pobox.com>
Mon, 20 Aug 2018 22:31:39 +0000 (15:31 -0700)
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@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
packfile.c

index 896da460ac7779b698b95a52c4bab09c19732e03..fe713a0242212d925ebab126b0c3584b372c9f53 100644 (file)
@@ -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") ||