Fix up "git log --follow" a bit..
[git/jnareb-git.git] / t / t6200-fmt-merge-msg.sh
blob526d7d1c4422e342c7257e260626dac3dda36a3a
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 git diff actual expected
85 cat >expected <<\EOF
86 Merge branch 'left' of ../trash
87 EOF
89 test_expect_success 'merge-msg test #2' '
91 git checkout master &&
92 git fetch ../trash left &&
94 git fmt-merge-msg <.git/FETCH_HEAD >actual &&
95 git diff actual expected
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' '
111 git config merge.summary true &&
113 git checkout master &&
114 setdate &&
115 git fetch . left &&
117 git fmt-merge-msg <.git/FETCH_HEAD >actual &&
118 git diff actual expected
121 cat >expected <<\EOF
122 Merge branches 'left' and 'right'
124 * left:
125 Left #5
126 Left #4
127 Left #3
128 Common #2
129 Common #1
131 * right:
132 Right #5
133 Right #4
134 Right #3
135 Common #2
136 Common #1
139 test_expect_success 'merge-msg test #4' '
141 git config merge.summary true &&
143 git checkout master &&
144 setdate &&
145 git fetch . left right &&
147 git fmt-merge-msg <.git/FETCH_HEAD >actual &&
148 git diff actual expected
151 test_expect_success 'merge-msg test #5' '
153 git config merge.summary yes &&
155 git checkout master &&
156 setdate &&
157 git fetch . left right &&
159 git fmt-merge-msg <.git/FETCH_HEAD >actual &&
160 git diff actual expected
163 test_done