config --get-colorbool: diff.color is a deprecated synonym to color.diff
authorJunio C Hamano <gitster@pobox.com>
Thu, 6 Dec 2007 06:12:07 +0000 (22:12 -0800)
committerJunio C Hamano <gitster@pobox.com>
Thu, 6 Dec 2007 07:05:10 +0000 (23:05 -0800)
The applications can ask for color.diff but the configuration of old
timer users can still instruct it to use color with diff.color this
way.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin-config.c
index d10b03f50cbcecd10b3a82a3fea53293c3e50806..e4a12e316648e6b0ab1ee0b424773f3c672c751e 100644 (file)
@@ -210,11 +210,17 @@ static int get_color(int argc, const char **argv)
 
 static int stdout_is_tty;
 static int get_colorbool_found;
+static int get_diff_color_found;
 static int git_get_colorbool_config(const char *var, const char *value)
 {
-       if (!strcmp(var, get_color_slot))
+       if (!strcmp(var, get_color_slot)) {
                get_colorbool_found =
                        git_config_colorbool(var, value, stdout_is_tty);
+       }
+       if (!strcmp(var, "diff.color")) {
+               get_diff_color_found =
+                       git_config_colorbool(var, value, stdout_is_tty);
+       }
        return 0;
 }
 
@@ -233,10 +239,18 @@ static int get_colorbool(int argc, const char **argv)
                stdout_is_tty = isatty(1);
        else
                usage(git_config_set_usage);
-       get_colorbool_found = 0;
+       get_colorbool_found = -1;
+       get_diff_color_found = -1;
        get_color_slot = argv[0];
        git_config(git_get_colorbool_config);
 
+       if (get_colorbool_found < 0) {
+               if (!strcmp(get_color_slot, "color.diff"))
+                       get_colorbool_found = get_diff_color_found;
+               if (get_colorbool_found < 0)
+                       get_colorbool_found = 0;
+       }
+
        if (argc == 1) {
                return get_colorbool_found ? 0 : 1;
        } else {