# Check if topic is already in candidates
candidate=$(git branch --contains "$oldrev" | grep -oP "candidate.*" --max-count=1)
if [ $? -eq 0 ] ; then
- display_error_message "$short_refname has been merged into $candidate"
- exit 1
+ # Okay, it's in stable...but was it previously just a 0-commit initial banch?
+ git rev-list --first-parent stable | grep --quiet "$oldrev"
+ if [ $? -ne 0 ] ; then
+ display_error_message "$short_refname has been merged into $candidate"
+ exit 1
+ fi
fi
fi
git push origin candidate1
'
+test_expect_success '0-commit branches are not caught by future stable' '
+ git checkout -b topic4 stable &&
+ git push origin topic4 &&
+
+ echo "$test_name" > a &&
+ git commit -a -m "$test_name" &&
+ git push origin topic4
+'
+
test_expect_success 'topic1 cannot be changed' '
git checkout topic1 &&
echo "$test_name" >a.topic1 &&