Code

lib-patch-mode.sh: Fix permission
[git.git] / t / t6200-fmt-merge-msg.sh
1 #!/bin/sh
2 #
3 # Copyright (c) 2006, Junio C Hamano
4 #
6 test_description='fmt-merge-msg test'
8 . ./test-lib.sh
10 datestamp=1151939923
11 setdate () {
12         GIT_COMMITTER_DATE="$datestamp +0200"
13         GIT_AUTHOR_DATE="$datestamp +0200"
14         datestamp=`expr "$datestamp" + 1`
15         export GIT_COMMITTER_DATE GIT_AUTHOR_DATE
16 }
18 test_expect_success setup '
19         echo one >one &&
20         git add one &&
21         setdate &&
22         git commit -m "Initial" &&
24         echo uno >one &&
25         echo dos >two &&
26         git add two &&
27         setdate &&
28         git commit -a -m "Second" &&
30         git checkout -b left &&
32         echo $datestamp >one &&
33         setdate &&
34         git commit -a -m "Common #1" &&
36         echo $datestamp >one &&
37         setdate &&
38         git commit -a -m "Common #2" &&
40         git branch right &&
42         echo $datestamp >two &&
43         setdate &&
44         git commit -a -m "Left #3" &&
46         echo $datestamp >two &&
47         setdate &&
48         git commit -a -m "Left #4" &&
50         echo $datestamp >two &&
51         setdate &&
52         git commit -a -m "Left #5" &&
54         git checkout right &&
56         echo $datestamp >three &&
57         git add three &&
58         setdate &&
59         git commit -a -m "Right #3" &&
61         echo $datestamp >three &&
62         setdate &&
63         git commit -a -m "Right #4" &&
65         echo $datestamp >three &&
66         setdate &&
67         git commit -a -m "Right #5" &&
69         git show-branch
70 '
72 cat >expected <<\EOF
73 Merge branch 'left'
74 EOF
76 test_expect_success 'merge-msg test #1' '
78         git checkout master &&
79         git fetch . left &&
81         git fmt-merge-msg <.git/FETCH_HEAD >actual &&
82         test_cmp expected actual
83 '
85 cat >expected <<EOF
86 Merge branch 'left' of $(pwd)
87 EOF
89 test_expect_success 'merge-msg test #2' '
91         git checkout master &&
92         git fetch "$(pwd)" left &&
94         git fmt-merge-msg <.git/FETCH_HEAD >actual &&
95         test_cmp expected actual
96 '
98 cat >expected <<\EOF
99 Merge branch 'left'
101 * left:
102   Left #5
103   Left #4
104   Left #3
105   Common #2
106   Common #1
107 EOF
109 test_expect_success 'merge-msg test #3-1' '
111         git config --unset-all merge.log
112         git config --unset-all merge.summary
113         git config merge.log true &&
115         git checkout master &&
116         setdate &&
117         git fetch . left &&
119         git fmt-merge-msg <.git/FETCH_HEAD >actual &&
120         test_cmp expected actual
123 test_expect_success 'merge-msg test #3-2' '
125         git config --unset-all merge.log
126         git config --unset-all merge.summary
127         git config merge.summary true &&
129         git checkout master &&
130         setdate &&
131         git fetch . left &&
133         git fmt-merge-msg <.git/FETCH_HEAD >actual &&
134         test_cmp expected actual
137 cat >expected <<\EOF
138 Merge branches 'left' and 'right'
140 * left:
141   Left #5
142   Left #4
143   Left #3
144   Common #2
145   Common #1
147 * right:
148   Right #5
149   Right #4
150   Right #3
151   Common #2
152   Common #1
153 EOF
155 test_expect_success 'merge-msg test #4-1' '
157         git config --unset-all merge.log
158         git config --unset-all merge.summary
159         git config merge.log true &&
161         git checkout master &&
162         setdate &&
163         git fetch . left right &&
165         git fmt-merge-msg <.git/FETCH_HEAD >actual &&
166         test_cmp expected actual
169 test_expect_success 'merge-msg test #4-2' '
171         git config --unset-all merge.log
172         git config --unset-all merge.summary
173         git config merge.summary true &&
175         git checkout master &&
176         setdate &&
177         git fetch . left right &&
179         git fmt-merge-msg <.git/FETCH_HEAD >actual &&
180         test_cmp expected actual
183 test_expect_success 'merge-msg test #5-1' '
185         git config --unset-all merge.log
186         git config --unset-all merge.summary
187         git config merge.log yes &&
189         git checkout master &&
190         setdate &&
191         git fetch . left right &&
193         git fmt-merge-msg <.git/FETCH_HEAD >actual &&
194         test_cmp expected actual
197 test_expect_success 'merge-msg test #5-2' '
199         git config --unset-all merge.log
200         git config --unset-all merge.summary
201         git config merge.summary yes &&
203         git checkout master &&
204         setdate &&
205         git fetch . left right &&
207         git fmt-merge-msg <.git/FETCH_HEAD >actual &&
208         test_cmp expected actual
211 test_expect_success 'merge-msg -F' '
213         git config --unset-all merge.log
214         git config --unset-all merge.summary
215         git config merge.summary yes &&
217         git checkout master &&
218         setdate &&
219         git fetch . left right &&
221         git fmt-merge-msg -F .git/FETCH_HEAD >actual &&
222         test_cmp expected actual
225 test_expect_success 'merge-msg -F in subdirectory' '
227         git config --unset-all merge.log
228         git config --unset-all merge.summary
229         git config merge.summary yes &&
231         git checkout master &&
232         setdate &&
233         git fetch . left right &&
234         mkdir sub &&
235         cp .git/FETCH_HEAD sub/FETCH_HEAD &&
236         (
237                 cd sub &&
238                 git fmt-merge-msg -F FETCH_HEAD >../actual
239         ) &&
240         test_cmp expected actual
243 test_done