git-checkout: improve error messages, detect ambiguities.
[git/trast.git] / t / t6200-fmt-merge-msg.sh
blobbc74349416d858834c43f6c648daa95c8b9f3a7a
1 #!/bin/sh
3 # Copyright (c) 2006, Junio C Hamano
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
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
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
85 cat >expected <<EOF
86 Merge branch 'left' of ../$test
87 EOF
89 test_expect_success 'merge-msg test #2' '
91 git checkout master &&
92 git fetch ../"$test" left &&
94 git fmt-merge-msg <.git/FETCH_HEAD >actual &&
95 test_cmp expected actual
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
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
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_done