Merge branch 'rr/triangle'
[git] / t / t4209-log-pickaxe.sh
1 #!/bin/sh
2
3 test_description='log --grep/--author/--regexp-ignore-case/-S/-G'
4 . ./test-lib.sh
5
6 test_expect_success setup '
7         >file &&
8         git add file &&
9         test_tick &&
10         git commit -m initial &&
11
12         echo Picked >file &&
13         test_tick &&
14         git commit -a --author="Another Person <another@example.com>" -m second
15 '
16
17 test_expect_success 'log --grep' '
18         git log --grep=initial --format=%H >actual &&
19         git rev-parse --verify HEAD^ >expect &&
20         test_cmp expect actual
21 '
22
23 test_expect_success 'log --grep --regexp-ignore-case' '
24         git log --regexp-ignore-case --grep=InItial --format=%H >actual &&
25         git rev-parse --verify HEAD^ >expect &&
26         test_cmp expect actual
27 '
28
29 test_expect_success 'log --grep -i' '
30         git log -i --grep=InItial --format=%H >actual &&
31         git rev-parse --verify HEAD^ >expect &&
32         test_cmp expect actual
33 '
34
35 test_expect_success 'log --author --regexp-ignore-case' '
36         git log --regexp-ignore-case --author=person --format=%H >actual &&
37         git rev-parse --verify HEAD >expect &&
38         test_cmp expect actual
39 '
40
41 test_expect_success 'log --author -i' '
42         git log -i --author=person --format=%H >actual &&
43         git rev-parse --verify HEAD >expect &&
44         test_cmp expect actual
45 '
46
47 test_expect_success 'log -G (nomatch)' '
48         git log -Gpicked --format=%H >actual &&
49         >expect &&
50         test_cmp expect actual
51 '
52
53 test_expect_success 'log -G (match)' '
54         git log -GPicked --format=%H >actual &&
55         git rev-parse --verify HEAD >expect &&
56         test_cmp expect actual
57 '
58
59 test_expect_success 'log -G --regexp-ignore-case (nomatch)' '
60         git log --regexp-ignore-case -Gpickle --format=%H >actual &&
61         >expect &&
62         test_cmp expect actual
63 '
64
65 test_expect_success 'log -G -i (nomatch)' '
66         git log -i -Gpickle --format=%H >actual &&
67         >expect &&
68         test_cmp expect actual
69 '
70
71 test_expect_success 'log -G --regexp-ignore-case (match)' '
72         git log --regexp-ignore-case -Gpicked --format=%H >actual &&
73         git rev-parse --verify HEAD >expect &&
74         test_cmp expect actual
75 '
76
77 test_expect_success 'log -G -i (match)' '
78         git log -i -Gpicked --format=%H >actual &&
79         git rev-parse --verify HEAD >expect &&
80         test_cmp expect actual
81 '
82
83 test_expect_success 'log -S (nomatch)' '
84         git log -Spicked --format=%H >actual &&
85         >expect &&
86         test_cmp expect actual
87 '
88
89 test_expect_success 'log -S (match)' '
90         git log -SPicked --format=%H >actual &&
91         git rev-parse --verify HEAD >expect &&
92         test_cmp expect actual
93 '
94
95 test_expect_success 'log -S --regexp-ignore-case (match)' '
96         git log --regexp-ignore-case -Spicked --format=%H >actual &&
97         git rev-parse --verify HEAD >expect &&
98         test_cmp expect actual
99 '
100
101 test_expect_success 'log -S -i (match)' '
102         git log -i -Spicked --format=%H >actual &&
103         git rev-parse --verify HEAD >expect &&
104         test_cmp expect actual
105 '
106
107 test_expect_success 'log -S --regexp-ignore-case (nomatch)' '
108         git log --regexp-ignore-case -Spickle --format=%H >actual &&
109         >expect &&
110         test_cmp expect actual
111 '
112
113 test_expect_success 'log -S -i (nomatch)' '
114         git log -i -Spickle --format=%H >actual &&
115         >expect &&
116         test_cmp expect actual
117 '
118
119 test_done