913
uint32_t *pack_order;
914
uint32_t i;
915
916
+ trace2_region_enter("midx", "midx_pack_order", the_repository);
917
+
918
ALLOC_ARRAY(data, ctx->entries_nr);
919
for (i = 0; i < ctx->entries_nr; i++) {
920
struct pack_midx_entry *e = &ctx->entries[i];
932
pack_order[i] = data[i].nr;
933
free(data);
934
935
+ trace2_region_leave("midx", "midx_pack_order", the_repository);
936
+
937
return pack_order;
938
}
939
943
struct strbuf buf = STRBUF_INIT;
944
const char *tmp_file;
945
946
+ trace2_region_enter("midx", "write_midx_reverse_index", the_repository);
947
+
948
strbuf_addf(&buf, "%s-%s.rev", midx_name, hash_to_hex(midx_hash));
949
950
tmp_file = write_rev_file_order(NULL, ctx->pack_order, ctx->entries_nr,
954
die(_("cannot store reverse index file"));
955
956
strbuf_release(&buf);
957
+
958
+ trace2_region_leave("midx", "write_midx_reverse_index", the_repository);
959
}
960
961
static void clear_midx_files_ext(const char *object_dir, const char *ext,
971
{
972
uint32_t i;
973
974
+ trace2_region_enter("midx", "prepare_midx_packing_data", the_repository);
975
+
976
memset(pdata, 0, sizeof(struct packing_data));
977
prepare_packing_data(the_repository, pdata);
978
983
oe_set_in_pack(pdata, to,
984
ctx->info[ctx->pack_perm[from->pack_int_id]].p);
985
}
986
+
987
+ trace2_region_leave("midx", "prepare_midx_packing_data", the_repository);
988
}
989
990
static int add_ref_to_pending(const char *refname,
1082
struct rev_info revs;
1083
struct bitmap_commit_cb cb = {0};
1084
1085
+ trace2_region_enter("midx", "find_commits_for_midx_bitmap",
1086
+ the_repository);
1087
+
1088
cb.ctx = ctx;
1089
1090
repo_init_revisions(the_repository, &revs, NULL);
1118
*indexed_commits_nr_p = cb.commits_nr;
1119
1120
release_revisions(&revs);
1121
+
1122
+ trace2_region_leave("midx", "find_commits_for_midx_bitmap",
1123
+ the_repository);
1124
+
1125
return cb.commits;
1126
}
1127
1139
char *bitmap_name = xstrfmt("%s-%s.bitmap", midx_name,
1140
hash_to_hex(midx_hash));
1141
1142
+ trace2_region_enter("midx", "write_midx_bitmap", the_repository);
1143
+
1144
if (flags & MIDX_WRITE_BITMAP_HASH_CACHE)
1145
options |= BITMAP_OPT_HASH_CACHE;
1146
1186
cleanup:
1187
free(index);
1188
free(bitmap_name);
1189
+
1190
+ trace2_region_leave("midx", "write_midx_bitmap", the_repository);
1191
+
1192
return ret;
1193
}
1194
1235
int result = 0;
1236
struct chunkfile *cf;
1237
1238
+ trace2_region_enter("midx", "write_midx_internal", the_repository);
1239
+
1240
get_midx_filename(&midx_name, object_dir);
1241
if (safe_create_leading_directories(midx_name.buf))
1242
die_errno(_("unable to create leading directories of %s"),
1578
free(ctx.pack_order);
1579
strbuf_release(&midx_name);
1580
1581
+ trace2_region_leave("midx", "write_midx_internal", the_repository);
1582
+
1583
return result;
1584
}
1585