]>
Commit | Line | Data |
---|---|---|
01e0d545 RS |
1 | #!/bin/sh |
2 | ||
3 | test_description='Test fsck skipList performance' | |
4 | ||
5 | . ./perf-lib.sh | |
6 | ||
7 | test_perf_fresh_repo | |
8 | ||
9 | n=1000000 | |
10 | ||
11 | test_expect_success "setup $n bad commits" ' | |
12 | for i in $(test_seq 1 $n) | |
13 | do | |
14 | echo "commit refs/heads/master" && | |
15 | echo "committer C <c@example.com> 1234567890 +0000" && | |
16 | echo "data <<EOF" && | |
17 | echo "$i.Q." && | |
db5875aa | 18 | echo "EOF" || return 1 |
01e0d545 RS |
19 | done | q_to_nul | git fast-import |
20 | ' | |
21 | ||
22 | skip=0 | |
23 | while test $skip -le $n | |
24 | do | |
25 | test_expect_success "create skipList for $skip bad commits" ' | |
26 | git log --format=%H --max-count=$skip | | |
27 | sort >skiplist | |
28 | ' | |
29 | ||
30 | test_perf "fsck with $skip skipped bad commits" ' | |
31 | git -c fsck.skipList=skiplist fsck | |
32 | ' | |
33 | ||
34 | case $skip in | |
35 | 0) skip=1 ;; | |
36 | *) skip=${skip}0 ;; | |
37 | esac | |
38 | done | |
39 | ||
40 | test_done |