Browse Source

pack-bitmap: introduce bitmap_walk_contains()

We will use this helper function in a following commit 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>
maint
Jeff King 5 years ago committed by Junio C Hamano
parent
commit
40d18ff8c6
  1. 12
      pack-bitmap.c
  2. 3
      pack-bitmap.h

12
pack-bitmap.c

@ -832,6 +832,18 @@ int reuse_partial_packfile_from_bitmap(struct bitmap_index *bitmap_git, @@ -832,6 +832,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)
{

3
pack-bitmap.h

@ -3,6 +3,7 @@ @@ -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 *, @@ -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

Loading…
Cancel
Save