|
|
|
@ -4,6 +4,15 @@ test_description='git commit porcelain-ish'
|
|
|
|
|
|
|
|
|
|
. ./test-lib.sh
|
|
|
|
|
|
|
|
|
|
commit_msg_is () {
|
|
|
|
|
expect=commit_msg_is.expect
|
|
|
|
|
actual=commit_msg_is.actual
|
|
|
|
|
|
|
|
|
|
printf "%s" "$(git log --pretty=format:%s%b -1)" >$actual &&
|
|
|
|
|
printf "%s" "$1" >$expect &&
|
|
|
|
|
test_i18ncmp $expect $actual
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# Arguments: [<prefix] [<commit message>] [<commit options>]
|
|
|
|
|
check_summary_oneline() {
|
|
|
|
|
test_tick &&
|
|
|
|
@ -168,7 +177,7 @@ test_expect_success 'verbose respects diff config' '
|
|
|
|
|
git config --unset color.diff
|
|
|
|
|
'
|
|
|
|
|
|
|
|
|
|
test_expect_success 'cleanup commit messages (verbatim,-t)' '
|
|
|
|
|
test_expect_success 'cleanup commit messages (verbatim option,-t)' '
|
|
|
|
|
|
|
|
|
|
echo >>negative &&
|
|
|
|
|
{ echo;echo "# text";echo; } >expect &&
|
|
|
|
@ -178,7 +187,7 @@ test_expect_success 'cleanup commit messages (verbatim,-t)' '
|
|
|
|
|
|
|
|
|
|
'
|
|
|
|
|
|
|
|
|
|
test_expect_success 'cleanup commit messages (verbatim,-F)' '
|
|
|
|
|
test_expect_success 'cleanup commit messages (verbatim option,-F)' '
|
|
|
|
|
|
|
|
|
|
echo >>negative &&
|
|
|
|
|
git commit --cleanup=verbatim -F expect -a &&
|
|
|
|
@ -187,7 +196,7 @@ test_expect_success 'cleanup commit messages (verbatim,-F)' '
|
|
|
|
|
|
|
|
|
|
'
|
|
|
|
|
|
|
|
|
|
test_expect_success 'cleanup commit messages (verbatim,-m)' '
|
|
|
|
|
test_expect_success 'cleanup commit messages (verbatim option,-m)' '
|
|
|
|
|
|
|
|
|
|
echo >>negative &&
|
|
|
|
|
git commit --cleanup=verbatim -m "$(cat expect)" -a &&
|
|
|
|
@ -196,7 +205,7 @@ test_expect_success 'cleanup commit messages (verbatim,-m)' '
|
|
|
|
|
|
|
|
|
|
'
|
|
|
|
|
|
|
|
|
|
test_expect_success 'cleanup commit messages (whitespace,-F)' '
|
|
|
|
|
test_expect_success 'cleanup commit messages (whitespace option,-F)' '
|
|
|
|
|
|
|
|
|
|
echo >>negative &&
|
|
|
|
|
{ echo;echo "# text";echo; } >text &&
|
|
|
|
@ -207,7 +216,7 @@ test_expect_success 'cleanup commit messages (whitespace,-F)' '
|
|
|
|
|
|
|
|
|
|
'
|
|
|
|
|
|
|
|
|
|
test_expect_success 'cleanup commit messages (strip,-F)' '
|
|
|
|
|
test_expect_success 'cleanup commit messages (strip option,-F)' '
|
|
|
|
|
|
|
|
|
|
echo >>negative &&
|
|
|
|
|
{ echo;echo "# text";echo sample;echo; } >text &&
|
|
|
|
@ -218,7 +227,7 @@ test_expect_success 'cleanup commit messages (strip,-F)' '
|
|
|
|
|
|
|
|
|
|
'
|
|
|
|
|
|
|
|
|
|
test_expect_success 'cleanup commit messages (strip,-F,-e)' '
|
|
|
|
|
test_expect_success 'cleanup commit messages (strip option,-F,-e)' '
|
|
|
|
|
|
|
|
|
|
echo >>negative &&
|
|
|
|
|
{ echo;echo sample;echo; } >text &&
|
|
|
|
@ -231,10 +240,71 @@ echo "sample
|
|
|
|
|
# Please enter the commit message for your changes. Lines starting
|
|
|
|
|
# with '#' will be ignored, and an empty message aborts the commit." >expect
|
|
|
|
|
|
|
|
|
|
test_expect_success 'cleanup commit messages (strip,-F,-e): output' '
|
|
|
|
|
test_expect_success 'cleanup commit messages (strip option,-F,-e): output' '
|
|
|
|
|
test_i18ncmp expect actual
|
|
|
|
|
'
|
|
|
|
|
|
|
|
|
|
test_expect_success 'cleanup commit message (fail on invalid cleanup mode option)' '
|
|
|
|
|
test_must_fail git commit --cleanup=non-existent
|
|
|
|
|
'
|
|
|
|
|
|
|
|
|
|
test_expect_success 'cleanup commit message (fail on invalid cleanup mode configuration)' '
|
|
|
|
|
test_must_fail git -c commit.cleanup=non-existent commit
|
|
|
|
|
'
|
|
|
|
|
|
|
|
|
|
test_expect_success 'cleanup commit message (no config and no option uses default)' '
|
|
|
|
|
echo content >>file &&
|
|
|
|
|
git add file &&
|
|
|
|
|
test_set_editor "$TEST_DIRECTORY"/t7500/add-content-and-comment &&
|
|
|
|
|
git commit --no-status &&
|
|
|
|
|
commit_msg_is "commit message"
|
|
|
|
|
'
|
|
|
|
|
|
|
|
|
|
test_expect_success 'cleanup commit message (option overrides default)' '
|
|
|
|
|
echo content >>file &&
|
|
|
|
|
git add file &&
|
|
|
|
|
test_set_editor "$TEST_DIRECTORY"/t7500/add-content-and-comment &&
|
|
|
|
|
git commit --cleanup=whitespace --no-status &&
|
|
|
|
|
commit_msg_is "commit message # comment"
|
|
|
|
|
'
|
|
|
|
|
|
|
|
|
|
test_expect_success 'cleanup commit message (config overrides default)' '
|
|
|
|
|
echo content >>file &&
|
|
|
|
|
git add file &&
|
|
|
|
|
test_set_editor "$TEST_DIRECTORY"/t7500/add-content-and-comment &&
|
|
|
|
|
git -c commit.cleanup=whitespace commit --no-status &&
|
|
|
|
|
commit_msg_is "commit message # comment"
|
|
|
|
|
'
|
|
|
|
|
|
|
|
|
|
test_expect_success 'cleanup commit message (option overrides config)' '
|
|
|
|
|
echo content >>file &&
|
|
|
|
|
git add file &&
|
|
|
|
|
test_set_editor "$TEST_DIRECTORY"/t7500/add-content-and-comment &&
|
|
|
|
|
git -c commit.cleanup=whitespace commit --cleanup=default &&
|
|
|
|
|
commit_msg_is "commit message"
|
|
|
|
|
'
|
|
|
|
|
|
|
|
|
|
test_expect_success 'cleanup commit message (default, -m)' '
|
|
|
|
|
echo content >>file &&
|
|
|
|
|
git add file &&
|
|
|
|
|
git commit -m "message #comment " &&
|
|
|
|
|
commit_msg_is "message #comment"
|
|
|
|
|
'
|
|
|
|
|
|
|
|
|
|
test_expect_success 'cleanup commit message (whitespace option, -m)' '
|
|
|
|
|
echo content >>file &&
|
|
|
|
|
git add file &&
|
|
|
|
|
git commit --cleanup=whitespace --no-status -m "message #comment " &&
|
|
|
|
|
commit_msg_is "message #comment"
|
|
|
|
|
'
|
|
|
|
|
|
|
|
|
|
test_expect_success 'cleanup commit message (whitespace config, -m)' '
|
|
|
|
|
echo content >>file &&
|
|
|
|
|
git add file &&
|
|
|
|
|
git -c commit.cleanup=whitespace commit --no-status -m "message #comment " &&
|
|
|
|
|
commit_msg_is "message #comment"
|
|
|
|
|
'
|
|
|
|
|
|
|
|
|
|
test_expect_success 'message shows author when it is not equal to committer' '
|
|
|
|
|
echo >>negative &&
|
|
|
|
|
git commit -e -m "sample" -a &&
|
|
|
|
|