commit-graph: fix bogus counter in "Scanning merged commits" progress line
commit4011224944bf5dc6f38bce55edd5b4092ac0c930
authorSZEDER Gábor <szeder.dev@gmail.com>
Thu, 9 Sep 2021 01:10:11 +0000 (9 03:10 +0200)
committerJunio C Hamano <gitster@pobox.com>
Thu, 9 Sep 2021 16:58:19 +0000 (9 09:58 -0700)
treeea9cd8b03fd78c00627bce3cf328249f940e1aa7
parent7a132c628e57b9bceeb88832ea051395c0637b16
commit-graph: fix bogus counter in "Scanning merged commits" progress line

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. Fix this by passing 'i + 1' to display_progress(), like
most other callsites do.

There's an RFC series to add a GIT_TEST_CHECK_PROGRESS=1 mode[1] which
catches this issue in the 'fetch.writeCommitGraph' and
'fetch.writeCommitGraph with submodules' tests in
't5510-fetch.sh'. The GIT_TEST_CHECK_PROGRESS=1 mode is not part of
this series, but future changes to progress.c may add it or similar
assertions to catch this and similar bugs elsewhere.

1. https://lore.kernel.org/git/20210620200303.2328957-1-szeder.dev@gmail.com/

Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com>
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
commit-graph.c