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

[PATCH 1/2] maintenance: force progress/no-quiet to children

From
Derrick Stolee via GitGitGadget <gitgitgadget@gmail.com>
Date
Mar 24, 2025, 00:51 UTC
Message-ID
<8135c008325fcbdafe4767d02873deda5d873d2b.1742777512.git.gitgitgadget@gmail.com>
In-Reply-To
<pull.1885.git.1742777512.gitgitgadget@gmail.com>
From: Derrick Stolee <stolee@gmail.com>

The --no-quiet option for 'git maintenance run' is supposed to indicate that progress should happen even while ignoring the value of isatty(2). However, Git implicitly asks child processes to check isatty(2) since these arguments are not passed through.

The pass through of --no-quiet will be useful in a test in the next change.

Signed-off-by: Derrick Stolee <stolee@gmail.com>
---
 builtin/gc.c | 10 ++++++++++
 1 file changed, 10 insertions(+)
diff --git a/builtin/gc.c b/builtin/gc.c
index 99431fd4674..6672f165bda 100644
--- a/builtin/gc.c
+++ b/builtin/gc.c
@@ -1029,6 +1029,8 @@ static int run_write_commit_graph(struct maintenance_run_opts *opts)
 
 	if (opts->quiet)
 		strvec_push(&child.args, "--no-progress");
+	else
+		strvec_push(&child.args, "--progress");
 
 	return !!run_command(&child);
 }
@@ -1185,6 +1187,8 @@ static int pack_loose(struct maintenance_run_opts *opts)
 	strvec_push(&pack_proc.args, "pack-objects");
 	if (opts->quiet)
 		strvec_push(&pack_proc.args, "--quiet");
+	else
+		strvec_push(&pack_proc.args, "--no-quiet");
 	strvec_pushf(&pack_proc.args, "%s/pack/loose", r->objects->odb->path);
 
 	pack_proc.in = -1;
@@ -1263,6 +1267,8 @@ static int multi_pack_index_write(struct maintenance_run_opts *opts)
 
 	if (opts->quiet)
 		strvec_push(&child.args, "--no-progress");
+	else
+		strvec_push(&child.args, "--progress");
 
 	if (run_command(&child))
 		return error(_("failed to write multi-pack-index"));
@@ -1279,6 +1285,8 @@ static int multi_pack_index_expire(struct maintenance_run_opts *opts)
 
 	if (opts->quiet)
 		strvec_push(&child.args, "--no-progress");
+	else
+		strvec_push(&child.args, "--progress");
 
 	if (run_command(&child))
 		return error(_("'git multi-pack-index expire' failed"));
@@ -1335,6 +1343,8 @@ static int multi_pack_index_repack(struct maintenance_run_opts *opts)
 
 	if (opts->quiet)
 		strvec_push(&child.args, "--no-progress");
+	else
+		strvec_push(&child.args, "--progress");
 
 	strvec_pushf(&child.args, "--batch-size=%"PRIuMAX,
 				  (uintmax_t)get_auto_pack_size());
-- 
gitgitgadget
Previous: Derrick Stolee via GitGitGadgetNext: Derrick Stolee via GitGitGadget
Message 2 of 4 in “Allow configuration for loose-objects maintenance task”
  1. 0/2 Allow configuration for loose-objects maintenance taskDerrick Stolee via GitGitGadget, Mar 24, 2025
  2. 1/2 maintenance: force progress/no-quiet to childrenDerrick Stolee via GitGitGadget, Mar 24, 2025
  3. 2/2 maintenance: add loose-objects.batchSize configDerrick Stolee via GitGitGadget, Mar 24, 2025
  4. Junio C HamanoMar 24, 2025

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.