{"thread":{"id":"66321","subject":"[PATCH 0/2] mingw: fix perl related test failures","startedAt":"2026-09-13T19:11:10Z","lastAt":"2026-09-13T19:11:14Z","messageCount":3,"participants":["Johannes Schindelin via GitGitGadget"],"isPatch":true,"patchVersion":1,"patchTotal":2},"messages":[{"id":"552647","messageId":"pull.2227.git.1789326667.gitgitgadget@gmail.com","threadId":"66321","inReplyTo":null,"subject":"[PATCH 0/2] mingw: fix perl related test failures","fromName":"Johannes Schindelin via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2026-09-13T19:11:05Z","receivedAt":"2026-09-13T19:11:10Z","isPatch":true,"body":"For performance reasons (and also because we retired support for git svn in\nGit for Windows), Perl-related tests are skipped from the CI builds. As can\nbe expected, this caused some bit-rot.\n\nWhile this is not exactly -rc1 material, in preparing for Git for Windows\nv2.56.0-rc0 I did run the entire test suite on Windows/ARM64 and these were\nthe only two bugs that needed fixing.\n\nJohannes Schindelin (2):\n  t9700: accommodate for MSYS2 Perl reporting as `cygwin`\n  t9129: skip UTF-8 tests on Windows\n\n t/t9129-git-svn-i18n-commitencoding.sh | 4 ++--\n t/t9700/test.pl                        | 2 +-\n 2 files changed, 3 insertions(+), 3 deletions(-)\n\n\nbase-commit: b8242b093d9e941a34460d715e3ce616a34ac3fe\nPublished-As: https://github.com/gitgitgadget/git/releases/tag/pr-2227%2Fdscho%2Ffix-perl-related-test-failures-on-windows-v1\nFetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-2227/dscho/fix-perl-related-test-failures-on-windows-v1\nPull-Request: https://github.com/gitgitgadget/git/pull/2227\n-- \ngitgitgadget\n"},{"id":"552648","messageId":"516441dd13710d5ea016fe1905e702314933e89a.1789326667.git.gitgitgadget@gmail.com","threadId":"66321","inReplyTo":"pull.2227.git.1789326667.gitgitgadget@gmail.com","subject":"[PATCH 1/2] t9700: accommodate for MSYS2 Perl reporting as `cygwin`","fromName":"Johannes Schindelin via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2026-09-13T19:11:06Z","receivedAt":"2026-09-13T19:11:12Z","isPatch":true,"body":"From: Johannes Schindelin <johannes.schindelin@gmx.de>\n\nAs of a year or two ago, there is this push to align MSYS2 more closely\nwith Cygwin, so as to benefit from a closer collaboration. Part of that\nis that the triplet `x86_64-pc-cygwin` is used nowadays, whereas it had\nbeen `x86_64-pc-msys` previously. Likewise, Perl now reports `$^O` as\n`cygwin` instead of `msys`.\n\nThe Perl module test used `msys` as tell-tale when to accommodate for a\nnative Windows version of `git.exe` which would report absolute\n_Windows_ paths rather than those pseudo-Unix paths. We cannot use that\ntell-tale anymore, and we also cannot adjust it to `cygwin` because that\nwould break in Cygwin (where `git.exe` reports absolute pseudo-Unix\npaths).\n\nLet's use the environment variable `MSYSTEM` instead (being mindful that\nthe `MSYSTEM=MSYS` variant would _also_ reflect a setup where `git.exe`\nwon't report absolute _Windows_ paths).\n\nSigned-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>\n---\n t/t9700/test.pl | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n\ndiff --git a/t/t9700/test.pl b/t/t9700/test.pl\nindex f83e6169e2..43a6dc266e 100755\n--- a/t/t9700/test.pl\n+++ b/t/t9700/test.pl\n@@ -118,7 +118,7 @@ unlink $tmpfile;\n \n # paths\n my $abs_git_dir = $abs_repo_dir . \"/.git\";\n-if ($^O eq 'msys') {\n+if (defined $ENV{MSYSTEM} && $ENV{MSYSTEM} ne 'MSYS') {\n   $abs_git_dir = `cygpath -am \"$abs_repo_dir/.git\"`;\n   $abs_git_dir =~ s/\\r?\\n?$//;\n }\n-- \ngitgitgadget\n\n"},{"id":"552649","messageId":"8d065f1b4f6f2a40cd9154cac460ef9dbc959488.1789326667.git.gitgitgadget@gmail.com","threadId":"66321","inReplyTo":"pull.2227.git.1789326667.gitgitgadget@gmail.com","subject":"[PATCH 2/2] t9129: skip UTF-8 tests on Windows","fromName":"Johannes Schindelin via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2026-09-13T19:11:07Z","receivedAt":"2026-09-13T19:11:14Z","isPatch":true,"body":"From: Johannes Schindelin <johannes.schindelin@gmx.de>\n\nThe assumption of this test is that Perl and Git have the same idea how\nto perform encoding conversions.\n\nHowever, in Git for Windows, Git is a native Win32 program, and such\nprograms have a very different concept of encodings (called \"Code\nPages\", and they are not controlled via environment variables at all),\nwhereas the Perl interpreter used in Git for Windows is a pseudo-Unix\none that uses the MSYS2 runtime (which _does_ try very much to abide by\nUnix' `LC_ALL` and friends, and totally ignores Windows' current or\nactive code pages).\n\nAs such, these test cases _cannot_ work with Git for Windows. So let's\njust skip them on that platform.\n\nSigned-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>\n---\n t/t9129-git-svn-i18n-commitencoding.sh | 4 ++--\n 1 file changed, 2 insertions(+), 2 deletions(-)\n\ndiff --git a/t/t9129-git-svn-i18n-commitencoding.sh b/t/t9129-git-svn-i18n-commitencoding.sh\nindex 01e1e8a8f7..f72a425dc1 100755\n--- a/t/t9129-git-svn-i18n-commitencoding.sh\n+++ b/t/t9129-git-svn-i18n-commitencoding.sh\n@@ -71,7 +71,7 @@ do\n \t'\n done\n \n-test_expect_success UTF8 'ISO-8859-1 should match UTF-8 in svn' '\n+test_expect_success UTF8,!MINGW 'ISO-8859-1 should match UTF-8 in svn' '\n \t(\n \t\tcd ISO8859-1 &&\n \t\tcompare_svn_head_with \"$TEST_DIRECTORY\"/t3900/1-UTF-8.txt\n@@ -80,7 +80,7 @@ test_expect_success UTF8 'ISO-8859-1 should match UTF-8 in svn' '\n \n for H in eucJP ISO-2022-JP\n do\n-\ttest_expect_success UTF8 \"$H should match UTF-8 in svn\" '\n+\ttest_expect_success UTF8,!MINGW \"$H should match UTF-8 in svn\" '\n \t\t(\n \t\t\tcd $H &&\n \t\t\tcompare_svn_head_with \"$TEST_DIRECTORY\"/t3900/2-UTF-8.txt\n-- \ngitgitgadget\n"}]}