
This reverts commit 489947cee5095b168cbac111ff7bd1eadbbd90dd, which stopped treating merges into the 'master' branch as special when preparing the default merge message. As the goal was not to have any single branch designated as special, it solved it by leaving the "into <branchname>" at the end of the title of the default merge message for any and all branches. An obvious and easy alternative to treat everybody equally could have been to remove it for every branch, but that involves loss of information. We'll introduce a new mechanism to let end-users specify merges into which branches would omit the "into <branchname>" from the title of the default merge message, and make the mechanism, when unconfigured, treat the traditional 'master' special again, so all the changes to the tests we made earlier will become unnecessary, as these tests will be run without configuring the said new mechanism. Signed-off-by: Junio C Hamano <gitster@pobox.com>
61 lines
1.4 KiB
Bash
Executable File
61 lines
1.4 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
test_description='test auto-generated merge messages'
|
|
. ./test-lib.sh
|
|
|
|
check_oneline() {
|
|
echo "$1" | sed "s/Q/'/g" >expect &&
|
|
git log -1 --pretty=tformat:%s >actual &&
|
|
test_cmp expect actual
|
|
}
|
|
|
|
test_expect_success 'merge local branch' '
|
|
test_commit master-1 &&
|
|
git checkout -b local-branch &&
|
|
test_commit branch-1 &&
|
|
git checkout master &&
|
|
test_commit master-2 &&
|
|
git merge local-branch &&
|
|
check_oneline "Merge branch Qlocal-branchQ"
|
|
'
|
|
|
|
test_expect_success 'merge octopus branches' '
|
|
git checkout -b octopus-a master &&
|
|
test_commit octopus-1 &&
|
|
git checkout -b octopus-b master &&
|
|
test_commit octopus-2 &&
|
|
git checkout master &&
|
|
git merge octopus-a octopus-b &&
|
|
check_oneline "Merge branches Qoctopus-aQ and Qoctopus-bQ"
|
|
'
|
|
|
|
test_expect_success 'merge tag' '
|
|
git checkout -b tag-branch master &&
|
|
test_commit tag-1 &&
|
|
git checkout master &&
|
|
test_commit master-3 &&
|
|
git merge tag-1 &&
|
|
check_oneline "Merge tag Qtag-1Q"
|
|
'
|
|
|
|
test_expect_success 'ambiguous tag' '
|
|
git checkout -b ambiguous master &&
|
|
test_commit ambiguous &&
|
|
git checkout master &&
|
|
test_commit master-4 &&
|
|
git merge ambiguous &&
|
|
check_oneline "Merge tag QambiguousQ"
|
|
'
|
|
|
|
test_expect_success 'remote-tracking branch' '
|
|
git checkout -b remote master &&
|
|
test_commit remote-1 &&
|
|
git update-ref refs/remotes/origin/master remote &&
|
|
git checkout master &&
|
|
test_commit master-5 &&
|
|
git merge origin/master &&
|
|
check_oneline "Merge remote-tracking branch Qorigin/masterQ"
|
|
'
|
|
|
|
test_done
|