diff options
author | René Scharfe <l.s.r@web.de> | 2015-08-22 21:06:45 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2015-08-28 08:54:57 -0700 |
commit | 88329ca8091b16f4bb01e3ea546c8c5e1a5016ec (patch) | |
tree | 8ae8ac94f5e67ea5a3bdc6517980ec923ed19684 /t/t5004-archive-corner-cases.sh | |
parent | 0f747f9d37e2b3d7a454029dfcf0065e6914e995 (diff) | |
download | git-88329ca8091b16f4bb01e3ea546c8c5e1a5016ec.tar.gz git-88329ca8091b16f4bb01e3ea546c8c5e1a5016ec.tar.xz |
archive-zip: support more than 65535 entries
Support more than 65535 entries cleanly by writing a "zip64 end of
central directory record" (with a 64-bit field for the number of
entries) before the usual "end of central directory record" (which
contains only a 16-bit field). InfoZIP's zip does the same.
Archives with 65535 or less entries are not affected.
Programs that extract all files like InfoZIP's zip and 7-Zip
ignored the field and could extract all files already. Software
that relies on the ZIP file directory to show a list of contained
files quickly to simulate to normal directory like Windows'
built-in ZIP functionality only saw a subset of the included files.
Windows supports ZIP64 since Vista according to
https://en.wikipedia.org/wiki/Zip_%28file_format%29#ZIP64.
Suggested-by: Johannes Schauer <josch@debian.org>
Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t5004-archive-corner-cases.sh')
-rwxr-xr-x | t/t5004-archive-corner-cases.sh | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/t/t5004-archive-corner-cases.sh b/t/t5004-archive-corner-cases.sh index c6bd7290a..cca23383c 100755 --- a/t/t5004-archive-corner-cases.sh +++ b/t/t5004-archive-corner-cases.sh @@ -122,7 +122,7 @@ test_lazy_prereq ZIPINFO ' test "x$n" = "x0" ' -test_expect_failure ZIPINFO 'zip archive with many entries' ' +test_expect_success ZIPINFO 'zip archive with many entries' ' # add a directory with 256 files mkdir 00 && for a in 0 1 2 3 4 5 6 7 8 9 a b c d e f |