Merge branch 'mm/color-auto-default'
authorJunio C Hamano <gitster@pobox.com>
Thu, 20 Jun 2013 23:02:33 +0000 (16:02 -0700)
committerJunio C Hamano <gitster@pobox.com>
Thu, 20 Jun 2013 23:02:33 +0000 (16:02 -0700)
Flip the default for color.ui to 'auto', which is what many
tutorials recommend new users to do.

* mm/color-auto-default:
make color.ui default to 'auto'
config: refactor management of color.ui's default value

Documentation/config.txt
builtin/config.c
color.c
index 7fd4035cb52dfb746fad496fd27347f538c31006..311fcebaf51034a0788df971749fe80dbc3c8782 100644 (file)
@@ -919,11 +919,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 1.8.4) if you
+       want such output to use color when written to the terminal.
 
 column.ui::
        Specify whether supported commands should output in columns.
index 19ffcaf18776e8b100ee3f57c7ca7447436c5476..7759671eb8d44ad341831eeffc96c4469d0652e8 100644 (file)
@@ -329,6 +329,7 @@ static int get_colorbool(int print)
 {
        get_colorbool_found = -1;
        get_diff_color_found = -1;
+       get_color_ui_found = -1;
        git_config_with_options(git_get_colorbool_config, NULL,
                                given_config_file, respect_includes);
 
@@ -339,6 +340,10 @@ static int get_colorbool(int print)
                        get_colorbool_found = get_color_ui_found;
        }
 
+       if (get_colorbool_found < 0)
+               /* default value if none found in config */
+               get_colorbool_found = GIT_COLOR_AUTO;
+
        get_colorbool_found = want_color(get_colorbool_found);
 
        if (print) {
diff --git a/color.c b/color.c
index e8e26818b3b1f2ffce1374e2edf88b40c575c3dd..f672885b71acef4108c8cefc9cf887c220f614d3 100644 (file)
--- 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;
 
 /*