[PATCH] format_commit_message: honor `color=auto` for `%C(auto)`
- From
Edward Thomson <ethomson@edwardthomson.com>
- Date
- May 24, 2016, 19:48 UTC
- Message-ID
- <20160524194814.GA12479@zoidberg>
Check that we are configured to display colors in the given context when the user specifies a format string of `%C(auto)`, instead of always displaying the default color for the given context. This makes `%C(auto)` obey the `color=auto` setting and brings its behavior in line with the behavior of `%C(auto,<colorname>)`.
This allows the user the ability to specify that color should be displayed for a string only when the output is a tty, and to use the default color for the given context without having to hardcode a color value. --- pretty.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pretty.c b/pretty.c index 87c4497..c3ec430 100644 --- a/pretty.c +++ b/pretty.c @@ -1063,7 +1063,7 @@ static size_t format_commit_one(struct strbuf *sb, /* in UTF-8 */ switch (placeholder[0]) { case 'C': if (starts_with(placeholder + 1, "(auto)")) { - c->auto_color = 1; + c->auto_color = want_color(c->pretty_ctx->color); return 7; /* consumed 7 bytes, "C(auto)" */ } else { int ret = parse_color(sb, placeholder, c);
-- 2.6.4 (Apple Git-63)