b6b8f16635d7fc48c67d07581d381ccb52b61166
[git-central.git] / tests / t2202-server-post-receive-email-branches.sh
1 #!/bin/sh
2
3 test_description='server post-receive email notification'
4
5 . ./test-lib.sh
6
7 export USER=author
8
9 test_expect_success 'setup' '
10         echo "setup" >a &&
11         git add a &&
12         git commit -m "setup" &&
13         git clone ./. server &&
14         rm -fr server/.git/hooks &&
15         git remote add origin ./server &&
16         git config --add branch.master.remote origin &&
17         git config --add branch.master.merge refs/heads/master &&
18         GIT_DIR=./server/.git git config --add hooks.post-receive-email.mailinglist commits@list.com &&
19         GIT_DIR=./server/.git git config --add hooks.post-receive-email.debug true &&
20         GIT_DIR=.
21         echo cbas >./server/.git/description
22 '
23
24 install_post_receive_hook 'post-receive-email'
25
26 test_expect_success 'create branch' '
27         git checkout -b topic master &&
28         echo "$test_name" >a &&
29         git commit -a -m "$test_name on topic" &&
30         prior_commit_hash=$(git rev-parse HEAD) &&
31         prior_commit_date=$(git log -n 1 --pretty=format:%cd HEAD) &&
32
33         echo "$test_name 2" >a &&
34         git commit -a -m "$test_name on topic 2 " &&
35         new_commit_hash=$(git rev-parse HEAD) &&
36         new_commit_date=$(git log -n 1 --pretty=format:%cd HEAD) &&
37
38         git push origin topic &&
39
40         interpolate ../t2202-1.txt 1.txt new_commit_hash new_commit_date prior_commit_hash prior_commit_date &&
41         test_cmp 1.txt server/.git/refs.heads.topic.out
42 '
43
44 test_expect_success 'delete branch' '
45         old_commit_hash=$(git rev-parse HEAD) &&
46         git push origin :refs/heads/topic &&
47
48         interpolate ../t2202-2.txt 2.txt old_commit_hash &&
49         test_cmp 2.txt server/.git/refs.heads.topic.out
50 '
51
52 test_done
53