Johannes Sixt <j6t@xxxxxxxx> writes: > To perform the test case on Windows in a way that corresponds to the > POSIX version, inject the semicolon in a directory name. > > Typically, an absolute POSIX style path, such as the one in $PWD, is > translated into a Windows style path by bash when it invokes git.exe. > However, the presence of the semicolon suppresses this translation; > but the untranslated POSIX style path is useless for git.exe. > Therefore, instead of $PWD pass the Windows style path that $(pwd) > produces. > > Signed-off-by: Johannes Sixt <j6t@xxxxxxxx> > --- > Am 12.12.2016 um 20:53 schrieb Jeff King: >> Johannes, please let me know if I am wrong about skipping the test on >> !MINGW. The appropriate check there would be ";" anyway, but I am not >> sure _that_ is allowed in paths, either. > > Here is a version for Windows. I'd prefer this patch on top instead > of squashing it into yours to keep the $PWD vs. $(pwd) explanation. > > The result is the same as yours in all practical matters; but this > version I have already tested. Will queue (I would wait for peff@ to say "OK", but I suspect he would be OK in this case). Thanks. > t/t5547-push-quarantine.sh | 14 ++++++++++---- > 1 file changed, 10 insertions(+), 4 deletions(-) > > diff --git a/t/t5547-push-quarantine.sh b/t/t5547-push-quarantine.sh > index 6275ec807b..af9fcd833a 100755 > --- a/t/t5547-push-quarantine.sh > +++ b/t/t5547-push-quarantine.sh > @@ -33,8 +33,7 @@ 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' ' > +test_expect_success 'push to repo path with path separator (colon)' ' > # 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 +42,20 @@ 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 && > + > + if test_have_prereq MINGW > + then > + pathsep=";" > + else > + pathsep=":" > + fi && > + git clone --bare . "xxx${pathsep}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${pathsep}yyy.git" HEAD > ' > > test_done