@matheusbsbs / matheus-bagliano / commits / ce06461846
Fork 0

add tests for merge message headings

When calling "git merge $X", we automatically generate a commit message containing something like "Merge branch '$X'". This test script checks that those messages say what they should, and exposes a failure when merging a refname that is ambiguous between a tag and a branch. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Jeff King committed Aug 9, 2009 at 06:01 UTC ce0646184696ae6d87c0e243d058cf5df6459c4f
1 file changed +50
t/t7608-merge-messages.sh new
+50
@@ -0,0 +1,50 @@
1 +#!/bin/sh
2 +
3 +test_description='test auto-generated merge messages'
4 +. ./test-lib.sh
5 +
6 +check_oneline() {
7 + echo "$1" | sed "s/Q/'/g" >expect &&
8 + git log -1 --pretty=tformat:%s >actual &&
9 + test_cmp expect actual
10 +}
11 +
12 +test_expect_success 'merge local branch' '
13 + test_commit master-1 &&
14 + git checkout -b local-branch &&
15 + test_commit branch-1 &&
16 + git checkout master &&
17 + test_commit master-2 &&
18 + git merge local-branch &&
19 + check_oneline "Merge branch Qlocal-branchQ"
20 +'
21 +
22 +test_expect_success 'merge octopus branches' '
23 + git checkout -b octopus-a master &&
24 + test_commit octopus-1 &&
25 + git checkout -b octopus-b master &&
26 + test_commit octopus-2 &&
27 + git checkout master &&
28 + git merge octopus-a octopus-b &&
29 + check_oneline "Merge branches Qoctopus-aQ and Qoctopus-bQ"
30 +'
31 +
32 +test_expect_success 'merge tag' '
33 + git checkout -b tag-branch master &&
34 + test_commit tag-1 &&
35 + git checkout master &&
36 + test_commit master-3 &&
37 + git merge tag-1 &&
38 + check_oneline "Merge commit Qtag-1Q"
39 +'
40 +
41 +test_expect_failure 'ambiguous tag' '
42 + git checkout -b ambiguous master &&
43 + test_commit ambiguous &&
44 + git checkout master &&
45 + test_commit master-4 &&
46 + git merge ambiguous &&
47 + check_oneline "Merge commit QambiguousQ"
48 +'
49 +
50 +test_done