Thread (2 messages) flat view 2 messages, 2 authors, 2017-10-03

Re: Updated to v2.14.2 on macOS; git add --patch broken

From: Jeff King <hidden>
Date: 2017-10-03 08:45:13

On Tue, Oct 03, 2017 at 05:34:40PM +0900, Junio C Hamano wrote:
Jeff King [off-list ref] writes:
quoted
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).
Yeah, but it is inherently a foot-gun only for those who write
scripts around porcelain commands, which are expected to honor
color.ui=always.  If you write a script using the plumbing commands
because you did not want to get broken by color.ui=always, and then
your script gets broken because plumbing commands you relied on
suddenly start paying attention to color.ui---is that the user's
fault who used color.ui?
Note that I'm arguing that it's a foot-gun even without scripts in the
picture at all. Forget about plumbing versus porcelain. If you set
color.ui to "always", you're going to get unexpected and confusing
results from time to time.
The end-users have the power to work the breakage around by not
using "always".  The script writers have the power to work the
breakage around with "--no-color".  But these are workarounds that
shouldn't have been needed in the first place, no?
To be clear, I don't think script writers should work around it at all.
It is either the fault of the user for having a broken config, or Git
for allowing such a broken config (and after having studied the
documentation, I think Git really is not helping here; nobody should
ever use "always", but the documentation introduces it as the most
obvious option to choose).

-Peff
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help