mirror of
https://github.com/git/git.git
synced 2025-03-25 03:30:32 +00:00
tests: do not pass iso8859-1 encoded parameter
git commit -m with some iso8859-1 encoded stuff is doomed to fail in MinGW, because Windows don't let you pass encoded bytes to a process (CreateProcessW always takes a UTF-16LE encoded string). It is safe to pass the iso8859-1 message using a file or a pipe. Thanks-to: Karsten Blees <blees@dcon.de> Author: Stepan Kasal <kasal@ucw.cz> Signed-off-by: Stepan Kasal <kasal@ucw.cz> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
0217569bb2
commit
e6ce2be2d7
@ -26,8 +26,10 @@ add_file () {
|
||||
echo "$name" >"$name" &&
|
||||
git add "$name" &&
|
||||
test_tick &&
|
||||
msg_added_iso88591=$(echo "Add $name ($added $name)" | iconv -f utf-8 -t $test_encoding) &&
|
||||
git -c "i18n.commitEncoding=$test_encoding" commit -m "$msg_added_iso88591"
|
||||
# "git commit -m" would break MinGW, as Windows refuse to pass
|
||||
# $test_encoding encoded parameter to git.
|
||||
echo "Add $name ($added $name)" | iconv -f utf-8 -t $test_encoding |
|
||||
git -c "i18n.commitEncoding=$test_encoding" commit -F -
|
||||
done >/dev/null &&
|
||||
git rev-parse --short --verify HEAD
|
||||
)
|
||||
|
@ -31,7 +31,7 @@ test_expect_success 'set up basic repos' '
|
||||
git add foo &&
|
||||
test_tick &&
|
||||
git config i18n.commitEncoding $test_encoding &&
|
||||
git commit -m "$(commit_msg $test_encoding)" &&
|
||||
commit_msg $test_encoding | git commit -F - &&
|
||||
git add bar &&
|
||||
test_tick &&
|
||||
git commit -m "add bar" &&
|
||||
|
@ -35,13 +35,13 @@ test_expect_success 'setup' '
|
||||
: >foo &&
|
||||
git add foo &&
|
||||
git config i18n.commitEncoding $test_encoding &&
|
||||
git commit -m "$added_iso88591" &&
|
||||
echo "$added_iso88591" | git commit -F - &&
|
||||
head1=$(git rev-parse --verify HEAD) &&
|
||||
head1_short=$(git rev-parse --verify --short $head1) &&
|
||||
tree1=$(git rev-parse --verify HEAD:) &&
|
||||
tree1_short=$(git rev-parse --verify --short $tree1) &&
|
||||
echo "$changed" > foo &&
|
||||
git commit -a -m "$changed_iso88591" &&
|
||||
echo "$changed_iso88591" | git commit -a -F - &&
|
||||
head2=$(git rev-parse --verify HEAD) &&
|
||||
head2_short=$(git rev-parse --verify --short $head2) &&
|
||||
tree2=$(git rev-parse --verify HEAD:) &&
|
||||
|
@ -44,7 +44,9 @@ test_expect_success 'creating initial files and commits' '
|
||||
|
||||
echo "1st line 2nd file" >secondfile &&
|
||||
echo "2nd line 2nd file" >>secondfile &&
|
||||
git -c "i18n.commitEncoding=$test_encoding" commit -a -m "$(commit_msg $test_encoding)" &&
|
||||
# "git commit -m" would break MinGW, as Windows refuse to pass
|
||||
# $test_encoding encoded parameter to git.
|
||||
commit_msg $test_encoding | git -c "i18n.commitEncoding=$test_encoding" commit -a -F - &&
|
||||
head5=$(git rev-parse --verify HEAD)
|
||||
'
|
||||
# git log --pretty=oneline # to see those SHA1 involved
|
||||
@ -334,7 +336,9 @@ test_expect_success 'redoing the last two commits should succeed' '
|
||||
|
||||
echo "1st line 2nd file" >secondfile &&
|
||||
echo "2nd line 2nd file" >>secondfile &&
|
||||
git -c "i18n.commitEncoding=$test_encoding" commit -a -m "$(commit_msg $test_encoding)" &&
|
||||
# "git commit -m" would break MinGW, as Windows refuse to pass
|
||||
# $test_encoding encoded parameter to git.
|
||||
commit_msg $test_encoding | git -c "i18n.commitEncoding=$test_encoding" commit -a -F - &&
|
||||
check_changes $head5
|
||||
'
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user