Code

Merge branch 'maint-1.6.1' into maint
[git.git] / t / t4202-log.sh
1 #!/bin/sh
3 test_description='git log'
5 . ./test-lib.sh
7 test_expect_success setup '
9         echo one >one &&
10         git add one &&
11         test_tick &&
12         git commit -m initial &&
14         echo ichi >one &&
15         git add one &&
16         test_tick &&
17         git commit -m second &&
19         git mv one ichi &&
20         test_tick &&
21         git commit -m third &&
23         cp ichi ein &&
24         git add ein &&
25         test_tick &&
26         git commit -m fourth &&
28         mkdir a &&
29         echo ni >a/two &&
30         git add a/two &&
31         test_tick &&
32         git commit -m fifth  &&
34         git rm a/two &&
35         test_tick &&
36         git commit -m sixth
38 '
40 test_expect_success 'diff-filter=A' '
42         actual=$(git log --pretty="format:%s" --diff-filter=A HEAD) &&
43         expect=$(echo fifth ; echo fourth ; echo third ; echo initial) &&
44         test "$actual" = "$expect" || {
45                 echo Oops
46                 echo "Actual: $actual"
47                 false
48         }
50 '
52 test_expect_success 'diff-filter=M' '
54         actual=$(git log --pretty="format:%s" --diff-filter=M HEAD) &&
55         expect=$(echo second) &&
56         test "$actual" = "$expect" || {
57                 echo Oops
58                 echo "Actual: $actual"
59                 false
60         }
62 '
64 test_expect_success 'diff-filter=D' '
66         actual=$(git log --pretty="format:%s" --diff-filter=D HEAD) &&
67         expect=$(echo sixth ; echo third) &&
68         test "$actual" = "$expect" || {
69                 echo Oops
70                 echo "Actual: $actual"
71                 false
72         }
74 '
76 test_expect_success 'diff-filter=R' '
78         actual=$(git log -M --pretty="format:%s" --diff-filter=R HEAD) &&
79         expect=$(echo third) &&
80         test "$actual" = "$expect" || {
81                 echo Oops
82                 echo "Actual: $actual"
83                 false
84         }
86 '
88 test_expect_success 'diff-filter=C' '
90         actual=$(git log -C -C --pretty="format:%s" --diff-filter=C HEAD) &&
91         expect=$(echo fourth) &&
92         test "$actual" = "$expect" || {
93                 echo Oops
94                 echo "Actual: $actual"
95                 false
96         }
98 '
100 test_expect_success 'git log --follow' '
102         actual=$(git log --follow --pretty="format:%s" ichi) &&
103         expect=$(echo third ; echo second ; echo initial) &&
104         test "$actual" = "$expect" || {
105                 echo Oops
106                 echo "Actual: $actual"
107                 false
108         }
112 test_expect_success 'setup case sensitivity tests' '
113         echo case >one &&
114         test_tick &&
115         git add one
116         git commit -a -m Second
119 test_expect_success 'log --grep' '
120         echo second >expect &&
121         git log -1 --pretty="tformat:%s" --grep=sec >actual &&
122         test_cmp expect actual
125 test_expect_success 'log -i --grep' '
126         echo Second >expect &&
127         git log -1 --pretty="tformat:%s" -i --grep=sec >actual &&
128         test_cmp expect actual
131 test_expect_success 'log --grep -i' '
132         echo Second >expect &&
133         git log -1 --pretty="tformat:%s" --grep=sec -i >actual &&
134         test_cmp expect actual
137 test_done