]> git.ipfire.org Git - thirdparty/git.git/commitdiff
pack-bitmap: drop filter in prepare_bitmap_walk()
authorDerrick Stolee <derrickstolee@github.com>
Wed, 9 Mar 2022 16:01:35 +0000 (16:01 +0000)
committerJunio C Hamano <gitster@pobox.com>
Wed, 9 Mar 2022 18:25:27 +0000 (10:25 -0800)
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>
builtin/pack-objects.c
builtin/rev-list.c
pack-bitmap.c
pack-bitmap.h
reachable.c

index da0de0c3fe62a43fa8f3affe37ef1064827fd43a..ddd698a1fea6bbb2a2e027cefd32c08829873959 100644 (file)
@@ -3651,7 +3651,7 @@ static int pack_options_allow_reuse(void)
 
 static int get_object_list_from_bitmap(struct rev_info *revs)
 {
-       if (!(bitmap_git = prepare_bitmap_walk(revs, &revs->filter, 0)))
+       if (!(bitmap_git = prepare_bitmap_walk(revs, 0)))
                return -1;
 
        if (pack_options_allow_reuse() &&
index 1beb578cc51997cc89d4adab0fb1e94e0f5ccfa5..ab7558bd66af8e67b3d05c8abdcc77fb79a25b25 100644 (file)
@@ -434,8 +434,7 @@ static int try_bitmap_count(struct rev_info *revs,
         */
        max_count = revs->max_count;
 
-       bitmap_git = prepare_bitmap_walk(revs, &revs->filter,
-                                        filter_provided_objects);
+       bitmap_git = prepare_bitmap_walk(revs, filter_provided_objects);
        if (!bitmap_git)
                return -1;
 
@@ -463,8 +462,7 @@ static int try_bitmap_traversal(struct rev_info *revs,
        if (revs->max_count >= 0)
                return -1;
 
-       bitmap_git = prepare_bitmap_walk(revs, &revs->filter,
-                                        filter_provided_objects);
+       bitmap_git = prepare_bitmap_walk(revs, filter_provided_objects);
        if (!bitmap_git)
                return -1;
 
@@ -481,7 +479,7 @@ static int try_bitmap_disk_usage(struct rev_info *revs,
        if (!show_disk_usage)
                return -1;
 
-       bitmap_git = prepare_bitmap_walk(revs, &revs->filter, filter_provided_objects);
+       bitmap_git = prepare_bitmap_walk(revs, filter_provided_objects);
        if (!bitmap_git)
                return -1;
 
index 9c666cdb8bd9203f0749b54b6c012ba33896341e..37fa490579602c097af9cc794a09d5ccbb182679 100644 (file)
@@ -739,8 +739,7 @@ static int add_commit_to_bitmap(struct bitmap_index *bitmap_git,
 static struct bitmap *find_objects(struct bitmap_index *bitmap_git,
                                   struct rev_info *revs,
                                   struct object_list *roots,
-                                  struct bitmap *seen,
-                                  struct list_objects_filter_options *filter)
+                                  struct bitmap *seen)
 {
        struct bitmap *base = NULL;
        int needs_walk = 0;
@@ -823,7 +822,7 @@ static struct bitmap *find_objects(struct bitmap_index *bitmap_git,
                show_data.bitmap_git = bitmap_git;
                show_data.base = base;
 
-               traverse_commit_list_filtered(filter, revs,
+               traverse_commit_list_filtered(&revs->filter, revs,
                                              show_commit, show_object,
                                              &show_data, NULL);
 
@@ -1219,7 +1218,6 @@ static int can_filter_bitmap(struct list_objects_filter_options *filter)
 }
 
 struct bitmap_index *prepare_bitmap_walk(struct rev_info *revs,
-                                        struct list_objects_filter_options *filter,
                                         int filter_provided_objects)
 {
        unsigned int i;
@@ -1240,7 +1238,7 @@ struct bitmap_index *prepare_bitmap_walk(struct rev_info *revs,
        if (revs->prune)
                return NULL;
 
-       if (!can_filter_bitmap(filter))
+       if (!can_filter_bitmap(&revs->filter))
                return NULL;
 
        /* 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,
 
        if (haves) {
                revs->ignore_missing_links = 1;
-               haves_bitmap = find_objects(bitmap_git, revs, haves, NULL,
-                                           filter);
+               haves_bitmap = find_objects(bitmap_git, revs, haves, NULL);
                reset_revision_walk();
                revs->ignore_missing_links = 0;
 
@@ -1306,8 +1303,7 @@ struct bitmap_index *prepare_bitmap_walk(struct rev_info *revs,
                        BUG("failed to perform bitmap walk");
        }
 
-       wants_bitmap = find_objects(bitmap_git, revs, wants, haves_bitmap,
-                                   filter);
+       wants_bitmap = find_objects(bitmap_git, revs, wants, haves_bitmap);
 
        if (!wants_bitmap)
                BUG("failed to perform bitmap walk");
@@ -1315,8 +1311,10 @@ struct bitmap_index *prepare_bitmap_walk(struct rev_info *revs,
        if (haves_bitmap)
                bitmap_and_not(wants_bitmap, haves_bitmap);
 
-       filter_bitmap(bitmap_git, (filter && filter_provided_objects) ? NULL : wants,
-                     wants_bitmap, filter);
+       filter_bitmap(bitmap_git,
+                     (revs->filter.choice && filter_provided_objects) ? NULL : wants,
+                     wants_bitmap,
+                     &revs->filter);
 
        bitmap_git->result = wants_bitmap;
        bitmap_git->haves = haves_bitmap;
index 19a63fa1abc6921df7470b84aa7275c0e7863fac..3d3ddd77345002f3075047b1f0bf545a4e229157 100644 (file)
@@ -10,7 +10,6 @@
 struct commit;
 struct repository;
 struct rev_info;
-struct list_objects_filter_options;
 
 static const char BITMAP_IDX_SIGNATURE[] = {'B', 'I', 'T', 'M'};
 
@@ -54,7 +53,6 @@ void test_bitmap_walk(struct rev_info *revs);
 int test_bitmap_commits(struct repository *r);
 int test_bitmap_hashes(struct repository *r);
 struct bitmap_index *prepare_bitmap_walk(struct rev_info *revs,
-                                        struct list_objects_filter_options *filter,
                                         int filter_provided_objects);
 uint32_t midx_preferred_pack(struct bitmap_index *bitmap_git);
 int reuse_partial_packfile_from_bitmap(struct bitmap_index *,
index 84e3d0d75ed05fbae051bb031a5e54d600def1e0..b9f4ad886eff72f75eaa45c40d8a75c6ae2d2008 100644 (file)
@@ -205,7 +205,7 @@ void mark_reachable_objects(struct rev_info *revs, int mark_reflog,
        cp.progress = progress;
        cp.count = 0;
 
-       bitmap_git = prepare_bitmap_walk(revs, NULL, 0);
+       bitmap_git = prepare_bitmap_walk(revs, 0);
        if (bitmap_git) {
                traverse_bitmap_commit_list(bitmap_git, revs, mark_object_seen);
                free_bitmap_index(bitmap_git);