summaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2011-10-16 02:03:18 +0000
committerBill Wendling <isanbard@gmail.com>2011-10-16 02:03:18 +0000
commit9a6d61554fcf24a9a1e2270e3424fb060d7ff5d5 (patch)
treef7150ea7e2a56646fb57a32800ff54c8414bf184 /utils
parentf4a4e3ae740979ea7877f55e34cdb5abac9cbe33 (diff)
downloadllvm-9a6d61554fcf24a9a1e2270e3424fb060d7ff5d5.tar.gz
llvm-9a6d61554fcf24a9a1e2270e3424fb060d7ff5d5.tar.bz2
llvm-9a6d61554fcf24a9a1e2270e3424fb060d7ff5d5.tar.xz
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')
-rwxr-xr-xutils/release/tag.sh95
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