Skip to content

Commit

Permalink
make color.ui default to 'auto'
Browse files Browse the repository at this point in the history
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>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
moy authored and gitster committed Jun 10, 2013
1 parent b8612b4 commit 4c7f181
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 7 deletions.
11 changes: 6 additions & 5 deletions Documentation/config.txt
Expand Up @@ -905,11 +905,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.
Expand Down
2 changes: 1 addition & 1 deletion builtin/config.c
Expand Up @@ -342,7 +342,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);

Expand Down
2 changes: 1 addition & 1 deletion 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;

/*
Expand Down

0 comments on commit 4c7f181

Please sign in to comment.