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