From: Junio C Hamano Date: Wed, 14 Mar 2007 09:06:25 GMT Subject: Re: [PATCH] Allow git-diff exit with codes similar to diff(1) Message-ID: <7v1wjsdwj2.fsf@assigned-by-dhcp.cox.net> In-Reply-To: <7vfy88dwvw.fsf@assigned-by-dhcp.cox.net> Junio C Hamano writes: > I've been telling you since the #git session that I know that is > *different* from how "diff" works, and I think everybody agrees > if we were doing git from scratch today we would have done exit > status with 0/1/other to signal no-change, have-diff and error. > > But the established way for scripts that use plumbing is > > - to check error with $? (or ... || ) > - to check modified-or-not with output > > and people who have been learning from the scripts (we used to > have lot more scripts) would have picked up that pattern. > That's why I already told you that --exit-status is the right > thing to do if we were doing it from scratch, but is a wrong > thing to do at this point. Correction. s/--exit-status is/doing --exit-status without such an explicit option is/. > Maybe in a release as big as 1.5.0 > that we pre-announce a lot of interface changes. > > In short, Linus is right in that the current exit code is not > useful to see what the end users are interested in (and they are > not in the business of debugging git, and diff would error out > only when the repository has problems, perhaps a corrupt object > or something like that). But being not useful and being > currently not relied upon are two different things. > > And I am being conservative, especially after a big release.