Re: [PATCH v2] rebase -x: don't print "Executing:" msgs with --quiet
- From
Matheus Tavares Bernardino <matheus.tavb@gmail.com>
- Date
- Aug 20, 2024, 22:23 UTC
- Message-ID
- <CAGdrTFgo5kyObDTyhwjbnDUf8zm=-qYFbykqKv6cDG1mgSfmpg@mail.gmail.com>
- In-Reply-To
- <08dc334a-e1d9-4aa1-945e-c543de549163@gmail.com>
On Mon, Aug 19, 2024 at 10:57 AM Phillip Wood <phillip.wood123@gmail.com> wrote:
Show 23 quoted lines
> > Hi Matheus > > On 18/08/2024 14:03, Matheus Tavares Bernardino wrote: > > On Sat, Aug 17, 2024 at 8:22 AM Junio C Hamano <gitster@pobox.com> wrote: > > The idea is that, when running in --quiet mode, we don't want to print > > anything, not even a line-cleaning char sequence. > > > > Nonetheless, since these are invisible chars (assuming we haven't > > printed anything to be "cleaned" before them), printing them doesn't > > actually make a difference to the user running rebase in the terminal, > > as they won't see the chars anyways. > > > > The actual issue is when piping/redirecting the rebase output, which > > will include these invisible chars... So perhaps, instead of modifying > > the sequencer.c to use "if (!opts->quiet && !opts->verbose) > > term_clean_line()", the correct approach would be to modify > > "term_clean_line()" to return earlier "if (!isatty(1))". What do you > > think? > > On the face of it that sounds like a good idea but I haven't thought too > much about it. These messages are all going to stderr rather than > stdout.
Oh, good point. So `isatty(2)`, actually.
> If we do go that way we'll need to adjust > launch_specified_editor() in editor.c to either suppress the hint or > terminate it with '\n' if stderr is not a terminal.
Hmm, isn't that what we do already? The hint printing is conditional on `print_waiting_for_editor` which, in turn, is conditional on `isatty(2)`.