mirror of
https://github.com/git/git
synced 2024-07-05 00:58:49 +00:00
fsck: suppress MIDX output with --no-progress
In a similar spirit as the previous commit, address a bug where `git fsck` produces output when calling `git multi-pack-index verify` even when invoked with `--no-progress`. $ git.compile fsck --connectivity-only --no-progress --no-dangling Verifying OID order in multi-pack-index: 100% (605677/605677), done. Sorting objects by packfile: 100% (605678/605678), done. Verifying object offsets: 100% (605678/605678), done. The three lines produced by `git fsck` come from `git multi-pack-index verify`, but should be squelched due to `--no-progress`. The MIDX machinery learned to generate these progress messages as early as430efb8a74
(midx: add progress indicators in multi-pack-index verify, 2019-03-21), but did not respect `--progress` or `--no-progress` untilad60096d1c
(midx: honor the MIDX_PROGRESS flag in verify_midx_file, 2019-10-21). But the `git multi-pack-index verify` step was added to fsck in66ec0390e7
(fsck: verify multi-pack-index, 2018-09-13), pre-dating any of the above patches. Pass `--[no-]progress` as appropriate to ensure that we don't produce output when told not to. Signed-off-by: Taylor Blau <me@ttaylorr.com> Acked-by: Derrick Stolee <derrickstolee@github.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
eda206f611
commit
39bdd30377
|
@ -1090,6 +1090,10 @@ int cmd_fsck(int argc, const char **argv, const char *prefix)
|
|||
midx_verify.git_cmd = 1;
|
||||
strvec_pushl(&midx_verify.args, "multi-pack-index",
|
||||
"verify", "--object-dir", odb->path, NULL);
|
||||
if (show_progress)
|
||||
strvec_push(&midx_verify.args, "--progress");
|
||||
else
|
||||
strvec_push(&midx_verify.args, "--no-progress");
|
||||
if (run_command(&midx_verify))
|
||||
errors_found |= ERROR_MULTI_PACK_INDEX;
|
||||
}
|
||||
|
|
|
@ -485,6 +485,18 @@ test_expect_success 'git-fsck incorrect offset' '
|
|||
git -c core.multiPackIndex=false fsck
|
||||
'
|
||||
|
||||
test_expect_success 'git fsck shows MIDX output with --progress' '
|
||||
git fsck --progress 2>err &&
|
||||
grep "Verifying OID order in multi-pack-index" err &&
|
||||
grep "Verifying object offsets" err
|
||||
'
|
||||
|
||||
test_expect_success 'git fsck suppresses MIDX output with --no-progress' '
|
||||
git fsck --no-progress 2>err &&
|
||||
! grep "Verifying OID order in multi-pack-index" err &&
|
||||
! grep "Verifying object offsets" err
|
||||
'
|
||||
|
||||
test_expect_success 'corrupt MIDX is not reused' '
|
||||
corrupt_midx_and_verify $MIDX_BYTE_OFFSET "\377" $objdir \
|
||||
"incorrect object offset" &&
|
||||
|
|
Loading…
Reference in New Issue
Block a user