Browse Source

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>
maint
Pat Thoyts 12 years ago committed by Junio C Hamano
parent
commit
e6ce2be2d7
  1. 6
      t/t4041-diff-submodule-option.sh
  2. 2
      t/t4205-log-pretty-formats.sh
  3. 4
      t/t6006-rev-list-format.sh
  4. 8
      t/t7102-reset.sh

6
t/t4041-diff-submodule-option.sh

@ -26,8 +26,10 @@ add_file () { @@ -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
)

2
t/t4205-log-pretty-formats.sh

@ -31,7 +31,7 @@ test_expect_success 'set up basic repos' ' @@ -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" &&

4
t/t6006-rev-list-format.sh

@ -35,13 +35,13 @@ test_expect_success 'setup' ' @@ -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:) &&

8
t/t7102-reset.sh

@ -44,7 +44,9 @@ test_expect_success 'creating initial files and commits' ' @@ -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' ' @@ -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…
Cancel
Save