aboutsummaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
authorRené Scharfe <rene.scharfe@lsrfire.ath.cx>2012-05-03 08:51:07 +0700
committerJunio C Hamano <gitster@pobox.com>2012-05-03 10:22:57 -0700
commit2158f883d99a92f801534c91294305ccbe171f79 (patch)
tree67eb46d1b30089cd27f179864ad7fff320e37691 /t
parentebf5374afa87afa334b040faec35144c2a3d03d5 (diff)
downloadgit-2158f883d99a92f801534c91294305ccbe171f79.tar.gz
git-2158f883d99a92f801534c91294305ccbe171f79.tar.xz
archive-zip: streaming for stored files
Write a data descriptor containing the CRC of the entry and its sizes after streaming it out. For simplicity, do that only if we're storing files (option -0) for now. t5000 verifies output. t1050 makes sure the command always respects core.bigfilethreshold Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't')
-rwxr-xr-xt/t1050-large.sh4
-rwxr-xr-xt/t5000-tar-tree.sh6
2 files changed, 10 insertions, 0 deletions
diff --git a/t/t1050-large.sh b/t/t1050-large.sh
index fe475542f..9db54b56b 100755
--- a/t/t1050-large.sh
+++ b/t/t1050-large.sh
@@ -138,4 +138,8 @@ test_expect_success 'tar achiving' '
git archive --format=tar HEAD >/dev/null
'
+test_expect_success 'zip achiving, store only' '
+ git archive --format=zip -0 HEAD >/dev/null
+'
+
test_done
diff --git a/t/t5000-tar-tree.sh b/t/t5000-tar-tree.sh
index d9b997f5d..3b54c3862 100755
--- a/t/t5000-tar-tree.sh
+++ b/t/t5000-tar-tree.sh
@@ -244,6 +244,12 @@ test_expect_success UNZIP \
'validate file contents with prefix' \
'diff -r a e/prefix/a'
+test_expect_success UNZIP 'git archive -0 --format=zip on large files' '
+ test_config core.bigfilethreshold 1 &&
+ git archive -0 --format=zip HEAD >large.zip &&
+ (mkdir large && cd large && $UNZIP ../large.zip)
+'
+
test_expect_success \
'git archive --list outside of a git repo' \
'GIT_DIR=some/non-existing/directory git archive --list'