3 test_description
='git log'
7 test_expect_success setup
'
12 git commit -m initial &&
17 git commit -m second &&
21 git commit -m third &&
26 git commit -m fourth &&
32 git commit -m fifth &&
40 printf "sixth\nfifth\nfourth\nthird\nsecond\ninitial" > expect
41 test_expect_success
'pretty' '
43 git log --pretty="format:%s" > actual &&
44 test_cmp expect actual
47 printf "sixth\nfifth\nfourth\nthird\nsecond\ninitial\n" > expect
48 test_expect_success
'pretty (tformat)' '
50 git log --pretty="tformat:%s" > actual &&
51 test_cmp expect actual
54 test_expect_success
'pretty (shortcut)' '
56 git log --pretty="%s" > actual &&
57 test_cmp expect actual
60 test_expect_success
'format' '
62 git log --format="%s" > actual &&
63 test_cmp expect actual
74 test_expect_success
'oneline' '
76 git log --oneline > actual &&
77 test_cmp expect actual
80 test_expect_success
'diff-filter=A' '
82 actual=$(git log --pretty="format:%s" --diff-filter=A HEAD) &&
83 expect=$(echo fifth ; echo fourth ; echo third ; echo initial) &&
84 test "$actual" = "$expect" || {
86 echo "Actual: $actual"
92 test_expect_success
'diff-filter=M' '
94 actual=$(git log --pretty="format:%s" --diff-filter=M HEAD) &&
95 expect=$(echo second) &&
96 test "$actual" = "$expect" || {
98 echo "Actual: $actual"
104 test_expect_success
'diff-filter=D' '
106 actual=$(git log --pretty="format:%s" --diff-filter=D HEAD) &&
107 expect=$(echo sixth ; echo third) &&
108 test "$actual" = "$expect" || {
110 echo "Actual: $actual"
116 test_expect_success
'diff-filter=R' '
118 actual=$(git log -M --pretty="format:%s" --diff-filter=R HEAD) &&
119 expect=$(echo third) &&
120 test "$actual" = "$expect" || {
122 echo "Actual: $actual"
128 test_expect_success
'diff-filter=C' '
130 actual=$(git log -C -C --pretty="format:%s" --diff-filter=C HEAD) &&
131 expect=$(echo fourth) &&
132 test "$actual" = "$expect" || {
134 echo "Actual: $actual"
140 test_expect_success
'git log --follow' '
142 actual=$(git log --follow --pretty="format:%s" ichi) &&
143 expect=$(echo third ; echo second ; echo initial) &&
144 test "$actual" = "$expect" || {
146 echo "Actual: $actual"
152 test_expect_success
'setup case sensitivity tests' '
156 git commit -a -m Second
159 test_expect_success
'log --grep' '
160 echo second >expect &&
161 git log -1 --pretty="tformat:%s" --grep=sec >actual &&
162 test_cmp expect actual
165 test_expect_success
'log -i --grep' '
166 echo Second >expect &&
167 git log -1 --pretty="tformat:%s" -i --grep=sec >actual &&
168 test_cmp expect actual
171 test_expect_success
'log --grep -i' '
172 echo Second >expect &&
173 git log -1 --pretty="tformat:%s" --grep=sec -i >actual &&
174 test_cmp expect actual