42 lines
		
	
	
	
		
			917 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
	
		
			917 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
#!/bin/sh
 | 
						|
 | 
						|
test_description='Tests log -L performance'
 | 
						|
. ./perf-lib.sh
 | 
						|
 | 
						|
test_perf_default_repo
 | 
						|
 | 
						|
# Pick a file to log pseudo-randomly.  The sort key is the blob hash,
 | 
						|
# so it is stable.
 | 
						|
test_expect_success 'select a file' '
 | 
						|
	git ls-tree HEAD | grep ^100644 |
 | 
						|
	sort -k 3 | head -1 | cut -f 2 >filelist
 | 
						|
'
 | 
						|
 | 
						|
file=$(cat filelist)
 | 
						|
export file
 | 
						|
 | 
						|
test_perf 'git rev-list --topo-order (baseline)' '
 | 
						|
	git rev-list --topo-order HEAD >/dev/null
 | 
						|
'
 | 
						|
 | 
						|
test_perf 'git log --follow (baseline for -M)' '
 | 
						|
	git log --oneline --follow -- "$file" >/dev/null
 | 
						|
'
 | 
						|
 | 
						|
test_perf 'git log -L (renames off)' '
 | 
						|
	git log --no-renames -L 1:"$file" >/dev/null
 | 
						|
'
 | 
						|
 | 
						|
test_perf 'git log -L (renames on)' '
 | 
						|
	git log -M -L 1:"$file" >/dev/null
 | 
						|
'
 | 
						|
 | 
						|
test_perf 'git log --oneline --raw --parents' '
 | 
						|
	git log --oneline --raw --parents >/dev/null
 | 
						|
'
 | 
						|
 | 
						|
test_perf 'git log --oneline --raw --parents -1000' '
 | 
						|
	git log --oneline --raw --parents -1000 >/dev/null
 | 
						|
'
 | 
						|
 | 
						|
test_done
 |