[llvm-commits] [llvm] r142098 - /llvm/trunk/utils/release/tag.sh

Bill Wendling isanbard at gmail.com
Sat Oct 15 19:03:18 PDT 2011


Author: void
Date: Sat Oct 15 21:03:18 2011
New Revision: 142098

URL: http://llvm.org/viewvc/llvm-project?rev=142098&view=rev
Log:
Add a helper script to create branches and tag release candidates.

Added:
    llvm/trunk/utils/release/tag.sh   (with props)

Added: llvm/trunk/utils/release/tag.sh
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/release/tag.sh?rev=142098&view=auto
==============================================================================
--- llvm/trunk/utils/release/tag.sh (added)
+++ llvm/trunk/utils/release/tag.sh Sat Oct 15 21:03:18 2011
@@ -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

Propchange: llvm/trunk/utils/release/tag.sh
------------------------------------------------------------------------------
    svn:executable = *





More information about the llvm-commits mailing list