return 0;
}
-static int try_bitmap_count(struct rev_info *revs)
+static int try_bitmap_count(struct rev_info *revs,
+ struct list_objects_filter_options *filter)
{
uint32_t commit_count = 0,
tag_count = 0,
*/
max_count = revs->max_count;
- bitmap_git = prepare_bitmap_walk(revs, NULL);
+ bitmap_git = prepare_bitmap_walk(revs, filter);
if (!bitmap_git)
return -1;
return 0;
}
-static int try_bitmap_traversal(struct rev_info *revs)
+static int try_bitmap_traversal(struct rev_info *revs,
+ struct list_objects_filter_options *filter)
{
struct bitmap_index *bitmap_git;
if (revs->max_count >= 0)
return -1;
- bitmap_git = prepare_bitmap_walk(revs, NULL);
+ bitmap_git = prepare_bitmap_walk(revs, filter);
if (!bitmap_git)
return -1;
(revs.left_right || revs.cherry_mark))
die(_("marked counting is incompatible with --objects"));
- if (filter_options.choice)
- use_bitmap_index = 0;
-
save_commit_buffer = (revs.verbose_header ||
revs.grep_filter.pattern_list ||
revs.grep_filter.header_list);
progress = start_delayed_progress(show_progress, 0);
if (use_bitmap_index) {
- if (!try_bitmap_count(&revs))
+ if (!try_bitmap_count(&revs, &filter_options))
return 0;
- if (!try_bitmap_traversal(&revs))
+ if (!try_bitmap_traversal(&revs, &filter_options))
return 0;
}