pack-bitmap: drop filter in prepare_bitmap_walk()
Now that all consumers of prepare_bitmap_walk() have populated the 'filter' member of 'struct rev_info', we can drop that extra parameter from the method and access it directly from the 'struct rev_info'. Signed-off-by: Derrick Stolee <derrickstolee@github.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Derrick Stolee committed
Mar 9, 2022 at 16:01 UTC
09d4a79effac002399557392e21c9f8829056ca3
5 files changed
+14
-20
builtin/pack-objects.c
+1
-1
@@ -3651,7 +3651,7 @@ static int pack_options_allow_reuse(void)
3651
3652
static int get_object_list_from_bitmap(struct rev_info *revs)
3653
{
3654
- if (!(bitmap_git = prepare_bitmap_walk(revs, &revs->filter, 0)))
3654
+ if (!(bitmap_git = prepare_bitmap_walk(revs, 0)))
3655
return -1;
3656
3657
if (pack_options_allow_reuse() &&
builtin/rev-list.c
+3
-5
@@ -434,8 +434,7 @@ static int try_bitmap_count(struct rev_info *revs,
434
*/
435
max_count = revs->max_count;
436
437
- bitmap_git = prepare_bitmap_walk(revs, &revs->filter,
438
- filter_provided_objects);
437
+ bitmap_git = prepare_bitmap_walk(revs, filter_provided_objects);
438
if (!bitmap_git)
439
return -1;
440
@@ -463,8 +462,7 @@ static int try_bitmap_traversal(struct rev_info *revs,
462
if (revs->max_count >= 0)
463
return -1;
464
466
- bitmap_git = prepare_bitmap_walk(revs, &revs->filter,
467
- filter_provided_objects);
465
+ bitmap_git = prepare_bitmap_walk(revs, filter_provided_objects);
466
if (!bitmap_git)
467
return -1;
468
@@ -481,7 +479,7 @@ static int try_bitmap_disk_usage(struct rev_info *revs,
479
if (!show_disk_usage)
480
return -1;
481
484
- bitmap_git = prepare_bitmap_walk(revs, &revs->filter, filter_provided_objects);
482
+ bitmap_git = prepare_bitmap_walk(revs, filter_provided_objects);
483
if (!bitmap_git)
484
return -1;
485
pack-bitmap.c
+9
-11
@@ -739,8 +739,7 @@ static int add_commit_to_bitmap(struct bitmap_index *bitmap_git,
739
static struct bitmap *find_objects(struct bitmap_index *bitmap_git,
740
struct rev_info *revs,
741
struct object_list *roots,
742
- struct bitmap *seen,
743
- struct list_objects_filter_options *filter)
742
+ struct bitmap *seen)
743
{
744
struct bitmap *base = NULL;
745
int needs_walk = 0;
@@ -823,7 +822,7 @@ static struct bitmap *find_objects(struct bitmap_index *bitmap_git,
822
show_data.bitmap_git = bitmap_git;
823
show_data.base = base;
824
826
- traverse_commit_list_filtered(filter, revs,
825
+ traverse_commit_list_filtered(&revs->filter, revs,
826
show_commit, show_object,
827
&show_data, NULL);
828
@@ -1219,7 +1218,6 @@ static int can_filter_bitmap(struct list_objects_filter_options *filter)
1218
}
1219
1220
struct bitmap_index *prepare_bitmap_walk(struct rev_info *revs,
1222
- struct list_objects_filter_options *filter,
1221
int filter_provided_objects)
1222
{
1223
unsigned int i;
@@ -1240,7 +1238,7 @@ struct bitmap_index *prepare_bitmap_walk(struct rev_info *revs,
1238
if (revs->prune)
1239
return NULL;
1240
1243
- if (!can_filter_bitmap(filter))
1241
+ if (!can_filter_bitmap(&revs->filter))
1242
return NULL;
1243
1244
/* try to open a bitmapped pack, but don't parse it yet
@@ -1297,8 +1295,7 @@ struct bitmap_index *prepare_bitmap_walk(struct rev_info *revs,
1295
1296
if (haves) {
1297
revs->ignore_missing_links = 1;
1300
- haves_bitmap = find_objects(bitmap_git, revs, haves, NULL,
1301
- filter);
1298
+ haves_bitmap = find_objects(bitmap_git, revs, haves, NULL);
1299
reset_revision_walk();
1300
revs->ignore_missing_links = 0;
1301
@@ -1306,8 +1303,7 @@ struct bitmap_index *prepare_bitmap_walk(struct rev_info *revs,
1303
BUG("failed to perform bitmap walk");
1304
}
1305
1309
- wants_bitmap = find_objects(bitmap_git, revs, wants, haves_bitmap,
1310
- filter);
1306
+ wants_bitmap = find_objects(bitmap_git, revs, wants, haves_bitmap);
1307
1308
if (!wants_bitmap)
1309
BUG("failed to perform bitmap walk");
@@ -1315,8 +1311,10 @@ struct bitmap_index *prepare_bitmap_walk(struct rev_info *revs,
1311
if (haves_bitmap)
1312
bitmap_and_not(wants_bitmap, haves_bitmap);
1313
1318
- filter_bitmap(bitmap_git, (filter && filter_provided_objects) ? NULL : wants,
1319
- wants_bitmap, filter);
1314
+ filter_bitmap(bitmap_git,
1315
+ (revs->filter.choice && filter_provided_objects) ? NULL : wants,
1316
+ wants_bitmap,
1317
+ &revs->filter);
1318
1319
bitmap_git->result = wants_bitmap;
1320
bitmap_git->haves = haves_bitmap;
pack-bitmap.h
-2
@@ -10,7 +10,6 @@
10
struct commit;
11
struct repository;
12
struct rev_info;
13
-struct list_objects_filter_options;
13
14
static const char BITMAP_IDX_SIGNATURE[] = {'B', 'I', 'T', 'M'};
15
@@ -54,7 +53,6 @@ void test_bitmap_walk(struct rev_info *revs);
53
int test_bitmap_commits(struct repository *r);
54
int test_bitmap_hashes(struct repository *r);
55
struct bitmap_index *prepare_bitmap_walk(struct rev_info *revs,
57
- struct list_objects_filter_options *filter,
56
int filter_provided_objects);
57
uint32_t midx_preferred_pack(struct bitmap_index *bitmap_git);
58
int reuse_partial_packfile_from_bitmap(struct bitmap_index *,
reachable.c
+1
-1
@@ -205,7 +205,7 @@ void mark_reachable_objects(struct rev_info *revs, int mark_reflog,
205
cp.progress = progress;
206
cp.count = 0;
207
208
- bitmap_git = prepare_bitmap_walk(revs, NULL, 0);
208
+ bitmap_git = prepare_bitmap_walk(revs, 0);
209
if (bitmap_git) {
210
traverse_bitmap_commit_list(bitmap_git, revs, mark_object_seen);
211
free_bitmap_index(bitmap_git);