Browse Source

commit-graph: use start_delayed_progress()

When writing a commit-graph, we show progress along several commit
walks. When we use start_delayed_progress(), the progress line will
only appear if that step takes a decent amount of time.

However, one place was missed: computing generation numbers. This is
normally a very fast operation as all commits have been parsed in a
previous step. But, this is showing up for all users no matter how few
commits are being added.

The tests that check for the progress output have already been updated
to use GIT_PROGRESS_DELAY=0 to force the expected output.

Helped-by: Jeff King <peff@peff.net>
Reported-by: ryenus <ryenus@gmail.com>
Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Derrick Stolee 5 years ago committed by Junio C Hamano
parent
commit
ecc0869080
  1. 2
      commit-graph.c
  2. 3
      t/t6500-gc.sh

2
commit-graph.c

@ -1103,7 +1103,7 @@ static void compute_generation_numbers(struct write_commit_graph_context *ctx)
struct commit_list *list = NULL; struct commit_list *list = NULL;


if (ctx->report_progress) if (ctx->report_progress)
ctx->progress = start_progress( ctx->progress = start_delayed_progress(
_("Computing commit graph generation numbers"), _("Computing commit graph generation numbers"),
ctx->commits.nr); ctx->commits.nr);
for (i = 0; i < ctx->commits.nr; i++) { for (i = 0; i < ctx->commits.nr; i++) {

3
t/t6500-gc.sh

@ -109,7 +109,8 @@ test_expect_success 'gc --no-quiet' '
' '


test_expect_success TTY 'with TTY: gc --no-quiet' ' test_expect_success TTY 'with TTY: gc --no-quiet' '
test_terminal git -c gc.writeCommitGraph=true gc --no-quiet >stdout 2>stderr && test_terminal env GIT_PROGRESS_DELAY=0 \
git -c gc.writeCommitGraph=true gc --no-quiet >stdout 2>stderr &&
test_must_be_empty stdout && test_must_be_empty stdout &&
test_i18ngrep "Enumerating objects" stderr && test_i18ngrep "Enumerating objects" stderr &&
test_i18ngrep "Computing commit graph generation numbers" stderr test_i18ngrep "Computing commit graph generation numbers" stderr

Loading…
Cancel
Save