From: Junio C Hamano Date: Sat, 05 Jan 2008 09:06:23 GMT Subject: Re: [PATCH] git stash: one bug and one feature request Message-ID: <7v7iiod4kw.fsf@gitster.siamese.dyndns.org> In-Reply-To: "Marco Costalba" 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.