On 2017-04-24 19:22, René Scharfe wrote:
> The first patch adds (expensive) tests, the next two are cleanups which
> set the stage for the remaining two to actually implement zip64 support
> for offsets and file sizes.
>
> Half of the series had been laying around for months, half-finished and
> forgotten because I got distracted by the holiday season. :-/
>
> archive-zip: add tests for big ZIP archives
> archive-zip: use strbuf for ZIP directory
> archive-zip: write ZIP dir entry directly to strbuf
> archive-zip: support archives bigger than 4GB
> archive-zip: support files bigger than 4GB
>
> archive-zip.c | 211
> ++++++++++++++++++++++++----------------
> t/t5004-archive-corner-cases.sh | 45 +++++++++
> t/t5004/big-pack.zip | Bin 0 -> 7373 bytes
> 3 files changed, 172 insertions(+), 84 deletions(-)
> create mode 100644 t/t5004/big-pack.zip
>
This fails here under Mac OS:
commit 4cdf3f9d84568da72f1dcade812de7a42ecb6d15
Author: René Scharfe <[email protected]>
Date: Mon Apr 24 19:33:34 2017 +0200
archive-zip: support files bigger than 4GB
---------------------------
Parts of t5004.log, hope this is helpful:
"$GIT_UNZIP" -t many-big.zip
Archive: many-big.zip
warning [many-big.zip]: 577175 extra bytes at beginning or within zipfile
(attempting to process anyway)
error [many-big.zip]: start of central directory not found;
zipfile corrupt.
(please check that you have transferred or created the zipfile in the
appropriate BINARY mode and that you have compiled UnZip properly)
not ok 12 - zip archive bigger than 4GB
#
# # build string containing 65536 characters