Merge branch 'ps/update-ref-multi-transaction'
"git update-ref --stdin" learns to take multiple transactions in a single session. * ps/update-ref-multi-transaction: update-ref: disallow "start" for ongoing transactions p1400: use `git-update-ref --stdin` to test multiple transactions update-ref: allow creation of multiple transactions t1400: avoid touching refs on filesystem
This commit is contained in:
@ -7,13 +7,14 @@ test_description="Tests performance of update-ref"
|
||||
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
|
||||
for i in $(test_seq 5000)
|
||||
do
|
||||
printf "start\ncreate refs/heads/%d PRE\ncommit\n" $i &&
|
||||
printf "start\nupdate refs/heads/%d POST PRE\ncommit\n" $i &&
|
||||
printf "start\ndelete refs/heads/%d POST\ncommit\n" $i
|
||||
done >instructions
|
||||
'
|
||||
|
||||
test_perf "update-ref" '
|
||||
@ -26,14 +27,7 @@ test_perf "update-ref" '
|
||||
'
|
||||
|
||||
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)
|
||||
git update-ref --stdin <instructions >/dev/null
|
||||
'
|
||||
|
||||
test_done
|
||||
|
Reference in New Issue
Block a user