Merge branch 'sg/commit-cleanup-scissors'

"git commit --cleanup=scissors" was not careful enough to protect
against getting fooled by a line that looked like scissors.

* sg/commit-cleanup-scissors:
  commit: cope with scissors lines in commit message
This commit is contained in:
Junio C Hamano
2015-06-24 12:21:55 -07:00
2 changed files with 28 additions and 5 deletions

View File

@ -229,14 +229,36 @@ test_expect_success 'cleanup commit messages (scissors option,-F,-e)' '
cat >text <<EOF &&
# to be kept
# ------------------------ >8 ------------------------
# to be kept, too
# ------------------------ >8 ------------------------
to be removed
# ------------------------ >8 ------------------------
to be removed, too
EOF
cat >expect <<EOF &&
# to be kept
# ------------------------ >8 ------------------------
# to be kept, too
EOF
echo "# to be kept" >expect &&
git commit --cleanup=scissors -e -F text -a &&
git cat-file -p HEAD |sed -e "1,/^\$/d">actual &&
test_cmp expect actual
'
test_expect_success 'cleanup commit messages (scissors option,-F,-e, scissors on first line)' '
echo >>negative &&
cat >text <<EOF &&
# ------------------------ >8 ------------------------
to be removed
EOF
git commit --cleanup=scissors -e -F text -a --allow-empty-message &&
git cat-file -p HEAD |sed -e "1,/^\$/d">actual &&
test_must_be_empty actual
'
test_expect_success 'cleanup commit messages (strip option,-F)' '