From: Junio C Hamano Date: Thu, 27 Feb 2025 17:06:28 GMT Subject: Re: General output formatting Message-ID: In-Reply-To: <3a58720f-a572-4e3a-bed1-cc7e8f46e3c7@xiplink.com> Marc Branchaud 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.