| #!/bin/sh | |
| test_description='performance of partial clones' | |
| . ./perf-lib.sh | |
| test_perf_default_repo | |
| test_expect_success 'enable server-side config' ' | |
| git config uploadpack.allowFilter true && | |
| git config uploadpack.allowAnySHA1InWant true | |
| ' | |
| test_perf 'clone without blobs' ' | |
| rm -rf bare.git && | |
| git clone --no-local --bare --filter=blob:none . bare.git | |
| ' | |
| test_perf 'checkout of result' ' | |
| rm -rf worktree && | |
| mkdir -p worktree/.git && | |
| tar -C bare.git -cf - . | tar -C worktree/.git -xf - && | |
| git -C worktree config core.bare false && | |
| git -C worktree checkout -f | |
| ' | |
| test_perf 'fsck' ' | |
| git -C bare.git fsck | |
| ' | |
| test_perf 'count commits' ' | |
| git -C bare.git rev-list --all --count | |
| ' | |
| test_perf 'count non-promisor commits' ' | |
| git -C bare.git rev-list --all --count --exclude-promisor-objects | |
| ' | |
| test_perf 'gc' ' | |
| git -C bare.git gc | |
| ' | |
| test_done |