@@ -398,8 +398,7 @@ static int open_midx_bitmap_1(struct bitmap_index *bitmap_git,
398
398
struct stat st ;
399
399
char * bitmap_name = midx_bitmap_filename (midx );
400
400
int fd = git_open (bitmap_name );
401
- uint32_t i , preferred_pack ;
402
- struct packed_git * preferred ;
401
+ uint32_t i ;
403
402
404
403
if (fd < 0 ) {
405
404
if (errno != ENOENT )
@@ -456,18 +455,6 @@ static int open_midx_bitmap_1(struct bitmap_index *bitmap_git,
456
455
}
457
456
}
458
457
459
- if (midx_preferred_pack (bitmap_git -> midx , & preferred_pack ) < 0 ) {
460
- warning (_ ("could not determine MIDX preferred pack" ));
461
- goto cleanup ;
462
- }
463
-
464
- preferred = bitmap_git -> midx -> packs [preferred_pack ];
465
- if (!is_pack_valid (preferred )) {
466
- warning (_ ("preferred pack (%s) is invalid" ),
467
- preferred -> pack_name );
468
- goto cleanup ;
469
- }
470
-
471
458
return 0 ;
472
459
473
460
cleanup :
@@ -2306,8 +2293,10 @@ void reuse_partial_packfile_from_bitmap(struct bitmap_index *bitmap_git,
2306
2293
if (!pack .bitmap_nr )
2307
2294
continue ;
2308
2295
2309
- ALLOC_GROW (packs , packs_nr + 1 , packs_alloc );
2310
- memcpy (& packs [packs_nr ++ ], & pack , sizeof (pack ));
2296
+ if (is_pack_valid (pack .p )) {
2297
+ ALLOC_GROW (packs , packs_nr + 1 , packs_alloc );
2298
+ memcpy (& packs [packs_nr ++ ], & pack , sizeof (pack ));
2299
+ }
2311
2300
2312
2301
objects_nr += pack .p -> num_objects ;
2313
2302
}
@@ -2341,16 +2330,22 @@ void reuse_partial_packfile_from_bitmap(struct bitmap_index *bitmap_git,
2341
2330
pack_int_id = -1 ;
2342
2331
}
2343
2332
2344
- ALLOC_GROW (packs , packs_nr + 1 , packs_alloc );
2345
- packs [packs_nr ].p = pack ;
2346
- packs [packs_nr ].pack_int_id = pack_int_id ;
2347
- packs [packs_nr ].bitmap_nr = pack -> num_objects ;
2348
- packs [packs_nr ].bitmap_pos = 0 ;
2349
- packs [packs_nr ].from_midx = bitmap_git -> midx ;
2333
+ if (is_pack_valid (pack )) {
2334
+ ALLOC_GROW (packs , packs_nr + 1 , packs_alloc );
2335
+ packs [packs_nr ].p = pack ;
2336
+ packs [packs_nr ].pack_int_id = pack_int_id ;
2337
+ packs [packs_nr ].bitmap_nr = pack -> num_objects ;
2338
+ packs [packs_nr ].bitmap_pos = 0 ;
2339
+ packs [packs_nr ].from_midx = bitmap_git -> midx ;
2340
+ packs_nr ++ ;
2341
+ }
2350
2342
2351
- objects_nr = packs [ packs_nr ++ ]. bitmap_nr ;
2343
+ objects_nr = pack -> num_objects ;
2352
2344
}
2353
2345
2346
+ if (!packs_nr )
2347
+ return ;
2348
+
2354
2349
word_alloc = objects_nr / BITS_IN_EWORD ;
2355
2350
if (objects_nr % BITS_IN_EWORD )
2356
2351
word_alloc ++ ;
0 commit comments