git-commit-vandalism/t/t7604-merge-custom-message.sh
Denton Liu b720e1e3c3 t7604: clean up style
Before, we had some Git commands which were upstream of the pipe. This
meant that if it produced an error, it would've gone unnoticed. Refactor
to place Git commands on their own.

Also, while we're at it, remove spaces after redirection operators.

Helped-by: Eric Sunshine <sunshine@sunshineco.com>
Helped-by: SZEDER Gábor <szeder.dev@gmail.com>
Signed-off-by: Denton Liu <liu.denton@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2019-04-18 13:49:28 +09:00

53 lines
1.0 KiB
Bash
Executable File

#!/bin/sh
test_description='git merge
Testing merge when using a custom message for the merge commit.'
. ./test-lib.sh
create_merge_msgs() {
echo >exp.subject "custom message"
cp exp.subject exp.log &&
echo >>exp.log "" &&
echo >>exp.log "* tag 'c2':" &&
echo >>exp.log " c2"
}
test_expect_success 'setup' '
echo c0 >c0.c &&
git add c0.c &&
git commit -m c0 &&
git tag c0 &&
echo c1 >c1.c &&
git add c1.c &&
git commit -m c1 &&
git tag c1 &&
git reset --hard c0 &&
echo c2 >c2.c &&
git add c2.c &&
git commit -m c2 &&
git tag c2 &&
create_merge_msgs
'
test_expect_success 'merge c2 with a custom message' '
git reset --hard c1 &&
git merge -m "$(cat exp.subject)" c2 &&
git cat-file commit HEAD >raw &&
sed -e "1,/^$/d" raw >actual &&
test_cmp exp.subject actual
'
test_expect_success 'merge --log appends to custom message' '
git reset --hard c1 &&
git merge --log -m "$(cat exp.subject)" c2 &&
git cat-file commit HEAD >raw &&
sed -e "1,/^$/d" raw >actual &&
test_cmp exp.log actual
'
test_done