git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v3 2/2] commit-graph: use start_delayed_progress()

From
Derrick Stolee via GitGitGadget <gitgitgadget@gmail.com>
Date
Nov 7, 2019, 17:46 UTC
Message-ID
<3c0c9675e125f9357aeadd76f290413aaa09e4cf.1573148818.git.gitgitgadget@gmail.com>
In-Reply-To
<pull.450.v3.git.1573148818.gitgitgadget@gmail.com>
From: Derrick Stolee <dstolee@microsoft.com>

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. 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@gmail.com>
Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
---
 commit-graph.c | 2 +-
 t/t6500-gc.sh  | 3 +--
 2 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/commit-graph.c b/commit-graph.c
index 0aea7b2ae5..071e1c6e9b 100644
--- a/commit-graph.c
+++ b/commit-graph.c
@@ -1103,7 +1103,7 @@ static void compute_generation_numbers(struct write_commit_graph_context *ctx)
 	struct commit_list *list = NULL;
 
 	if (ctx->report_progress)
-		ctx->progress = start_progress(
+		ctx->progress = start_delayed_progress(
 					_("Computing commit graph generation numbers"),
 					ctx->commits.nr);
 	for (i = 0; i < ctx->commits.nr; i++) {
diff --git a/t/t6500-gc.sh b/t/t6500-gc.sh
index 7f79eedd1c..c68177510b 100755
--- a/t/t6500-gc.sh
+++ b/t/t6500-gc.sh
@@ -111,8 +111,7 @@ test_expect_success '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_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' '
-- 
gitgitgadget
Previous: SZEDER GáborNext: Jeff King
Message 17 of 32 in “commit-graph: use start_delayed_progress()”
  1. 0/1 commit-graph: use start_delayed_progress()Derrick Stolee via GitGitGadget, Nov 5, 2019
  2. 1/1 commit-graph: use start_delayed_progress()Derrick Stolee via GitGitGadget, Nov 5, 2019
  3. Derrick StoleeNov 5, 2019
  4. 0/1 commit-graph: use start_delayed_progress()Derrick Stolee via GitGitGadget, Nov 5, 2019
  5. 1/1 commit-graph: use start_delayed_progress()Derrick Stolee via GitGitGadget, Nov 5, 2019
  6. Jeff KingNov 6, 2019
  7. Derrick StoleeNov 6, 2019
  8. Jeff KingNov 7, 2019
  9. Derrick StoleeNov 7, 2019
  10. Junio C HamanoNov 7, 2019
  11. Jeff KingNov 7, 2019
  12. Junio C HamanoNov 7, 2019
  13. 0/2 commit-graph: use start_delayed_progress()Derrick Stolee via GitGitGadget, Nov 7, 2019
  14. 1/2 progress: create GIT_PROGRESS_DELAYDerrick Stolee via GitGitGadget, Nov 7, 2019
  15. Jeff KingNov 7, 2019
  16. SZEDER GáborNov 11, 2019
  17. 2/2 commit-graph: use start_delayed_progress()Derrick Stolee via GitGitGadget, Nov 7, 2019
  18. Jeff KingNov 7, 2019
  19. SZEDER GáborNov 21, 2019
  20. 0/2 commit-graph: use start_delayed_progress()Derrick Stolee via GitGitGadget, Nov 21, 2019
  21. 2/2 commit-graph: use start_delayed_progress()Derrick Stolee via GitGitGadget, Nov 21, 2019
  22. Jeff KingNov 22, 2019
  23. Derrick StoleeNov 25, 2019
  24. 1/2 progress: create GIT_PROGRESS_DELAYDerrick Stolee via GitGitGadget, Nov 21, 2019
  25. Jeff KingNov 22, 2019
  26. 0/2 commit-graph: use start_delayed_progress()Derrick Stolee via GitGitGadget, Nov 25, 2019
  27. 1/2 progress: create GIT_PROGRESS_DELAYDerrick Stolee via GitGitGadget, Nov 25, 2019
  28. 2/2 commit-graph: use start_delayed_progress()Derrick Stolee via GitGitGadget, Nov 25, 2019
  29. Jeff KingNov 26, 2019
  30. Derrick StoleeNov 26, 2019
  31. Junio C HamanoNov 30, 2019
  32. SZEDER GáborDec 1, 2019

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.