Code

Merge git://git.kernel.org/pub/scm/gitk/gitk
[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         mkdir a &&
20         echo ni >a/two &&
21         git add a/two &&
22         test_tick &&
23         git commit -m third &&
25         echo san >a/three &&
26         git add a/three &&
27         test_tick &&
28         git commit -m fourth &&
30         git rm a/three &&
31         test_tick &&
32         git commit -m fifth
34 '
36 test_expect_success 'diff-filter=A' '
38         actual=$(git log --pretty="format:%s" --diff-filter=A HEAD) &&
39         expect=$(echo fourth ; echo third ; echo initial) &&
40         test "$actual" = "$expect" || {
41                 echo Oops
42                 echo "Actual: $actual"
43                 false
44         }
46 '
48 test_expect_success 'diff-filter=M' '
50         actual=$(git log --pretty="format:%s" --diff-filter=M HEAD) &&
51         expect=$(echo second) &&
52         test "$actual" = "$expect" || {
53                 echo Oops
54                 echo "Actual: $actual"
55                 false
56         }
58 '
60 test_expect_success 'diff-filter=D' '
62         actual=$(git log --pretty="format:%s" --diff-filter=D HEAD) &&
63         expect=$(echo fifth) &&
64         test "$actual" = "$expect" || {
65                 echo Oops
66                 echo "Actual: $actual"
67                 false
68         }
70 '
72 test_expect_success 'setup case sensitivity tests' '
73         echo case >one &&
74         test_tick &&
75         git commit -a -m Second
76 '
78 test_expect_success 'log --grep' '
79         echo second >expect &&
80         git log -1 --pretty="tformat:%s" --grep=sec >actual &&
81         test_cmp expect actual
82 '
84 test_expect_success 'log -i --grep' '
85         echo Second >expect &&
86         git log -1 --pretty="tformat:%s" -i --grep=sec >actual &&
87         test_cmp expect actual
88 '
90 test_expect_success 'log --grep -i' '
91         echo Second >expect &&
92         git log -1 --pretty="tformat:%s" --grep=sec -i >actual &&
93         test_cmp expect actual
94 '
96 test_done