Jeff King <peff@xxxxxxxx> writes: > On Tue, Oct 10, 2017 at 12:03:14PM -0700, Jonathan Nieder wrote: > >> Where I worry is about commands where the line between porcelain and >> plumbing blur, like "git log --format=raw". I actually still prefer >> the approach where "color.ui=always" becomes impossible to express in >> config and each command takes a --color option. >> >> If we want to be extra fancy, we could make git take a --color option >> instead of requiring each command to do it. >> >> To support existing scripts, we could treat "-c color.ui=always" as a >> historical synonym for --color=always, either temporarily or >> indefinitely. Making it clear that this is only there for historical >> reasons would make it less likely that other options make the same >> mistake in the future. > > So that's basically my (2), with the twist that we claim it's only > horrible and inconsistent for historical reasons. :) > > Is that the direction we want to go? Your (2), and Jonathan's "git --color=..." as an extension to it, is probably the least risky approach forward, as you said earlier. And I think that it would get us closest to the ideal world (in which color=always did not exist in the configuration system), while breaking least number of various "questionable" scripts in the wild.