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

Reply via email to