diff options
author | SZEDER Gábor <szeder.dev@gmail.com> | 2020-07-09 19:00:03 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-07-09 10:28:49 -0700 |
commit | 150cd3b61d55bedd275e0ed36a6f674dcd34ae25 (patch) | |
tree | 981d310abc6edbafc3482a395333f6679fac71ef | |
parent | commit-graph: fix progress of reachable commits (diff) | |
download | tgif-150cd3b61d55bedd275e0ed36a6f674dcd34ae25.tar.xz |
commit-graph: fix "Writing out commit graph" progress counter
76ffbca71a (commit-graph: write Bloom filters to commit graph file,
2020-04-06) added two delayed progress lines to writing the Bloom
filter index and data chunk. This is wrong, because a single common
progress is used while writing all chunks, which is not updated while
writing these two new chunks, resulting in incomplete-looking "done"
lines:
Expanding reachable commits in commit graph: 888679, done.
Computing commit changed paths Bloom filters: 100% (888678/888678), done.
Writing out commit graph in 6 passes: 66% (3554712/5332068), done.
Use the common 'struct progress' instance while writing the Bloom
filter chunks as well.
Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | commit-graph.c | 22 |
1 files changed, 2 insertions, 20 deletions
diff --git a/commit-graph.c b/commit-graph.c index aaf3327ede..65cf32637c 100644 --- a/commit-graph.c +++ b/commit-graph.c @@ -1086,23 +1086,14 @@ static void write_graph_chunk_bloom_indexes(struct hashfile *f, struct commit **list = ctx->commits.list; struct commit **last = ctx->commits.list + ctx->commits.nr; uint32_t cur_pos = 0; - struct progress *progress = NULL; - int i = 0; - - if (ctx->report_progress) - progress = start_delayed_progress( - _("Writing changed paths Bloom filters index"), - ctx->commits.nr); while (list < last) { struct bloom_filter *filter = get_bloom_filter(ctx->r, *list, 0); cur_pos += filter->len; - display_progress(progress, ++i); + display_progress(ctx->progress, ++ctx->progress_cnt); hashwrite_be32(f, cur_pos); list++; } - - stop_progress(&progress); } static void write_graph_chunk_bloom_data(struct hashfile *f, @@ -1111,13 +1102,6 @@ static void write_graph_chunk_bloom_data(struct hashfile *f, { struct commit **list = ctx->commits.list; struct commit **last = ctx->commits.list + ctx->commits.nr; - struct progress *progress = NULL; - int i = 0; - - if (ctx->report_progress) - progress = start_delayed_progress( - _("Writing changed paths Bloom filters data"), - ctx->commits.nr); hashwrite_be32(f, settings->hash_version); hashwrite_be32(f, settings->num_hashes); @@ -1125,12 +1109,10 @@ static void write_graph_chunk_bloom_data(struct hashfile *f, while (list < last) { struct bloom_filter *filter = get_bloom_filter(ctx->r, *list, 0); - display_progress(progress, ++i); + display_progress(ctx->progress, ++ctx->progress_cnt); hashwrite(f, filter->data, filter->len * sizeof(unsigned char)); list++; } - - stop_progress(&progress); } static int oid_compare(const void *_a, const void *_b) |