diff options
Diffstat (limited to '')
-rwxr-xr-x | t/t5608-clone-2gb.sh | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/t/t5608-clone-2gb.sh b/t/t5608-clone-2gb.sh new file mode 100755 index 0000000..87a8cd9 --- /dev/null +++ b/t/t5608-clone-2gb.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +test_description='Test cloning a repository larger than 2 gigabyte' +. ./test-lib.sh + +if ! test_bool_env GIT_TEST_CLONE_2GB false +then + skip_all='expensive 2GB clone test; enable with GIT_TEST_CLONE_2GB=true' + test_done +fi + +test_expect_success 'setup' ' + + git config pack.compression 0 && + git config pack.depth 0 && + blobsize=$((100*1024*1024)) && + blobcount=$((2*1024*1024*1024/$blobsize+1)) && + i=1 && + (while test $i -le $blobcount + do + printf "Generating blob $i/$blobcount\r" >&2 && + printf "blob\nmark :$i\ndata $blobsize\n" && + #test-tool genrandom $i $blobsize && + printf "%-${blobsize}s" $i && + echo "M 100644 :$i $i" >> commit && + i=$(($i+1)) || + echo $? > exit-status + done && + echo "commit refs/heads/main" && + echo "author A U Thor <author@email.com> 123456789 +0000" && + echo "committer C O Mitter <committer@email.com> 123456789 +0000" && + echo "data 5" && + echo ">2gb" && + cat commit) | + git fast-import --big-file-threshold=2 && + test ! -f exit-status + +' + +test_expect_success 'clone - bare' ' + + git clone --bare --no-hardlinks . clone-bare + +' + +test_expect_success 'clone - with worktree, file:// protocol' ' + + git clone "file://$(pwd)" clone-wt + +' + +test_done |