mbox series

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

Message ID cover.1688776280.git.me@ttaylorr.com (mailing list archive)
Headers show
Series fsck: squelch progress output with `--no-progress` | expand

Message

Taylor Blau July 8, 2023, 12:31 a.m. UTC
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(-)

Comments

Derrick Stolee July 10, 2023, 3:55 p.m. UTC | #1
On 7/7/2023 6:31 PM, Taylor Blau wrote:
>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 for noticing and fixing these issues. The patches are structured
well and make the refactoring easy to follow. This is especially tricky
when swapping from recursive to iterative, but the patches break this
down nicely.
v1 LGTM.
Thanks,
-Stolee