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

Re: [PATCH] make color.ui default to 'auto'

From
Junio C Hamano <gitster@pobox.com>
Date
May 15, 2013, 15:42 UTC
Message-ID
<7vy5bgckr4.fsf@alter.siamese.dyndns.org>
In-Reply-To
<1368619757-10402-1-git-send-email-Matthieu.Moy@imag.fr>
Matthieu Moy <Matthieu.Moy@imag.fr> writes:
Show 9 quoted lines
> Many tutorials tell the users to set color.ui=auto as a very first step.
> These tutorials would benefit from skiping this step and starting the
> real Git manipualtions earlier. Other beginners do not know about
> color.ui=auto, and may not discover it by themselves, hence live with
> black&white outputs while they may have prefered colors.
>
> A few people (e.g. color-blind) prefer having no colors, but they can
> easily set color.ui=never for this (and googling "disable colors in git"
> already tells them how to do so).

The above two paragraphs do not make a good justification [*1*]. The former can just as easily websearch for "enable colours in git" as the latter would for "disable" in order to avoid having to live with distraction while they may have preferred monochrome.

The train of thought that is a sufficient justification for this change is "Our document and third-party tutorials often start with setting color.ui=auto configuration." leading to "Our recommendation is to enable colour on terminals." which in turn leading to "Why is our default monochrome, against our own recommendation?". Saying anything more, like who are the majority or how easily the default can be overridden, is unnecessary, I think [*2*].

As this is purely a UI thing, and since daa0c3d97176 (color: delay auto-color decision until point of use, 2011-08-17), the logic to decide when "auto colouring" is triggered is centrary controlled (hence it is much less likely than before that color.ui=auto could misfire when it shouldn't), I agree that this does not even deserve a warning. You could even sell it as a pure bugfix ("we recommend users to use auto colouring but we did not set it up for users").

> The default value is changed, and the documentation is reworded to
> mention "color.ui=false" first, since the primary use of color.ui after
> this change is to disable colors, not to enable it.
Good.
Show 20 quoted lines
> I'm starting to wonder why we didn't do this earlier ;-).
>
>  Documentation/config.txt | 11 ++++++-----
>  color.c                  |  2 +-
>  2 files changed, 7 insertions(+), 6 deletions(-)
>
> diff --git a/Documentation/config.txt b/Documentation/config.txt
> index 1009bfc..97550be 100644
> --- a/Documentation/config.txt
> +++ b/Documentation/config.txt
> @@ -913,11 +913,12 @@ color.ui::
>  	as `color.diff` and `color.grep` that control the use of color
>  	per command family. Its scope will expand as more commands learn
>  	configuration to set a default for the `--color` option.  Set it
> +	to `false` or `never` if you prefer Git commands not to use
> +	color unless enabled explicitly with some other configuration
> +	or the `--color` option. Set it to `always` if you want all
> +	output not intended for machine consumption to use color, to
> +	`true` or `auto` (this is the default since Git 2.0) if you
> +	want such output to use color when written to the terminal.
OK, so this is planned for 2.0?
[Footnote]

*1* Unless you have some statistical fact to demonstrate that beginners who prefer colours are of lessor intelligence than those who do not, that is.

*2* It unnecessarily muddies the water to bring up "which is majority?". A poll might reveal more people prefer monochrome, but in that case, either we keep the default monochrome *and* fix the tutorial not to suggest auto, or we stick to the recommendation to use auto colouring. In other words, I see this change as merely making the code in line with the spirit of the documentation.

Previous: Matthieu MoyNext: Matthieu Moy
Message 18 of 27 in “is this a bug of git-diff?”
  1. eric liouMay 15, 2013
  2. Antoine PelisseMay 15, 2013
  3. Antoine PelisseMay 15, 2013
  4. Matthieu MoyMay 15, 2013
  5. John KeepingMay 15, 2013
  6. Default for color.ui (was Re: is this a bug of git-diff?)Matthieu Moy, May 15, 2013
  7. Felipe ContrerasMay 15, 2013
  8. make color.ui default to 'auto'Matthieu Moy, May 15, 2013
  9. Johan HerlandMay 15, 2013
  10. make color.ui default to 'auto'Matthieu Moy, May 15, 2013
  11. Junio C HamanoMay 15, 2013
  12. Matthieu MoyMay 15, 2013
  13. 1/2 config: refactor management of color.ui's default valueMatthieu Moy, May 15, 2013
  14. 2/2 make color.ui default to 'auto'Matthieu Moy, May 15, 2013
  15. Junio C HamanoMay 15, 2013
  16. Stefano LattariniMay 15, 2013
  17. make color.ui default to 'auto'Matthieu Moy, May 15, 2013
  18. Junio C HamanoMay 15, 2013
  19. Matthieu MoyMay 15, 2013
  20. Junio C HamanoMay 15, 2013
  21. Matthieu MoyMay 15, 2013
  22. Junio C HamanoMay 15, 2013
  23. Matthieu MoyMay 15, 2013
  24. Junio C HamanoMay 15, 2013
  25. Felipe ContrerasMay 15, 2013
  26. John KeepingMay 15, 2013
  27. Mike HommeyMay 15, 2013

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.