Thanks, Ryenus, for reporting this problem. Update in V3: Based on our discussion, I've added the suggested GIT_PROGRESS_DELAY environment variable. This allowed the existing tests to stick around with one exception in the GC tests. The test remains, but we can no longer look at the commit-graph output. Derrick Stolee (2): progress: create GIT_PROGRESS_DELAY commit-graph: use start_delayed_progress() Documentation/git.txt | 4 ++++ commit-graph.c | 2 +- progress.c | 8 +++++++- t/t5318-commit-graph.sh | 4 ++-- t/t6500-gc.sh | 6 ++---- 5 files changed, 16 insertions(+), 8 deletions(-) base-commit: da72936f544fec5a335e66432610e4cef4430991 Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-450%2Fderrickstolee%2Fcommit-graph-progress-fix-v3 Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-450/derrickstolee/commit-graph-progress-fix-v3 Pull-Request: https://github.com/gitgitgadget/git/pull/450 Range-diff vs v2: -: ---------- > 1: 656dba5afb progress: create GIT_PROGRESS_DELAY 1: 78bd6bc2c0 ! 2: 3c0c9675e1 commit-graph: use start_delayed_progress() @@ -11,9 +11,13 @@ previous step. But, this is showing up for all users no matter how few commits are being added. - Now that we changed this method, very fast commands show no progess at - all. This means we need to stop testing for seeing these progress lines - in the test suite. + The tests that check for the progress output have already been updated + to use GIT_PROGRESS_DELAY=0 to force the expected output. However, there + is one test in t6500-gc.sh that uses the test_terminal method. This + mechanism does not preserve the GIT_PROGRESS_DELAY environment variable, + so we need to modify check on the output. We still watch for the + "Enumerating objects" progress but no longer look for "Computing + commit graph generation numbers". Reported-by: ryenus <ryenus@xxxxxxxxx> Signed-off-by: Derrick Stolee <dstolee@xxxxxxxxxxxxx> @@ -31,44 +35,16 @@ ctx->commits.nr); for (i = 0; i < ctx->commits.nr; i++) { - diff --git a/t/t5318-commit-graph.sh b/t/t5318-commit-graph.sh - --- a/t/t5318-commit-graph.sh - +++ b/t/t5318-commit-graph.sh -@@ - test_line_count = 0 err - ' - --test_expect_success 'commit-graph write force progress on for stderr' ' -- cd "$TRASH_DIRECTORY/full" && -- git commit-graph write --progress 2>err && -- test_file_not_empty err --' -- - test_expect_success 'commit-graph write with the --no-progress option' ' - cd "$TRASH_DIRECTORY/full" && - git commit-graph write --no-progress 2>err && - diff --git a/t/t6500-gc.sh b/t/t6500-gc.sh --- a/t/t6500-gc.sh +++ b/t/t6500-gc.sh @@ - test_line_count = 2 new # There is one new pack and its .idx - ' - --test_expect_success 'gc --no-quiet' ' -- git -c gc.writeCommitGraph=true gc --no-quiet >stdout 2>stderr && -- test_must_be_empty stdout && -- test_line_count = 1 stderr && -- test_i18ngrep "Computing commit graph generation numbers" stderr --' -- --test_expect_success TTY 'with TTY: gc --no-quiet' ' -- test_terminal git -c gc.writeCommitGraph=true gc --no-quiet >stdout 2>stderr && -- test_must_be_empty stdout && + test_expect_success TTY 'with TTY: gc --no-quiet' ' + test_terminal git -c gc.writeCommitGraph=true gc --no-quiet >stdout 2>stderr && + test_must_be_empty stdout && - test_i18ngrep "Enumerating objects" stderr && - test_i18ngrep "Computing commit graph generation numbers" stderr --' -- ++ test_i18ngrep "Enumerating objects" stderr + ' + test_expect_success 'gc --quiet' ' - git -c gc.writeCommitGraph=true gc --quiet >stdout 2>stderr && - test_must_be_empty stdout && -- gitgitgadget