# If for some reason people are stupid and push with a --force flag,
# we should warn them to update first in case one of their teammates
# already merged for them
- if [ "$(git merge-base $oldrev $newrev)" != "$oldrev" ] ; then
+ if [ "0000000000000000000000000000000000000000" != "$oldrev" -a "$(git merge-base $oldrev $newrev)" != "$oldrev" ] ; then
display_error_message "You need to update your local branch $short_refname"
else
display_error_message "You need to merge $follow into $short_refname"
git push origin topic2
'
+test_expect_success 'new branch without stable gets nicer error' '
+ git checkout -b topic3 stable &&
+ echo "$test_name" >a.topic3 &&
+ git add a.topic3 &&
+ git commit -m "Change on topic3" &&
+
+ git checkout stable &&
+ echo "$test_name" >a &&
+ git commit -a -m "Change on stable" &&
+ git push origin stable &&
+
+ git checkout topic3 &&
+ ! git push origin topic3 2>push.err &&
+ grep "You need to merge stable into topic3" push.err &&
+
+ git merge stable &&
+ git push origin topic3
+'
+
test_done