[PATCH 1/3] commit-graph: fix bogus counter in "Scanning merged commits" progress line
- From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
- Date
- Jul 22, 2021, 12:20 UTC
- Message-ID
- <patch-1.3-832a6c1f78-20210722T121801Z-avarab@gmail.com>
- In-Reply-To
- <cover-0.3-0000000000-20210722T121801Z-avarab@gmail.com>
From: SZEDER Gábor <szeder.dev@gmail.com>
The final value of the counter of the "Scanning merged commits" progress line is always one less than its expected total, e.g.:
Scanning merged commits: 83% (5/6), done.
This happens because while iterating over an array the loop variable is passed to display_progress() as-is, but while C arrays (and thus the loop variable) start at 0 and end at N-1, the progress counter must end at N. This causes the failures of the tests 'fetch.writeCommitGraph' and 'fetch.writeCommitGraph with submodules' in 't5510-fetch.sh' when run with GIT_TEST_CHECK_PROGRESS=1.
Fix this by passing 'i + 1' to display_progress(), like most other callsites do.
Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com> Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> --- commit-graph.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/commit-graph.c b/commit-graph.c index 1a2602da61..918061f207 100644 --- a/commit-graph.c +++ b/commit-graph.c @@ -2096,7 +2096,7 @@ static void sort_and_scan_merged_commits(struct write_commit_graph_context *ctx) ctx->num_extra_edges = 0; for (i = 0; i < ctx->commits.nr; i++) { - display_progress(ctx->progress, i); + display_progress(ctx->progress, i + 1); if (i && oideq(&ctx->commits.list[i - 1]->object.oid, &ctx->commits.list[i]->object.oid)) {
-- 2.32.0.957.gd9e39d72fe6