Implement line-history search (git log -L)
[git/git.git] / t / perf / p4211-line-log.sh
1 #!/bin/sh
2
3 test_description='Tests log -L performance'
4 . ./perf-lib.sh
5
6 test_perf_default_repo
7
8 # Pick a file to log pseudo-randomly. The sort key is the blob hash,
9 # so it is stable.
10 test_expect_success 'select a file' '
11 git ls-tree HEAD | grep ^100644 |
12 sort -k 3 | head -1 | cut -f 2 >filelist
13 '
14
15 file=$(cat filelist)
16 export file
17
18 test_perf 'git rev-list --topo-order (baseline)' '
19 git rev-list --topo-order HEAD >/dev/null
20 '
21
22 test_perf 'git log --follow (baseline for -M)' '
23 git log --oneline --follow -- "$file" >/dev/null
24 '
25
26 test_perf 'git log -L' '
27 git log -L 1:"$file" >/dev/null
28 '
29
30 test_perf 'git log -M -L' '
31 git log -M -L 1:"$file" >/dev/null
32 '
33
34 test_done