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

[PATCH 2/2 v4] make color.ui default to 'auto'

From
Matthieu Moy <matthieu.moy@imag.fr>
Date
May 15, 2013, 17:00 UTC
Message-ID
<1368637256-22622-2-git-send-email-Matthieu.Moy@imag.fr>
In-Reply-To
<1368637256-22622-1-git-send-email-Matthieu.Moy@imag.fr>

Most users seem to like having colors enabled, and colors can help beginners to understand the output of some commands (e.g. notice immediately the boundary between commits in the output of "git log").

Many tutorials tell the users to set color.ui=auto as a very first step, which tend to indicate that color.ui=none is not the recommanded value, hence should not be the default.

These tutorials would benefit from skipping this step and starting the real Git manipulations 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 preferred 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), but this needs not occupy space in beginner-oriented documentations.

A transition period with Git emitting a warning when color.ui is unset would be possible, but the discomfort of having the warning seems superior to the benefit: users may be surprised by the change, but not harmed by it.

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.

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
---
Adapted after PATCH 1/2, and commit message updated.
 Documentation/config.txt | 11 ++++++-----
 builtin/config.c         |  2 +-
 color.c                  |  2 +-
 3 files changed, 8 insertions(+), 7 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 `always` if you want all output not intended for machine
-	consumption to use color, to `true` or `auto` if you want such
-	output to use color when written to the terminal, or to `false` or
-	`never` if you prefer Git commands not to use color unless enabled
-	explicitly with some other configuration or the `--color` option.
+	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.
 
 column.ui::
 	Specify whether supported commands should output in columns.
diff --git a/builtin/config.c b/builtin/config.c
index 171bad7..4010c43 100644
--- a/builtin/config.c
+++ b/builtin/config.c
@@ -347,7 +347,7 @@ static int get_colorbool(int print)
 
 	if (get_colorbool_found < 0)
 		/* default value if none found in config */
-		get_colorbool_found = 0;
+		get_colorbool_found = GIT_COLOR_AUTO;
 
 	get_colorbool_found = want_color(get_colorbool_found);
 
diff --git a/color.c b/color.c
index e8e2681..f672885 100644
--- a/color.c
+++ b/color.c
@@ -1,7 +1,7 @@
 #include "cache.h"
 #include "color.h"
 
-static int git_use_color_default = 0;
+static int git_use_color_default = GIT_COLOR_AUTO;
 int color_stdout_is_tty = -1;
 
 /*
-- 
1.8.3.rc1.315.g4602f33
Previous: Matthieu MoyNext: Junio C Hamano
Message 14 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.