3 test_description
='log --grep/--author/--regexp-ignore-case/-S/-G'
30 test_expect_success
"log $kind${rest:+ $rest} ($match)" "
31 git log $rest $opt --format=%H >actual &&
32 test_cmp $expect actual
36 # test -i and --regexp-ignore-case and expect both to behave the same way
38 test_log $@
--regexp-ignore-case
42 test_expect_success setup
'
48 git commit -m initial &&
49 git rev-parse --verify HEAD >expect_initial &&
54 git commit --author="Another Person <another@example.com>" -m second &&
55 git rev-parse --verify HEAD >expect_second
58 test_expect_success
'log --grep' '
59 git log --grep=initial --format=%H >actual &&
60 test_cmp expect_initial actual
63 test_expect_success
'log --grep --regexp-ignore-case' '
64 git log --regexp-ignore-case --grep=InItial --format=%H >actual &&
65 test_cmp expect_initial actual
68 test_expect_success
'log --grep -i' '
69 git log -i --grep=InItial --format=%H >actual &&
70 test_cmp expect_initial actual
73 test_expect_success
'log --author --regexp-ignore-case' '
74 git log --regexp-ignore-case --author=person --format=%H >actual &&
75 test_cmp expect_second actual
78 test_expect_success
'log --author -i' '
79 git log -i --author=person --format=%H >actual &&
80 test_cmp expect_second actual
83 test_log expect_nomatch
-G picked
84 test_log expect_second
-G Picked
85 test_log_icase expect_nomatch
-G pickle
86 test_log_icase expect_second
-G picked
88 test_expect_success
'log -G --textconv (missing textconv tool)' '
89 echo "* diff=test" >.gitattributes &&
90 test_must_fail git -c diff.test.textconv=missing log -Gfoo &&
94 test_expect_success
'log -G --no-textconv (missing textconv tool)' '
95 echo "* diff=test" >.gitattributes &&
96 git -c diff.test.textconv=missing log -Gfoo --no-textconv >actual &&
97 test_cmp expect_nomatch actual &&
101 test_log expect_nomatch
-S picked
102 test_log expect_second
-S Picked
103 test_log_icase expect_second
-S picked
104 test_log_icase expect_nomatch
-S pickle
106 test_expect_success
'log -S --textconv (missing textconv tool)' '
107 echo "* diff=test" >.gitattributes &&
108 test_must_fail git -c diff.test.textconv=missing log -Sfoo &&
112 test_expect_success
'log -S --no-textconv (missing textconv tool)' '
113 echo "* diff=test" >.gitattributes &&
114 git -c diff.test.textconv=missing log -Sfoo --no-textconv >actual &&
115 test_cmp expect_nomatch actual &&