MCPcopy Index your code
hub / github.com/git/git / create_bitmap_mapping

Function create_bitmap_mapping

pack-bitmap.c:3116–3152  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3114}
3115
3116uint32_t *create_bitmap_mapping(struct bitmap_index *bitmap_git,
3117 struct packing_data *mapping)
3118{
3119 struct repository *r = bitmap_repo(bitmap_git);
3120 uint32_t i, num_objects;
3121 uint32_t *reposition;
3122
3123 if (!bitmap_is_midx(bitmap_git))
3124 load_reverse_index(r, bitmap_git);
3125 else if (load_midx_revindex(bitmap_git->midx))
3126 BUG("rebuild_existing_bitmaps: missing required rev-cache "
3127 "extension");
3128
3129 num_objects = bitmap_num_objects_total(bitmap_git);
3130 CALLOC_ARRAY(reposition, num_objects);
3131
3132 for (i = 0; i < num_objects; ++i) {
3133 struct object_id oid;
3134 struct object_entry *oe;
3135 uint32_t index_pos;
3136
3137 if (bitmap_is_midx(bitmap_git))
3138 index_pos = pack_pos_to_midx(bitmap_git->midx, i);
3139 else
3140 index_pos = pack_pos_to_index(bitmap_git->pack, i);
3141 nth_bitmap_object_oid(bitmap_git, &oid, index_pos);
3142 oe = packlist_find(mapping, &oid);
3143
3144 if (oe) {
3145 reposition[i] = oe_in_pack_pos(mapping, oe) + 1;
3146 if (!oe->hash)
3147 oe->hash = bitmap_name_hash(bitmap_git, index_pos);
3148 }
3149 }
3150
3151 return reposition;
3152}
3153
3154void free_bitmap_index(struct bitmap_index *b)
3155{

Callers 1

bitmap_writer_buildFunction · 0.85

Calls 11

bitmap_repoFunction · 0.85
bitmap_is_midxFunction · 0.85
load_reverse_indexFunction · 0.85
load_midx_revindexFunction · 0.85
bitmap_num_objects_totalFunction · 0.85
pack_pos_to_midxFunction · 0.85
pack_pos_to_indexFunction · 0.85
nth_bitmap_object_oidFunction · 0.85
packlist_findFunction · 0.85
oe_in_pack_posFunction · 0.85
bitmap_name_hashFunction · 0.85

Tested by

no test coverage detected