On 2021-02-03 18:07:02 +0100, Johannes Sixt wrote: > Then we do not agree. The exit code of `git log | less` is ignored, > and I regard `git -p log` just as a short-hand for that. If git didn't have the -p feature, "git log | less" would just be one way to get a pager. For instance, I use an alias that does pager-wrapper grep --color=always --line-buffered -E which sends the grep output to a pager, and returns the exit status of the pager if non-zero, otherwise the exit status of grep, except when this is SIGPIPE. An unavoidable issue is that if there has been an error in grep, I could still get the exit status 0. But as a user, this is a choice I have done by quitting the pager before letting grep terminate in the normal way (which could have been costly) so that it could report the error, say, about unreadable files with a recursive grep (grep -r). So Git could do the same thing, and even better, because it controls its own exit status: if there has been an error in the generation of the Git output (for instance, I can see that there is a --check option of "git log" that can trigger an error), then this error should be reported (with a non-zero exit status) after the pager is quit, as if a pager were not used. Otherwise, terminate with the exit status of the pager. -- Vincent Lefèvre <vincent@xxxxxxxxxx> - Web: <https://www.vinc17.net/> 100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/> Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)