2 #===-- tag.sh - Tag the LLVM release candidates ----------------------------===#
4 # The LLVM Compiler Infrastructure
6 # This file is distributed under the University of Illinois Open Source
9 #===------------------------------------------------------------------------===#
11 # Create branches and release candidates for the LLVM release.
13 #===------------------------------------------------------------------------===#
20 projects="llvm cfe dragonegg test-suite compiler-rt libcxx clang-tools-extra polly lldb"
22 base_url="https://llvm.org/svn/llvm-project"
25 echo "usage: `basename $0` -release <num> [-rebranch]"
26 echo "usage: `basename $0` -release <num> -rc <num>"
28 echo " -release <num> The version number of the release"
29 echo " -rc <num> The release candidate number"
30 echo " -rebranch Remove existing branch, if present, before branching"
31 echo " -final Tag final release candidate"
34 function tag_version() {
36 for proj in $projects; do
37 if svn ls $base_url/$proj/branches/release_$release > /dev/null 2>&1 ; then
38 if [ $rebranch = "no" ]; then
41 svn remove -m "Removing old release_$release branch for rebranching." \
42 $base_url/$proj/branches/release_$release
44 svn copy -m "Creating release_$release branch" \
45 $base_url/$proj/trunk \
46 $base_url/$proj/branches/release_$release
51 function tag_release_candidate() {
53 for proj in $projects ; do
54 if ! svn ls $base_url/$proj/tags/RELEASE_$release > /dev/null 2>&1 ; then
55 svn mkdir -m "Creating release directory for release_$release." $base_url/$proj/tags/RELEASE_$release
57 if ! svn ls $base_url/$proj/tags/RELEASE_$release/$rc > /dev/null 2>&1 ; then
58 svn copy -m "Creating release candidate $rc from release_$release branch" \
59 $base_url/$proj/branches/release_$release \
60 $base_url/$proj/tags/RELEASE_$release/$rc
66 while [ $# -gt 0 ]; do
68 -release | --release )
76 -rebranch | --rebranch )
87 echo "unknown option: $1"
95 if [ "x$release" = "x" ]; then
96 echo "error: need to specify a release version"
102 release=`echo $release | sed -e 's,\.,,g'`
104 if [ "x$rc" = "x" ]; then
107 tag_release_candidate