Subject: Re: General output formatting

From: Junio C Hamano <[email-masked]>
Date: Thu, 27 Feb 2025 09:06:28 -0800

Marc Branchaud <[email-masked]> writes:

>> I wonder if isatty(1) is a good way to say "ah, we are not captured
>> in 'foo=$(git blah)' and not feeding somebody in 'git blah |
>> somebody', so we do not have to worry about being machine readable".
>> If that is a reliable way to tell that we could butcher our output
>> for the sake of keeping the terminal state sane, we then can always
>> do the C-quote escaping, or even information losing '?' redaction.
>
> Modern practice seems to be moving towards explicit format options to
> let code that's parsing output directly specify how it wants to see
> the data.  Such options eliminate the need for isatty() heuristics and
> other guesswork.

I am not opposed to an explicit "please avoid raw binary output" or
even "please make it even more machine-processable by formatting in
yaml" options.  What I was hinting at was what the default should be
for interactive use when the output goes directly to the eyes of
end-users, which is pretty much orthogonal.

Thanks.