[PATCH 1/6] fsck: suppress commit-graph output with `--no-progress`
- From
Taylor Blau <me@ttaylorr.com>
- Date
- Jul 8, 2023, 00:31 UTC
- Message-ID
- <b88140d3e4221ca314ac7627f3cb6370f0101cef.1688776280.git.me@ttaylorr.com>
- In-Reply-To
- <cover.1688776280.git.me@ttaylorr.com>
Since e0fd51e1d7 (fsck: verify commit-graph, 2018-06-27), `fsck` runs `git commit-graph verify` to check the integrity of any commit-graph(s).
Originally, the `git commit-graph verify` step would always print to stdout/stderr, regardless of whether or not `fsck` was invoked with `--[no-]progress` or not. But in 7371612255 (commit-graph: add --[no-]progress to write and verify, 2019-08-26), the commit-graph machinery learned the `--[no-]progress` option, though `fsck` was not updated to pass this new flag (or not).
This led to seeing output from running `git fsck`, even with `--no-progress` on repositories that have a commit-graph:
$ git.compile fsck --connectivity-only --no-progress --no-dangling
Verifying commits in commit graph: 100% (4356/4356), done.
Verifying commits in commit graph: 100% (131912/131912), done.Ensure that `fsck` passes `--[no-]progress` as appropriate when calling `git commit-graph verify`.
Signed-off-by: Taylor Blau <me@ttaylorr.com> --- builtin/fsck.c | 4 ++++ t/t5318-commit-graph.sh | 10 ++++++++++ 2 files changed, 14 insertions(+)
diff --git a/builtin/fsck.c b/builtin/fsck.c index fa26462337a..e6473ecabc7 100644 --- a/builtin/fsck.c +++ b/builtin/fsck.c @@ -1074,6 +1074,10 @@ int cmd_fsck(int argc, const char **argv, const char *prefix) commit_graph_verify.git_cmd = 1; strvec_pushl(&commit_graph_verify.args, "commit-graph", "verify", "--object-dir", odb->path, NULL); + if (show_progress) + strvec_push(&commit_graph_verify.args, "--progress"); + else + strvec_push(&commit_graph_verify.args, "--no-progress"); if (run_command(&commit_graph_verify)) errors_found |= ERROR_COMMIT_GRAPH; } diff --git a/t/t5318-commit-graph.sh b/t/t5318-commit-graph.sh index b6e12115786..bf8a92317b3 100755 --- a/t/t5318-commit-graph.sh +++ b/t/t5318-commit-graph.sh @@ -684,6 +684,16 @@ test_expect_success 'git fsck (checks commit-graph when config unset)' ' test_must_fail git fsck ' +test_expect_success 'git fsck shows commit-graph output with --progress' ' + git -C "$TRASH_DIRECTORY/full" fsck --progress 2>err && + grep "Verifying commits in commit graph" err +' + +test_expect_success 'git fsck suppresses commit-graph output with --no-progress' ' + git -C "$TRASH_DIRECTORY/full" fsck --no-progress 2>err && + ! grep "Verifying commits in commit graph" err +' + test_expect_success 'setup non-the_repository tests' ' rm -rf repo && git init repo &&
-- 2.41.0.242.g6eec849fa5a