while read oldrev newrev refname ; do
if expr "$oldrev" : '0*$' >/dev/null
then
- git rev-parse --not --branches | grep -v $(git rev-parse $refname) | git rev-list --stdin $newrev
+ git rev-parse --not --branches | grep -v $newrev | git rev-list --stdin $newrev
else
git rev-parse --not --branches | grep -v $(git rev-parse $refname) | git rev-list --stdin $oldrev..$newrev
fi | while read commit ; do
install_server_hook 'pre-receive-ticket' 'pre-receive'
test_expect_success 'reject new branch with bad message' '
- git checkout -b topic1
+ git checkout -b topic1 master
echo $test_name >a &&
git commit -a -m "$test_name" &&
head=$(git rev-parse HEAD)
# the last test has a dirty commit message, so ammend it with a good message
test_expect_success 'accept new branch with re' '
+ git checkout -b topic2 master
echo $test_name >a &&
git commit --amend -m "$test_name re #3222" &&
- git push origin topic1
+ git push origin topic2
+'
+
+test_expect_success 'reject new branch with bad message in second of three' '
+ git checkout -b topic3 master
+ echo "$test_name first" >a &&
+ git commit -a -m "$test_name first re #3222" &&
+
+ # the bad one
+ echo "$test_name second" >a &&
+ git commit -a -m "$test_name second" &&
+ head=$(git rev-parse HEAD)
+
+ echo "$test_name third" >a &&
+ git commit -a -m "$test_name third re #3222" &&
+
+ git push origin topic3 >push.out 2>push.err
+ cat push.err | grep "Commit $head does not reference a ticket"
+'
+
+test_expect_success 'accept new branch with re in all of three' '
+ git checkout -b topic4 master
+ echo "$test_name first" >a &&
+ git commit -a -m "$test_name first re #3222" &&
+
+ # the bad one
+ echo "$test_name second" >a &&
+ git commit -a -m "$test_name second re #3222" &&
+ head=$(git rev-parse HEAD)
+
+ echo "$test_name third" >a &&
+ git commit -a -m "$test_name third re #3222" &&
+
+ git push origin topic4
'
test_done