From: Junio C Hamano Date: Sat, 03 Mar 2007 22:17:23 GMT Subject: Re: git pull fails to exit with non-zero status after fatal error Message-ID: <7vlkie7z0s.fsf@assigned-by-dhcp.cox.net> In-Reply-To: <20070303212348.GA17796@spearce.org> "Shawn O. Pearce" writes: > Johannes Schindelin wrote: >> On Sat, 3 Mar 2007, Junio C Hamano wrote: >> >> > - finish "$new_head" "Fast forward" >> > + finish "$new_head" "Fast forward" || exit >> >> Doesn't "exit" default to "exit 0"? > > No, it carries the exit status of the prior failed command if the > prior command failed. ;-) > > For what its worth, I learned that only while hacking on git-merge. > I think it is highly non-obvious. Sorry to be a traditionalist. "sequence && of && commands || exit" is an established bourne shell idiom. I do not mind if somebody proposed to change that to "... || exit $?" to unconfuse uninitiated, though.