Subject: [PATCH 0/6] fsck: squelch progress output with `--no-progress`

From: Taylor Blau <[email-masked]>
Date: Fri, 7 Jul 2023 20:31:28 -0400

This short series addresses a pair of issues where the `commit-graph
verify` and `multi-pack-index verify` steps of `git fsck` produce output
regardless of whether or not `fsck` was invoked with the
`--no-progress` option or not.

The first two patches address the commit-graph and MIDX issues
respectively. The final four patches further clean up the output of
`git commit-graph verify --progress` when verifying multi-layer graphs
to produce a single progress meter instead of one per graph layer.

Before, the output of `git commit-graph verify` on a repository with a
commit-graph chain with two layers looked like:

    $ git.compile commit-graph verify
    Verifying commits in commit graph: 100% (4356/4356), done.
    Verifying commits in commit graph: 100% (131912/131912), done.

After this patch series, the output instead looks as follows:

    $ git.compile commit-graph verify
    Verifying commits in commit graph: 100% (136268/136268), done.

Thanks in advance for your review.

Taylor Blau (6):
  fsck: suppress commit-graph output with `--no-progress`
  fsck: suppress MIDX output with `--no-progress`
  commit-graph.c: extract `verify_one_commit_graph()`
  commit-graph.c: iteratively verify commit-graph chains
  commit-graph.c: pass progress to `verify_one_commit_graph()`
  commit-graph.c: avoid duplicated progress output during `verify`

 builtin/fsck.c                |  8 ++++++
 commit-graph.c                | 53 +++++++++++++++++++++++------------
 t/t5318-commit-graph.sh       | 10 +++++++
 t/t5319-multi-pack-index.sh   | 12 ++++++++
 t/t5324-split-commit-graph.sh |  3 +-
 5 files changed, 67 insertions(+), 19 deletions(-)

-- 
2.41.0.242.g6eec849fa5a