Switch to using branch for STABLE/TESTING.

This commit is contained in:
Michal Čihař
2010-03-24 10:10:56 +01:00
parent 58ebfd4591
commit e438f0ce70

View File

@@ -29,6 +29,24 @@ then
fi fi
# Checks whether remote branch has local tracking branch
ensure_local_branch() {
if ! git branch | grep -q '^..'"$1"'$' ; then
git branch --track $1 origin/$1
fi
}
# Marks current head of given branch as head of other branch
# Used for STABLE/TESTING tracking
mark_as_release() {
branch=$1
rel_branch=$2
echo "* Marking release as $rel_branch"
ensure_local_branch $rel_branch
git checkout $rel_branch
git merge $branch
}
# Read required parameters # Read required parameters
version=$1 version=$1
shift shift
@@ -58,6 +76,7 @@ if [ "$do_release" != 'y' ]; then
fi fi
# Checkout branch # Checkout branch
ensure_local_branch $branch
git checkout $branch git checkout $branch
# Check release version # Check release version
@@ -179,11 +198,12 @@ if [ $# -gt 0 ] ; then
echo "* Tagging release as $tagname" echo "* Tagging release as $tagname"
git tag -a -m "Released $version" $tagname $branch git tag -a -m "Released $version" $tagname $branch
if echo $version | grep '[a-z_-]' ; then if echo $version | grep '[a-z_-]' ; then
echo "* Tagging release as TESTING" mark_as_release $brach TESTING
git tag -a -f -m "Released $version" TESTING $branch
else else
echo "* Tagging release as STABLE" # We update both branches here
git tag -a -f -m "Released $version" STABLE $branch # As it does not make sense to have older testing than stable
mark_as_release $brach TESTING
mark_as_release $brach STABLE
fi fi
echo " Dont forget to push tags using: git push --tags" echo " Dont forget to push tags using: git push --tags"
;; ;;