git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 0/4] peeling back color.ui=always hacks

From
Jeff King <peff@peff.net>
Date
Oct 13, 2017, 17:20 UTC
Message-ID
<20171013172020.adc2fkddgp3g2ses@sigill.intra.peff.net>
In-Reply-To
<20171013130638.dgc6kawy5mvrbasz@sigill.intra.peff.net>
On Fri, Oct 13, 2017 at 09:06:38AM -0400, Jeff King wrote:
Show 31 quoted lines
> > I think that it is too late, regardless of our release cycle.
> > 
> > "Plumbing never looks at color.ui" implies that "plumbing must not
> > get color.ui=auto from 4c7f1819", but given that 4c7f1819 is from
> > 2013, I'd be surprised if we stopped coloring output from plumbing
> > without getting any complaints from third-party script writers.
> 
> I agree that 4c7f1819 is the root of things. But there also weren't a
> lot of people complaining about it. I only noticed it as part of other
> work I was doing, and (perhaps foolishly) tried to clean it up.
> 
> All of the regressions people have actually _noticed_ stem from my
> 136c8c8b8f in v2.14.2. So I think it is a viable option to try to go
> back to the pre-v2.14.2 state. I.e.:
> 
>   1. Revert my 20120618c1 (color: downgrade "always" to "auto" only for
>      on-disk configuration, 2017-10-10) and the test changes that came
>      with it.
> 
>   2. Teach for-each-ref and tag to use git_color_default_config(). These
>      are the two I _know_ need this treatment as part of the series that
>      contained 136c8c8b8f. As you've noted there may be others, but I'd
>      be surprised if there are many. There hasn't been a lot of color
>      work in the last few months besides what I've done.
> 
>   3. Revert 136c8c8b8f.
> 
> That takes us back to the pre-regression state. The ancient bug from
> 4c7f1819 still exists, but that would be OK for v2.15. We'd probably
> want to bump the -rc cycle a bit to give more confidence that (2) caught
> everything.

Here's a series which does that. I'm torn on the correct direction, but I took the time to prepare these patches because I wanted to have two concrete alternatives to examine, not hand-waving about what one of the solutions would look like.

I'm adding Jonathan back to the cc as somebody who was interested in the whole sequence (I think these patches should stand alone as explaining their reasoning, but you may want to look back in the thread a little for context).

  [1/4]: Revert "color: make "always" the same as "auto" in config"
  [2/4]: Revert "t6006: drop "always" color config tests"
  [3/4]: Revert "color: check color.ui in git_default_config()"
  [4/4]: tag: respect color.ui config
 Documentation/config.txt   | 35 ++++++++++++++++++-----------------
 builtin/branch.c           |  2 +-
 builtin/clean.c            |  3 ++-
 builtin/grep.c             |  2 +-
 builtin/show-branch.c      |  2 +-
 builtin/tag.c              |  2 +-
 color.c                    | 10 +++++++++-
 config.c                   |  4 ----
 diff.c                     |  3 +++
 t/t6006-rev-list-format.sh | 20 +++++++++++++++-----
 t/t6300-for-each-ref.sh    |  5 +++++
 t/t7004-tag.sh             |  6 ++++++
 12 files changed, 62 insertions(+), 32 deletions(-)
-Peff
Previous: Jeff KingNext: Jeff King
Message 30 of 42 in “What happened to "git status --color=(always|auto|never)"?”
  1. Nazri RamliyOct 9, 2017
  2. Jonathan NiederOct 10, 2017
  3. Nazri RamliyOct 10, 2017
  4. Jonathan NiederOct 10, 2017
  5. Nazri RamliyOct 10, 2017
  6. Jeff KingOct 10, 2017
  7. Junio C HamanoOct 10, 2017
  8. Jeff KingOct 10, 2017
  9. Jonathan NiederOct 10, 2017
  10. Jeff KingOct 10, 2017
  11. Junio C HamanoOct 11, 2017
  12. 0/2 Piling more kludge on top of color.uiJunio C Hamano, Oct 12, 2017
  13. 2/2 color: discourage use of ui.color=alwaysJunio C Hamano, Oct 12, 2017
  14. Jonathan NiederOct 12, 2017
  15. Jeff KingOct 12, 2017
  16. Junio C HamanoOct 13, 2017
  17. 1/2 color: downgrade "always" to "auto" only for on-disk configurationJunio C Hamano, Oct 12, 2017
  18. Jonathan NiederOct 12, 2017
  19. Junio C HamanoOct 12, 2017
  20. Jonathan NiederOct 12, 2017
  21. Junio C HamanoOct 12, 2017
  22. Junio C HamanoOct 12, 2017
  23. Jeff KingOct 12, 2017
  24. Jeff KingOct 12, 2017
  25. Jeff KingOct 12, 2017
  26. Junio C HamanoOct 13, 2017
  27. Jeff KingOct 13, 2017
  28. Junio C HamanoOct 13, 2017
  29. Jeff KingOct 13, 2017
  30. 0/4 peeling back color.ui=always hacksJeff King, Oct 13, 2017
  31. 1/4 Revert "color: make "always" the same as "auto" in config"Jeff King, Oct 13, 2017
  32. 2/4 Revert "t6006: drop "always" color config tests"Jeff King, Oct 13, 2017
  33. 3/4 Revert "color: check color.ui in git_default_config()"Jeff King, Oct 13, 2017
  34. 4/4 tag: respect color.ui configJeff King, Oct 13, 2017
  35. Junio C HamanoOct 14, 2017
  36. Jeff KingOct 16, 2017
  37. Junio C HamanoOct 17, 2017
  38. Junio C HamanoOct 17, 2017
  39. Jeff KingOct 18, 2017
  40. Junio C HamanoOct 18, 2017
  41. Jonathan NiederOct 17, 2017
  42. Jeff KingOct 18, 2017

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.