Ramkumar Ramachandra <artagnon@xxxxxxxxx> writes: > 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? You know how to ask "shortlog --since=18.months --no-merges" to find people to list on "Cc:" line to ask that question, no? > 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 I personally feel "no command means this default" is a mistake for "git submodule", even if there is no pathspec or other arguments, but I am not a heavy user of submodules, so others should discuss this. -- 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