When we try to execute 'git submodule' with an invalid subcommand, we get an error like the following: $ git submodule show error: pathspec 'show' did not match any file(s) known to git. Did you forget to 'git add'? The cause of the problem: since $command is not matched, it is set to "status", and "show" is treated as an argument to "status". Change this so that usage information is printed when an invalid subcommand is tried. Signed-off-by: Ramkumar Ramachandra <artagnon@xxxxxxxxx> --- This breaks test 41 in t7400-submodule-bash -- does the test cover a real-world usecase? git-submodule.sh | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/git-submodule.sh b/git-submodule.sh index a7e933e..dfec45d 100755 --- a/git-submodule.sh +++ b/git-submodule.sh @@ -1108,7 +1108,15 @@ do done # No command word defaults to "status" -test -n "$command" || command=status +if test -z "$command" +then + if test $# = 0 + then + command=status + else + usage + fi +fi # "-b branch" is accepted only by "add" if test -n "$branch" && test "$command" != add -- 1.7.12.GIT -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html