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 --add branch.master.remote origin &&
15 git config --add branch.master.merge refs/heads/master &&
19 install_update_hook 'update-lock-check.rb'
21 test_expect_success 'locked branch is rejected' '
23 git config hooks.update-lock-check.locked master &&
26 echo "$test_name" >a &&
27 git commit -a -m "changed" &&
28 ! git push 2>push.err &&
29 cat push.err | grep "Branch master is locked"
32 test_expect_success 'locked branch is rejected with multiple branches set' '
34 git config hooks.update-lock-check.locked "foo bar master" &&
37 echo "$test_name" >a &&
38 git commit -a -m "changed" &&
39 ! git push 2>push.err &&
40 cat push.err | grep "Branch master is locked"
43 test_expect_success 'preserved branch cannot be deleted' '
45 git config hooks.update-lock-check.locked "" &&
46 git config hooks.update-lock-check.preserved master &&
49 ! git push origin :master 2>push.err &&
50 cat push.err | grep "Branch master cannot be deleted"