From: Ævar Arnfjörð Bjarmason Date: Mon, 23 Aug 2021 12:30:21 +0000 (+0200) Subject: commit-graph: show "unexpected subcommand" error X-Git-Tag: v2.34.0-rc0~188^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=367c5f36a6a0fa7f8f706b10f9bb2f0e28baaa1a;p=thirdparty%2Fgit.git commit-graph: show "unexpected subcommand" error Bring the "commit-graph" command in line with the error output and general pattern in cmd_multi_pack_index(). Let's test for that output, and also cover the same potential bug as was fixed in the multi-pack-index command in 88617d11f9d (multi-pack-index: fix potential segfault without sub-command, 2021-07-19). Signed-off-by: Ævar Arnfjörð Bjarmason Reviewed-by: Taylor Blau Signed-off-by: Junio C Hamano --- diff --git a/builtin/commit-graph.c b/builtin/commit-graph.c index 0457903f18..21fc6e934b 100644 --- a/builtin/commit-graph.c +++ b/builtin/commit-graph.c @@ -345,6 +345,7 @@ int cmd_commit_graph(int argc, const char **argv, const char *prefix) else if (argc && !strcmp(argv[0], "write")) return graph_write(argc, argv); + error(_("unrecognized subcommand: %s"), argv[0]); usage: usage_with_options(builtin_commit_graph_usage, builtin_commit_graph_options); diff --git a/t/t5318-commit-graph.sh b/t/t5318-commit-graph.sh index 09a2ccd292..295c5bd94d 100755 --- a/t/t5318-commit-graph.sh +++ b/t/t5318-commit-graph.sh @@ -6,10 +6,24 @@ test_description='commit graph' GIT_TEST_COMMIT_GRAPH_CHANGED_PATHS=0 test_expect_success 'usage' ' - test_expect_code 129 git commit-graph write blah && + test_expect_code 129 git commit-graph write blah 2>err && test_expect_code 129 git commit-graph write verify ' +test_expect_success 'usage shown without sub-command' ' + test_expect_code 129 git commit-graph 2>err && + ! grep error: err +' + +test_expect_success 'usage shown with an error on unknown sub-command' ' + cat >expect <<-\EOF && + error: unrecognized subcommand: unknown + EOF + test_expect_code 129 git commit-graph unknown 2>stderr && + grep error stderr >actual && + test_cmp expect actual +' + test_expect_success 'setup full repo' ' mkdir full && cd "$TRASH_DIRECTORY/full" &&