On Wed, May 30 2018, Junio C Hamano wrote: > Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> writes: > >> A co-worker of mine who was using UNIX systems when dinosaurs roamed >> the earth was lamenting that kids these days were using tools like >> "git" that thought they knew better than isatty(3) when deciding >> whether or not something was a terminal, and the state of the >> documentation fixed earlier in this series certainly didn't help. >> >> So this setting is a small gift to all the UNIX graybeards out >> there. Now they can set color.ui=isatty and only emit fancy colors in >> situations when the gods of old intended, not whatever heuristic we've >> decided to set "auto" to. > > Re-read the above again, and notice that you are *only* hinting that > you consider difference between "auto" and "isatty" is important, > and that your "isatty" is better, without telling what the > difference is, let alone why you think "isatty" is better. > >> >> As noted here this is *currently* the same as setting color.ui=auto & >> color.pager=false, but I think it's good to explicitly have this >> setting for any future changes. The reason, as now noted in the >> documentation is that the "auto" setting may become even smarter in >> the future and learn even deeper heuristics for when to turn itself on >> even if isatty(3) were returning true. > > Do you mean s/true/false/ in the last part? No "true" as noted in https://public-inbox.org/git/874liofgv6.fsf@xxxxxxxxxxxxxxxxxxx/ >> At that point the fans of plain isatty(3) will become even more upset >> at what we're doing, so let's give them a simple future-proof opt-out. > > You still haven't explained why "auto" that does more than "isatty" > is and will be irritating. > > That's not a good way to sell a patch. I'm not really trying to sell this thing, as noted in the CL. This is more of a "I wrote this, does anyone find this useful?". > Also even "isatty" still needs to do more than isatty(1) call. The > process that is trying to do color.ui=isatty may be talking to an > outgoing pipe due to the use of "git -p cmd", by that time, it is > too late to call isatty(1) and obtain the info the caller wishes to.