|  | #!/bin/sh | 
|  | # | 
|  | # Copyright (c) 2006 Shawn Pearce | 
|  | # | 
|  |  | 
|  | test_description='mmap sliding window tests' | 
|  | . ./test-lib.sh | 
|  |  | 
|  | test_expect_success \ | 
|  | 'setup' \ | 
|  | 'rm -f .git/index* && | 
|  | for i in a b c | 
|  | do | 
|  | echo $i >$i && | 
|  | test-genrandom "$i" 32768 >>$i && | 
|  | git update-index --add $i || return 1 | 
|  | done && | 
|  | echo d >d && cat c >>d && git update-index --add d && | 
|  | tree=$(git write-tree) && | 
|  | commit1=$(git commit-tree $tree </dev/null) && | 
|  | git update-ref HEAD $commit1 && | 
|  | git repack -a -d && | 
|  | test "$(git count-objects)" = "0 objects, 0 kilobytes" && | 
|  | pack1=$(ls .git/objects/pack/*.pack) && | 
|  | test -f "$pack1"' | 
|  |  | 
|  | test_expect_success \ | 
|  | 'verify-pack -v, defaults' \ | 
|  | 'git verify-pack -v "$pack1"' | 
|  |  | 
|  | test_expect_success \ | 
|  | 'verify-pack -v, packedGitWindowSize == 1 page' \ | 
|  | 'git config core.packedGitWindowSize 512 && | 
|  | git verify-pack -v "$pack1"' | 
|  |  | 
|  | test_expect_success \ | 
|  | 'verify-pack -v, packedGit{WindowSize,Limit} == 1 page' \ | 
|  | 'git config core.packedGitWindowSize 512 && | 
|  | git config core.packedGitLimit 512 && | 
|  | git verify-pack -v "$pack1"' | 
|  |  | 
|  | test_expect_success \ | 
|  | 'repack -a -d, packedGit{WindowSize,Limit} == 1 page' \ | 
|  | 'git config core.packedGitWindowSize 512 && | 
|  | git config core.packedGitLimit 512 && | 
|  | commit2=$(git commit-tree $tree -p $commit1 </dev/null) && | 
|  | git update-ref HEAD $commit2 && | 
|  | git repack -a -d && | 
|  | test "$(git count-objects)" = "0 objects, 0 kilobytes" && | 
|  | pack2=$(ls .git/objects/pack/*.pack) && | 
|  | test -f "$pack2" && | 
|  | test "$pack1" \!= "$pack2"' | 
|  |  | 
|  | test_expect_success \ | 
|  | 'verify-pack -v, defaults' \ | 
|  | 'git config --unset core.packedGitWindowSize && | 
|  | git config --unset core.packedGitLimit && | 
|  | git verify-pack -v "$pack2"' | 
|  |  | 
|  | test_done |