"Marco Costalba" [off-list ref] writes:
I understand your point. The problem is that in git there isn't an
unique way to test success/fail for any command, as example, regarding
checking the exit status:
$ git status; echo $?
# On branch master
nothing to commit (working directory clean)
1
That is a bad example, with a slight historical background.
When you say "git status $args", you are asking the command this
question.
I am contemplating to issue "git commit $args", but will
there actually be changes if I issued that command?
When there will be no changes staged with the given $args (in
your case that happens to be empty), there won't be anything to
be committed if you issued "git commit $args" at that point.
The command answers "Eh, by issuing 'git commit' you will get
an 'Nothing to commit', which is an error" --- and that is
reported with its exit status.