3 test_description='server pre-receive ticket enforcer via shim'
7 test_expect_success 'setup' '
8 echo This is a test. >a &&
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_server_hook 'pre-receive' 'pre-receive'
20 install_server_hook 'pre-receive-ticket' 'pre-receive-ticket'
22 test_expect_success 'reject with bad message via shim' '
24 git commit -a -m "$test_name" &&
25 head=$(git rev-parse HEAD) &&
26 ! git push >push.out 2>push.err &&
27 cat push.err | grep "Commit $head does not reference a ticket"
30 # the last test has a dirty commit message, so ammend it with a good message
31 test_expect_success 'accept with re via shim' '
33 git commit --amend -m "$test_name re #3222" &&