Re: git fails with a broken pipe when one quits the pager
- From
Johannes Sixt <j6t@kdbg.org>
- Date
- Feb 3, 2021, 17:11 UTC
- Message-ID
- <1222a249-818a-5ca7-2187-9a3b9ab5eb5b@kdbg.org>
- In-Reply-To
- <87o8h1euix.fsf@evledraar.gmail.com>
Am 03.02.21 um 03:48 schrieb Ævar Arnfjörð Bjarmason:
Show 27 quoted lines
> > On Mon, Feb 01 2021, Johannes Sixt wrote: > >> Am 01.02.21 um 16:44 schrieb Ævar Arnfjörð Bjarmason: >>> On Mon, Feb 01 2021, Vincent Lefevre wrote: >>>> On 2021-02-01 13:10:21 +0100, Ævar Arnfjörð Bjarmason: >>>>> So we've got the SIGPIPE to indicate the output wasn't fully >>>>> consumed. >>>> >>>> But the user doesn't care: he quit the pager because he didn't >>>> need more output. So there is no need to signal that the output >>>> wasn't fully consumed. The user already knew that before quitting >>>> the pager! >>> >>> As noted above, this is assuming way too much about the functionality of >>> the pager command. We can get a SIGPIPE without the user's intent in >>> this way. Consider e.g. piping to some remote system via netcat. >> >> That assumption is warranted, IMO. Aren't _you_ stretching the meaning >> of "pager" too far here? A pager is intended for presentation to the >> user. If someone plays games with it, they should know what they get. > > FWIW I replied to this in > https://lore.kernel.org/git/87r1lxeuoj.fsf@evledraar.gmail.com/ > > Whatever anyone thinks of the virtues of passing down SIGHUP having e.g > a nc to a remote box be your pager isn't all that unusual.
A pager in any form is fair game. That point is that it is an *interactive* form of presentation. But you should not use git's pager as data post-processing facility; that would stretch the meaning of "pager" too far, and we do not have cater for such abuse of the feature.
-- Hannes