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

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

From
Derrick Stolee via GitGitGadget <gitgitgadget@gmail.com>
Date
Nov 25, 2019, 21:28 UTC
Message-ID
<efe1419dc6cfd18f5a91061a4a61cc7228406f93.1574717303.git.gitgitgadget@gmail.com>
In-Reply-To
<pull.450.v5.git.1574717303.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.

Helped-by: Jeff King <peff@peff.net>
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, 3 insertions(+), 2 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..0a69a67117 100755
--- a/t/t6500-gc.sh
+++ b/t/t6500-gc.sh
@@ -109,7 +109,8 @@ 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_terminal env GIT_PROGRESS_DELAY=0 \
+		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
-- 
gitgitgadget
Previous: Derrick Stolee via GitGitGadgetNext: Jeff King
Message 28 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.