#!/bin/sh
#
# This test measures the performance of various read-tree
# and status operations.  It is primarily interested in
# the algorithmic costs of index operations and recursive
# tree traversal -- and NOT disk I/O on thousands of files.

test_description="Tests performance of read-tree"

. ./perf-lib.sh

test_perf_default_repo

# If the test repo was generated by ./repos/many-files.sh
# then we know something about the data shape and branches,
# so we can isolate testing to the ballast-related commits
# and setup sparse-checkout so we don't have to populate
# the ballast files and directories.
#
# Otherwise, we make some general assumptions about the
# repo and consider the entire history of the current
# branch to be the ballast.

test_expect_success "setup repo" '
	if git rev-parse --verify refs/heads/p0006-ballast^{commit}
	then
		echo Assuming synthetic repo from many-files.sh
		git branch br_base            master
		git branch br_ballast         p0006-ballast
		git config --local core.sparsecheckout 1
		cat >.git/info/sparse-checkout <<-EOF
		/*
		!ballast/*
		EOF
	else
		echo Assuming non-synthetic repo...
		git branch br_base            $(git rev-list HEAD | tail -n 1)
		git branch br_ballast         HEAD
	fi &&
	git checkout -q br_ballast &&
	nr_files=$(git ls-files | wc -l)
'

test_perf "read-tree status br_ballast ($nr_files)" '
	git read-tree HEAD &&
	git status
'

test_done
