]> granicus.if.org Git - git/commitdiff
pack-bitmap: introduce bitmap_walk_contains()
authorJeff King <peff@peff.net>
Fri, 13 Sep 2019 13:02:22 +0000 (15:02 +0200)
committerJunio C Hamano <gitster@pobox.com>
Fri, 13 Sep 2019 21:40:33 +0000 (14:40 -0700)
We will use this helper function in a following patch to
tell us if an object is packed.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
pack-bitmap.c
pack-bitmap.h

index b2422fed8feca443d4b20436f78df6e26632d04a..1833971dc707338c932ddfad36a1fab7250ce123 100644 (file)
@@ -828,6 +828,18 @@ int reuse_partial_packfile_from_bitmap(struct bitmap_index *bitmap_git,
        return 0;
 }
 
+int bitmap_walk_contains(struct bitmap_index *bitmap_git,
+                        struct bitmap *bitmap, const struct object_id *oid)
+{
+       int idx;
+
+       if (!bitmap)
+               return 0;
+
+       idx = bitmap_position(bitmap_git, oid);
+       return idx >= 0 && bitmap_get(bitmap, idx);
+}
+
 void traverse_bitmap_commit_list(struct bitmap_index *bitmap_git,
                                 show_reachable_fn show_reachable)
 {
index 00de3ec8e41d88b972ea28387930ad4342a2defe..5425767f0fa2c1fc9be8f15321f3efaf95238222 100644 (file)
@@ -3,6 +3,7 @@
 
 #include "ewah/ewok.h"
 #include "khash.h"
+#include "pack.h"
 #include "pack-objects.h"
 
 struct commit;
@@ -53,6 +54,8 @@ int reuse_partial_packfile_from_bitmap(struct bitmap_index *,
 int rebuild_existing_bitmaps(struct bitmap_index *, struct packing_data *mapping,
                             kh_oid_map_t *reused_bitmaps, int show_progress);
 void free_bitmap_index(struct bitmap_index *);
+int bitmap_walk_contains(struct bitmap_index *,
+                        struct bitmap *bitmap, const struct object_id *oid);
 
 /*
  * After a traversal has been performed by prepare_bitmap_walk(), this can be