Adam Dinwoodie <adam@xxxxxxxxxxxxx> writes: >> diff --git a/t/t5003-archive-zip.sh b/t/t5003-archive-zip.sh >> index d6027189e2..3992d08158 100755 >> --- a/t/t5003-archive-zip.sh >> +++ b/t/t5003-archive-zip.sh >> @@ -207,13 +207,21 @@ check_zip with_untracked >> check_added with_untracked untracked untracked >> >> test_expect_success UNZIP 'git archive --format=zip --add-virtual-file' ' >> + if test_have_prereq FUNNYNAMES >> + then >> + PATHNAME="pathname with : colon" >> + else >> + PATHNAME="pathname without colon" >> + fi && >> git archive --format=zip >with_file_with_content.zip \ >> + --add-virtual-file=\""$PATHNAME"\": \ >> --add-virtual-file=hello:world $EMPTY_TREE && >> test_when_finished "rm -rf tmp-unpack" && >> mkdir tmp-unpack && ( >> cd tmp-unpack && >> "$GIT_UNZIP" ../with_file_with_content.zip && >> test_path_is_file hello && >> + test_path_is_file "$PATHNAME" && >> test world = $(cat hello) >> ) >> ' > > This test is currently failing on Cygwin: it looks like it's exposing a > bug in Cygwin that means files with colons in their name aren't > correctly extracted from zip archives. I'm going to report that to the > Cygwin mailing list, but I wanted to note it for the record here, too. Does this mean that our code to set FUNNYNAMES prerequiste is slightly broken? IOW, should we check with a path with a colon in it, as well as whatever we use currently for FUNNYNAMES? Something like the attached patch? Or does Cygwin otherwise work perfectly well with a path with a colon in it, but only $GIT_UNZIP command has problem with it? If that is the case, then please disregard the attached. Thanks. t/test-lib.sh | 1 + 1 file changed, 1 insertion(+) diff --git i/t/test-lib.sh w/t/test-lib.sh index 55857af601..5dce7d95c9 100644 --- i/t/test-lib.sh +++ w/t/test-lib.sh @@ -1620,6 +1620,7 @@ test_lazy_prereq FUNNYNAMES ' touch -- \ "FUNNYNAMES tab embedded" \ "FUNNYNAMES \"quote embedded\"" \ + "FUNNYNAMES colon : embedded" \ "FUNNYNAMES newline embedded" 2>/dev/null && rm -- \