On Mon, Dec 12, 2016 at 09:53:11PM +0100, Johannes Sixt wrote: > > The appropriate check there would be ";" anyway, but I am not > > sure _that_ is allowed in paths, either. > > That was also my line of thought. I tested earlier today whether a file name > can have ";", and the OS did not reject it bluntly. Let me see whether I can > adjust the test case for Windows. The naive conversion is just: diff --git a/t/t5547-push-quarantine.sh b/t/t5547-push-quarantine.sh index 6275ec807..e195e168b 100755 --- a/t/t5547-push-quarantine.sh +++ b/t/t5547-push-quarantine.sh @@ -33,8 +33,13 @@ test_expect_success 'rejected objects are removed' ' test_cmp expect actual ' -# MINGW does not allow colons in pathnames in the first place -test_expect_success !MINGW 'push to repo path with colon' ' +if test_have_prereq MINGW +then + path_sep=';' +else + path_sep=':' +fi +test_expect_success 'push to repo path with (semi-)colon separator' ' # The interesting failure case here is when the # receiving end cannot access its original object directory, # so make it likely for us to generate a delta by having @@ -43,13 +48,13 @@ test_expect_success !MINGW 'push to repo path with colon' ' test-genrandom foo 4096 >file.bin && git add file.bin && git commit -m bin && - git clone --bare . xxx:yyy.git && + git clone --bare . xxx${path_sep}yyy.git && echo change >>file.bin && git commit -am change && # Note that we have to use the full path here, or it gets confused # with the ssh host:path syntax. - git push "$PWD/xxx:yyy.git" HEAD + git push "$PWD/xxx${path_sep}yyy.git" HEAD ' test_done Does that work? -Peff