tvl-depot/third_party/git/t/perf/p1400-update-ref.sh

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

40 lines
919 B
Bash
Raw Normal View History

#!/bin/sh
test_description="Tests performance of update-ref"
. ./perf-lib.sh
test_perf_fresh_repo
test_expect_success "setup" '
git init --bare target-repo.git &&
test_commit PRE &&
test_commit POST &&
printf "create refs/heads/%d PRE\n" $(test_seq 1000) >create &&
printf "update refs/heads/%d POST PRE\n" $(test_seq 1000) >update &&
printf "delete refs/heads/%d POST\n" $(test_seq 1000) >delete &&
git update-ref --stdin <create
'
test_perf "update-ref" '
for i in $(test_seq 1000)
do
git update-ref refs/heads/branch PRE &&
git update-ref refs/heads/branch POST PRE &&
git update-ref -d refs/heads/branch
done
'
test_perf "update-ref --stdin" '
git update-ref --stdin <update &&
git update-ref --stdin <delete &&
git update-ref --stdin <create
'
test_perf "nonatomic push" '
git push ./target-repo.git $(test_seq 1000) &&
git push --delete ./target-repo.git $(test_seq 1000)
'
test_done