On Tue, Oct 03, 2017 at 04:10:12PM +0900, Junio C Hamano wrote: > Jeff King <peff@xxxxxxxx> writes: > > > I'd prefer not to revert. I think setting any of the color config to > > "always" in an on-disk file is basically a broken config. It was > > exacerbated by 4c7f1819b, but it was already broken for scripts that > > call "git log" or "git diff", or even just something as simple as piping > > those programs on the command line. > > I actually disagree with that reasoning. > > We've promised that plumbing commands were safe to use in scripts, > and 4c7f1819 ("make color.ui default to 'auto'", 2013-06-10) got it > closer to breaking it (but not quite), and 136c8c8b finally broke > it. Setting ui.color=always and shooting themselves in the foot by > seeing ANSI escapes in "git log >file" output is totally user's > choice. Breaking scripts that carefully chose to use plumbing, > believing our earlier promise, and blaming user's ui.color=always > does not sound quite like the same thing, at least to me. I agree it's not quite the same thing, and I agree the problem was made much worse by 4c7f1819b. But I still think color.ui=always is inherently a foot-gun, and in either case it is the user that sets it that is harmed (and they are the ones who have the power to fix it). At any rate, I think you only need to agree with that reason to buy into my "do nothing" option. Option 2 would make everybody happy, I think (I'm working up a patch, though note that it isn't quite trivial because of some abuses of the color system in the test scripts). -Peff