diff --git a/Documentation/config.txt b/Documentation/config.txt index f1cf571fcd..6d65033e44 100644 --- a/Documentation/config.txt +++ b/Documentation/config.txt @@ -155,6 +155,13 @@ color:: `reverse`. The first color given is the foreground; the second is the background. The position of the attribute, if any, doesn't matter. ++ +The attributes are meant to be reset at the beginning of each item +in the colored output, so setting color.decorate.branch to `black` +will paint that branch name in a plain `black`, even if the previous +thing on the same output line (e.g. opening parenthesis before the +list of branch names in `log --decorate` output) is set to be +painted with `bold` or some other attribute. Variables diff --git a/log-tree.c b/log-tree.c index 1982631ca4..11676d5235 100644 --- a/log-tree.c +++ b/log-tree.c @@ -200,6 +200,7 @@ void format_decorations(struct strbuf *sb, while (decoration) { strbuf_addstr(sb, color_commit); strbuf_addstr(sb, prefix); + strbuf_addstr(sb, color_reset); strbuf_addstr(sb, decorate_get_color(use_color, decoration->type)); if (decoration->type == DECORATION_REF_TAG) strbuf_addstr(sb, "tag: "); diff --git a/t/t4207-log-decoration-colors.sh b/t/t4207-log-decoration-colors.sh index 925f577a3c..6b8ad4f5b0 100755 --- a/t/t4207-log-decoration-colors.sh +++ b/t/t4207-log-decoration-colors.sh @@ -44,15 +44,15 @@ test_expect_success setup ' ' cat >expected <