summaryrefslogtreecommitdiff
path: root/t/perf/p1400-update-ref.sh
blob: ce5ac3ed85e10efc2b4dd784e5d8949d8f269a75 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#!/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