On 01 Sep 2015, at 06:37, Torsten Bögershausen <tboegi@xxxxxx> wrote: > On 01/09/15 00:10, larsxschneider@xxxxxxxxx wrote: >> From: Lars Schneider <larsxschneider@xxxxxxxxx> >> >> Signed-off-by: Lars Schneider <larsxschneider@xxxxxxxxx> >> --- >> Documentation/git-p4.txt | 5 +++++ >> git-p4.py | 6 ++++++ >> t/t9821-git-p4-path-encoding.sh | 38 ++++++++++++++++++++++++++++++++++++++ >> 3 files changed, 49 insertions(+) >> create mode 100755 t/t9821-git-p4-path-encoding.sh >> >> <snip> > >> + >> +test_expect_success 'Create a repo containing iso8859-1 encoded paths' ' >> + cd "$cli" && >> + >> + ISO8859="$(printf "$UTF8_ESCAPED" | iconv -f utf-8 -t iso8859-1)" && >> + >"$ISO8859" && >> + p4 add "$ISO8859" && >> + p4 submit -d "test commit" >> +' > Sorry for being persistant, > but you can't create files with names that are ISO-8859-1 encoded under Mac OS, > we end up like this: > > a-%E4_o-%F6_u-%FC.txt You are right. However, my goal is not to create a file with ISO-8859-1 characters in Mac OS. My goal is to create this file in Perforce and this approach seems to work. > > (And I'm still not convinced, that we need to call iconv each time we execute the TC, > for a string that is always the same. > The string can be converted once, and embedded in the TC: > The following should work under Mac OS (but I don't have p4 to test it) > > ISO8859_ESCAPED="a-\303\244_o-\303\266_u-\303\274.txt" > > UTF8_ESCAPED="\141\055\303\203\302\244\137\157\055\303\203\302\266\137\165\055\303\203\302\274\056\164\170\164" > > ISO8859=$(printf "$ISO8859_ESCAPED”) OK. However, how about this? UTF8_ESCAPED="a-\303\244_o-\303\266_u-\303\274.txt" ISO8859_ESCAPED="\141\55\344\137\157\55\366\137\165\55\374\56\164\170\164" # You can generate the ISO8859_ESCAPED with the following command: # printf "$UTF8_ESCAPED" | \ # iconv -f utf-8 -t iso8859-1 | \ # xxd -ps -u -c 1 | xargs bash -c 'for v; do echo "ibase=16; obase=8; $v" | bc; done' bash | \ # tr "\n" "\\" > >> + >> +test_expect_success 'Clone repo containing iso8859-1 encoded paths' ' >> + git p4 clone --destination="$git" --path-encoding=iso8859-1 //depot && >> + test_when_finished cleanup_git && >> + ( >> + cd "$git" && >> + printf "$UTF8_ESCAPED\n" >expect && >> + test_config core.quotepath false && >> + git ls-files >actual && >> + test_cmp expect actual >> + ) >> +' >> > The ls-files can be written shorter (if we like short code) > > + git -c core.quotepath=false ls-files >actual && Fixed. Thank you! -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html