On 2016/02/16 15:33 +0900, Eric Wong wrote: > Kazutoshi Satoda wrote: >> Thank you for the tests. But, on my environment, both of them failed >> unexpectedly. (Windows 7 SP1, x86_64 Cygwin, LANG=ja_JP.UTF-8) ... >> > Untracked files: >> > svnrepo/ >> > "\357\202\201\357\202\202" >> > "\357\202\201\357\202\207" ... >> I can't see how "\357\202\201\357\202\202" came as output in the test. > > I wonder if it's a shell or printf portability problem. I've > repushed the branch against master and implemented the weird > character use inside Perl scripts. > > Can you give it a try? (Shouldn't the branch be based on maint, as these are bugfixes?) Thank you. I tried it but got similar problem: > $ ./t9115-git-svn-dcommit-funky-renames.sh -x --run='11-12' (snip) > expecting success: > git config svn.pathnameencoding cp932 && > "$PERL_PATH" -w "$TEST_DIRECTORY"/t9115/neq.perl && > git commit -m "neq" && > git svn dcommit > > ++ git config svn.pathnameencoding cp932 > ++ /usr/bin/perl -w /home/k_satoda/project/git/t/t9115/neq.perl > ++ git commit -m neq > On branch master > > Initial commit > > Untracked files: > svnrepo/ > "\357\202\201\357\202\202" > > nothing added to commit but untracked files present > error: last command exited with $?=1 > not ok 11 - svn.pathnameencoding=cp932 new file on dcommit > # > # git config svn.pathnameencoding cp932 && > # "$PERL_PATH" -w "$TEST_DIRECTORY"/t9115/neq.perl && > # git commit -m "neq" && > # git svn dcommit > # > > expecting success: > "$PERL_PATH" -w "$TEST_DIRECTORY"/t9115/inf.perl > > ++ /usr/bin/perl -w /home/k_satoda/project/git/t/t9115/inf.perl > On branch master > > Initial commit > > Untracked files: > svnrepo/ > "\357\202\201\357\202\202" > "\357\202\201\357\202\207" > > nothing added to commit but untracked files present > git commit -m inf: 256 at /home/k_satoda/project/git/t/t9115/inf.perl line 5. > error: last command exited with $?=1 > not ok 12 - svn.pathnameencoding=cp932 rename on dcommit > # > # "$PERL_PATH" -w "$TEST_DIRECTORY"/t9115/inf.perl > # I found how "\357\202\201\357\202\202" (U+F081 U+F082 in UTF-8) could come. https://cygwin.com/cygwin-ug-net/using-specialnames.html#pathnames-specialchars > Some characters are disallowed in filenames on Windows filesystems. ... ... > ... All of the above characters, except for the backslash, are converted > to special UNICODE characters in the range 0xf000 to 0xf0ff (the > "Private use area") when creating or accessing files. "U+F081 U+F082" seems the result of conversion from "0x8182" (neq in cp932) as treating each of 2 bytes as disallowed characters. And I also noticed that LANG and LC_ALL is set to "C" in test-lib.sh. Setting LC_ALL=C.UTF-8 in the test 11-12 made them pass on Cygwin. Same change made the previous version also pass. Please find the patch in the attached output of git format-patch. Could you please test with this on non-Cygwin environment? If it made no harm, please tell me what should I do to proceed this patch. Will you (Eric) please make further integration? Shall I make another series (v2) of patches? -- k_satoda