git fails with a broken pipe when one quits the pager
- From
- Vincent Lefevre <vincent@vinc17.net>
- Date
- Jan 15, 2021, 16:15 UTC
- Message-ID
- <YAG/vzctP4JwSp5x@zira.vinc17.org>
I had reported the following bug at https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=914896
It still occurs with Git 2.30.0.
Some git commands with a lot of output fail with a broken pipe when one quits the pager (without going to the end of the output).
For instance, in zsh:
cventin% setopt PRINT_EXIT_VALUE cventin% git log zsh: broken pipe git log cventin% echo $? 141 cventin%
This is annoying. And of course, I don't want to hide error messages by default, because this would hide *real* errors.
The broken pipe is internally expected, thus should not be reported by git.
Just to be clear: this broken pipe should be discarded only when git uses its builtin pager feature, not with a general pipe, where the error may be important.
For instance,
$ { git log ; echo "Exit status: $?" >&2 ; } | trueshould still output
Exit status: 141
like currently.
-- Vincent Lefèvre <vincent@vinc17.net> - 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)