From 126c186941fe37e1cf69fe2b8d1baca08ef11ae4 Mon Sep 17 00:00:00 2001 From: Stepan Kasal Date: Wed, 9 Apr 2014 16:45:25 +0200 Subject: [PATCH] t4041, t7102: do not pass iso8859-1 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). Fix t4041, t7102 and update an older fix in t4205. Thanks-to: Karsten Blees --- t/t4041-diff-submodule-option.sh | 6 ++++-- t/t4205-log-pretty-formats.sh | 5 +++-- t/t7102-reset.sh | 8 ++++++-- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/t/t4041-diff-submodule-option.sh b/t/t4041-diff-submodule-option.sh index 1751c83307..01e1f9be77 100755 --- a/t/t4041-diff-submodule-option.sh +++ b/t/t4041-diff-submodule-option.sh @@ -23,8 +23,10 @@ add_file () { echo "$name" >"$name" && git add "$name" && test_tick && - msg_added_iso88591=$(echo "Add $name ($added $name)" | iconv -f utf-8 -t iso8859-1) && - git -c 'i18n.commitEncoding=iso8859-1' commit -m "$msg_added_iso88591" + # "git commit -m" would break MinGW, as Windows refuse to pass + # iso8859-1 encoded parameter to git. + echo "Add $name ($added $name)" | iconv -f utf-8 -t iso8859-1 | + git -c 'i18n.commitEncoding=iso8859-1' commit -F - done >/dev/null && git rev-parse --short --verify HEAD ) diff --git a/t/t4205-log-pretty-formats.sh b/t/t4205-log-pretty-formats.sh index ca532d36d2..f27b0b390a 100755 --- a/t/t4205-log-pretty-formats.sh +++ b/t/t4205-log-pretty-formats.sh @@ -28,8 +28,9 @@ test_expect_success 'set up basic repos' ' git add foo && test_tick && git config i18n.commitEncoding iso8859-1 && - commit_msg iso8859-1 > commit_msg && - git commit --file commit_msg && + # "git commit -m" would break MinGW, as Windows refuse to pass + # iso8859-1 encoded parameter to git. + commit_msg iso8859-1 | git commit -F - && git add bar && test_tick && git commit -m "add bar" && diff --git a/t/t7102-reset.sh b/t/t7102-reset.sh index 8d4b50d1b5..b5fa177a54 100755 --- a/t/t7102-reset.sh +++ b/t/t7102-reset.sh @@ -41,7 +41,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=iso8859-1" commit -a -m "$(commit_msg iso8859-1)" && + # "git commit -m" would break MinGW, as Windows refuse to pass + # iso8859-1 encoded parameter to git. + commit_msg iso8859-1 | git -c "i18n.commitEncoding=iso8859-1" commit -a -F - && head5=$(git rev-parse --verify HEAD) ' # git log --pretty=oneline # to see those SHA1 involved @@ -331,7 +333,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=iso8859-1" commit -a -m "$(commit_msg iso8859-1)" && + # "git commit -m" would break MinGW, as Windows refuse to pass + # iso8859-1 encoded parameter to git. + commit_msg iso8859-1 | git -c "i18n.commitEncoding=iso8859-1" commit -a -F - && check_changes $head5 '