diff options
author | Bill Wendling <isanbard@gmail.com> | 2011-10-16 02:03:18 +0000 |
---|---|---|
committer | Bill Wendling <isanbard@gmail.com> | 2011-10-16 02:03:18 +0000 |
commit | 9a6d61554fcf24a9a1e2270e3424fb060d7ff5d5 (patch) | |
tree | f7150ea7e2a56646fb57a32800ff54c8414bf184 /utils/release | |
parent | f4a4e3ae740979ea7877f55e34cdb5abac9cbe33 (diff) |
Add a helper script to create branches and tag release candidates.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142098 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/release')
-rwxr-xr-x | utils/release/tag.sh | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/utils/release/tag.sh b/utils/release/tag.sh new file mode 100755 index 0000000000..103b6203f2 --- /dev/null +++ b/utils/release/tag.sh @@ -0,0 +1,95 @@ +#!/bin/sh +#===-- tag.sh - Tag the LLVM release candidates ----------------------------===# +# +# The LLVM Compiler Infrastructure +# +# This file is distributed under the University of Illinois Open Source +# License. +# +#===------------------------------------------------------------------------===# +# +# Create branches and release candidates for the LLVM release. +# +#===------------------------------------------------------------------------===# + +set -e + +release="" +rc="" + +base_url="https://llvm.org/svn/llvm-project" + +function usage() { + echo "usage: `basename $0` -release <num>" + echo "usage: `basename $0` -release <num> -rc <num>" + echo " " + echo " -release <num> The version number of the release" + echo " -rc <num> The release candidate number" +} + +function tag_version() { + set -x + for proj in llvm cfe dragonegg test-suite compiler-rt libcxx libcxxabi ; do + if ! svn ls $base_url/$proj/branches/release_$release > /dev/null 2>&1 ; then + svn copy -m "Creating release_$release branch" \ + $base_url/$proj/trunk \ + $base_url/$proj/branches/release_$release + fi + done + set +x +} + +function tag_release_candidate() { + set -x + for proj in llvm cfe dragonegg test-suite compiler-rt libcxx libcxxabi ; do + if ! svn ls $base_url/$proj/tags/RELEASE_$release > /dev/null 2>&1 ; then + svn mkdir $base_url/$proj/tags/RELEASE_$release + fi + if ! svn ls $base_url/$proj/tags/RELEASE_$release/rc$rc > /dev/null 2>&1 ; then + svn copy -m "Creating release candidate $rc from release_$release branch" \ + $base_url/$proj/branches/release_$release \ + $base_url/$proj/tags/RELEASE_$release/rc$rc + fi + done + set +x +} + +while [ $# -gt 0 ]; do + case $1 in + -release | --release ) + shift + release=$1 + ;; + -rc | --rc ) + shift + rc=$1 + ;; + -h | --help | -help ) + usage + exit 0 + ;; + * ) + echo "unknown option: $1" + usage + exit 1 + ;; + esac + shift +done + +if [ "x$release" = "x" ]; then + echo "error: need to specify a release version" + echo + usage + exit 1 +fi + +release=`echo $release | sed -e 's,\.,,g'` + +if [ "x$rc" = "x" ]; then + tag_version +else + tag_release_candidate +fi + +exit 1 |