As noted in 6c62f015520 (for-each-repo: do nothing on empty config, 2021-01-08) this command wants to ignore a non-existing config key, but let's not conflate that with bad config. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> --- builtin/for-each-repo.c | 3 ++- t/t0068-for-each-repo.sh | 8 ++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/builtin/for-each-repo.c b/builtin/for-each-repo.c index 7cc41847635..224164addb3 100644 --- a/builtin/for-each-repo.c +++ b/builtin/for-each-repo.c @@ -48,7 +48,8 @@ int cmd_for_each_repo(int argc, const char **argv, const char *prefix) err = repo_config_get_value_multi(the_repository, config_key, &values); if (err < 0) - return 0; + usage_msg_optf(_("got bad config --config=%s"), + for_each_repo_usage, options, config_key); else if (err) return 0; diff --git a/t/t0068-for-each-repo.sh b/t/t0068-for-each-repo.sh index a099abc652e..19ceaa546ea 100755 --- a/t/t0068-for-each-repo.sh +++ b/t/t0068-for-each-repo.sh @@ -39,10 +39,10 @@ test_expect_success 'do nothing on empty config' ' git for-each-repo --config=bogus.config -- help --no-such-option ' -test_expect_success 'bad config keys' ' - git for-each-repo --config=a && - git for-each-repo --config=a.b. && - git for-each-repo --config="'\''.b" +test_expect_success 'error on bad config keys' ' + test_expect_code 129 git for-each-repo --config=a && + test_expect_code 129 git for-each-repo --config=a.b. && + test_expect_code 129 git for-each-repo --config="'\''.b" ' test_done -- 2.39.0.rc0.955.ge9b241be664