summaryrefslogtreecommitdiff
path: root/t/t8012-blame-colors.sh
diff options
context:
space:
mode:
authorStefan Beller <sbeller@google.com>2018-04-24 00:08:58 (GMT)
committerJunio C Hamano <gitster@pobox.com>2018-04-24 02:03:13 (GMT)
commitcdc2d5f11f1ab931d2f39fefc6197ea1cab220a6 (patch)
tree349247d8fbb196429e07d1c3af0696219657625d /t/t8012-blame-colors.sh
parent75e5e9c3f7f9615ae2ee38a839aafbbe642a735a (diff)
downloadgit-cdc2d5f11f1ab931d2f39fefc6197ea1cab220a6.zip
git-cdc2d5f11f1ab931d2f39fefc6197ea1cab220a6.tar.gz
git-cdc2d5f11f1ab931d2f39fefc6197ea1cab220a6.tar.bz2
builtin/blame: dim uninteresting metadata lines
When using git-blame lots of lines contain redundant information, for example in hunks that consist of multiple lines, the metadata (commit name, author, date) are repeated. A reader may not be interested in those, so offer an option to color the information that is repeated from the previous line differently. Traditionally, we use CYAN for lines that are less interesting than others (e.g. hunk header), so go with that. The command line option '--color-lines' will trigger the coloring of repeated lines, and the config option 'color.blame.colorLines' is provided to select the color. Setting the config option doesn't imply that repeated lines are colored. A later patch will introduce a config to enable this mode by default. Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t8012-blame-colors.sh')
-rwxr-xr-xt/t8012-blame-colors.sh19
1 files changed, 19 insertions, 0 deletions
diff --git a/t/t8012-blame-colors.sh b/t/t8012-blame-colors.sh
new file mode 100755
index 0000000..98a22a3
--- /dev/null
+++ b/t/t8012-blame-colors.sh
@@ -0,0 +1,19 @@
+#!/bin/sh
+
+test_description='colored git blame'
+. ./test-lib.sh
+
+PROG='git blame -c'
+. "$TEST_DIRECTORY"/annotate-tests.sh
+
+test_expect_success 'colored blame colors contiguous lines' '
+ git -c color.blame.repeatedLines=yellow blame --color-lines --abbrev=12 hello.c >actual.raw &&
+ test_decode_color <actual.raw >actual &&
+ grep "<YELLOW>" <actual >darkened &&
+ grep "(F" darkened > F.expect &&
+ grep "(H" darkened > H.expect &&
+ test_line_count = 2 F.expect &&
+ test_line_count = 3 H.expect
+'
+
+test_done