René Scharfe [off-list ref] writes:
As Wincent Colaiuta found out, it's a bit unexpected for git diff to
start a pager even when the --quiet option is specified. The problem
is that the pager hides the return code -- which is the only output
we're interested in in this case.
Push pager setup down into builtin-diff.c and don't start the pager
if --exit-code or --quiet (which implies --exit-code) was specified.
Surprisingly nice, although I would have said "don't use
git-diff wrapper from scripts, use underlying diff-* plumbing"
;-).
Thanks.