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

[PATCH] Use color.ui variable in scripts too

From
Matthias Kestenholz <mk@spinlock.ch>
Date
Apr 9, 2008, 19:32 UTC
Message-ID
<1207769526-14823-1-git-send-email-mk@spinlock.ch>
Signed-off-by: Matthias Kestenholz <mk@spinlock.ch>
---
	This patch adds color.ui support for scripts. It does that by
	modifying `git config --get-colorbool`, because there is no
	way to differentiate between undefined and `false` configuration
	variables in scripts. Additionally, the scripts don't need to be
	changed. I have only tested git add -i; git svn uses the same
	functions in Git.pm, so it should work too.
	Of course, it would have been nicer if I had made this change
	before the release of 1.5.5. The 1.5.5 announcement reminded
	me, that this had yet to be done.
 Documentation/git-config.txt |    2 ++
 builtin-config.c             |    6 +++++-
 2 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/Documentation/git-config.txt b/Documentation/git-config.txt
index fa16171..5de5d05 100644
--- a/Documentation/git-config.txt
+++ b/Documentation/git-config.txt
@@ -144,6 +144,8 @@ See also <<FILES>>.
 	"auto".  If `stdout-is-tty` is missing, then checks the standard
 	output of the command itself, and exits with status 0 if color
 	is to be used, or exits with status 1 otherwise.
+	When the color setting for `name` is undefined, the command uses
+	`color.ui` as fallback.
 
 --get-color name default::
 
diff --git a/builtin-config.c b/builtin-config.c
index c34bc8b..eccb7e7 100644
--- a/builtin-config.c
+++ b/builtin-config.c
@@ -224,6 +224,10 @@ static int git_get_colorbool_config(const char *var, const char *value)
 		get_diff_color_found =
 			git_config_colorbool(var, value, stdout_is_tty);
 	}
+	if (!strcmp(var, "color.ui")) {
+		git_use_color_default = git_config_colorbool(var, value, stdout_is_tty);
+		return 0;
+	}
 	return 0;
 }
 
@@ -251,7 +255,7 @@ static int get_colorbool(int argc, const char **argv)
 		if (!strcmp(get_color_slot, "color.diff"))
 			get_colorbool_found = get_diff_color_found;
 		if (get_colorbool_found < 0)
-			get_colorbool_found = 0;
+			get_colorbool_found = git_use_color_default;
 	}
 
 	if (argc == 1) {
-- 
1.5.5.24.g0eec3.dirty
Message 1 of 1 in “Use color.ui variable in scripts too”
  1. Use color.ui variable in scripts tooMatthias Kestenholz, Apr 9, 2008

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.