3 test_description='server update lock check'
7 test_expect_success 'setup' '
10 git commit -m "setup" &&
11 git clone ./. server &&
12 rm -fr server/.git/hooks &&
13 git remote add origin ./server &&
14 git config branch.master.remote origin &&
15 git config branch.master.merge refs/heads/master &&
19 install_update_hook 'update-lock-check'
21 test_expect_success 'locked branch is rejected' '
22 echo master >> server/.git/locked &&
24 echo "$test_name" >a &&
25 git commit -a -m "changed" &&
26 ! git push 2>push.err &&
27 cat push.err | grep "Branch master is locked"
30 test_expect_success 'locked branch is rejected with multiple branches set' '
31 echo foo >> server/.git/locked &&
32 echo bar >> server/.git/locked &&
34 echo "$test_name" >a &&
35 git commit -a -m "changed" &&
36 ! git push 2>push.err &&
37 cat push.err | grep "Branch master is locked"
40 test_expect_success 'preserved branch cannot be deleted' '
41 echo > server/.git/locked &&
42 echo master > server/.git/preserved &&
44 ! git push origin :master 2>push.err &&
45 cat push.err | grep "Branch master cannot be deleted"