1
0
Fork 0
mirror of https://github.com/git/git.git synced 2024-06-23 16:38:54 +02:00

midx: drop chunk progress during write

Most expensive operations in write_midx_internal() use the context
struct's progress member, and these indicate the process of the
expensive operations within the chunk writing methods. However, there is
a competing progress struct that counts the progress over all chunks.
This is not very helpful compared to the others, so drop it.

This also reduces our barriers to combining the chunk writing code with
chunk-format.c.

Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Derrick Stolee 2021-02-18 14:07:32 +00:00 committed by Junio C Hamano
parent 0ccd713cb6
commit c1442410d8

7
midx.c
View File

@ -808,7 +808,6 @@ static int write_midx_internal(const char *object_dir, struct multi_pack_index *
uint64_t header_size = 0;
uint32_t chunk_ids[MIDX_MAX_CHUNKS + 1];
uint64_t chunk_offsets[MIDX_MAX_CHUNKS + 1];
struct progress *progress = NULL;
int pack_name_concat_len = 0;
int dropped_packs = 0;
int result = 0;
@ -976,9 +975,6 @@ static int write_midx_internal(const char *object_dir, struct multi_pack_index *
hashwrite_be64(f, chunk_offsets[i]);
}
if (flags & MIDX_PROGRESS)
progress = start_delayed_progress(_("Writing chunks to multi-pack-index"),
num_chunks);
for (i = 0; i < num_chunks; i++) {
if (f->total + f->offset != chunk_offsets[i])
BUG("incorrect chunk offset (%"PRIu64" != %"PRIu64") for chunk id %"PRIx32,
@ -1011,10 +1007,7 @@ static int write_midx_internal(const char *object_dir, struct multi_pack_index *
BUG("trying to write unknown chunk id %"PRIx32,
chunk_ids[i]);
}
display_progress(progress, i + 1);
}
stop_progress(&progress);
if (hashfile_total(f) != chunk_offsets[num_chunks])
BUG("incorrect final offset %"PRIu64" != %"PRIu64,