summaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
authorRené Scharfe <l.s.r@web.de>2017-04-24 17:33:34 (GMT)
committerJunio C Hamano <gitster@pobox.com>2017-04-25 05:10:51 (GMT)
commit4cdf3f9d84568da72f1dcade812de7a42ecb6d15 (patch)
treeee733137bc2857d624e12c6cdd2a357fb5a69302 /t
parentaf95749f9b06467e7536da24432b00989a7c8c5a (diff)
downloadgit-4cdf3f9d84568da72f1dcade812de7a42ecb6d15.zip
git-4cdf3f9d84568da72f1dcade812de7a42ecb6d15.tar.gz
git-4cdf3f9d84568da72f1dcade812de7a42ecb6d15.tar.bz2
archive-zip: support files bigger than 4GB
Write a zip64 extended information extra field for big files as part of their local headers and as part of their central directory headers. Also write a zip64 version of the data descriptor in that case. If we're streaming then we don't know the compressed size at the time we write the header. Deflate can end up making a file bigger instead of smaller if we're unlucky. Write a local zip64 header already for files with a size of 2GB or more in this case to be on the safe side. Both sizes need to be included in the local zip64 header, but the extra field for the directory must only contain 64-bit equivalents for 32-bit values of 0xffffffff. Signed-off-by: Rene Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't')
-rwxr-xr-xt/t5004-archive-corner-cases.sh2
1 files changed, 1 insertions, 1 deletions
diff --git a/t/t5004-archive-corner-cases.sh b/t/t5004-archive-corner-cases.sh
index 41183ea..9106c53 100755
--- a/t/t5004-archive-corner-cases.sh
+++ b/t/t5004-archive-corner-cases.sh
@@ -178,7 +178,7 @@ test_expect_success EXPENSIVE,UNZIP 'zip archive bigger than 4GB' '
"$GIT_UNZIP" -t many-big.zip
'
-test_expect_failure EXPENSIVE,UNZIP,ZIPINFO 'zip archive with files bigger than 4GB' '
+test_expect_success EXPENSIVE,UNZIP,ZIPINFO 'zip archive with files bigger than 4GB' '
# Pack created with:
# dd if=/dev/zero of=file bs=1M count=4100 && git hash-object -w file
mkdir -p .git/objects/pack &&