X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=utils%2Frelease%2Ftag.sh;h=caefc7f7b71bd5b3200c1230f7a56fe378e53a45;hb=47f0e3f434e2e43f951c3a826c40906cb15b7285;hp=d94f68dce68cd611c71d6a9321cd6d25d22de057;hpb=14d29b65e515d6e0771eaee4e0684580fae1b184;p=oota-llvm.git diff --git a/utils/release/tag.sh b/utils/release/tag.sh index d94f68dce68..caefc7f7b71 100755 --- a/utils/release/tag.sh +++ b/utils/release/tag.sh @@ -17,18 +17,22 @@ set -e release="" rc="" rebranch="no" -projects="llvm cfe dragonegg test-suite compiler-rt libcxx clang-tools-extra polly lldb lld openmp" +projects="llvm cfe test-suite compiler-rt libcxx libcxxabi clang-tools-extra polly lldb lld openmp libunwind" +dryrun="" +revision="HEAD" base_url="https://llvm.org/svn/llvm-project" function usage() { - echo "usage: `basename $0` -release [-rebranch]" - echo "usage: `basename $0` -release -rc " + echo "usage: `basename $0` -release [-rebranch] [-revision ] [-dry-run]" + echo "usage: `basename $0` -release -rc [-dry-run]" echo " " - echo " -release The version number of the release" - echo " -rc The release candidate number" - echo " -rebranch Remove existing branch, if present, before branching" - echo " -final Tag final release candidate" + echo " -release The version number of the release" + echo " -rc The release candidate number" + echo " -rebranch Remove existing branch, if present, before branching" + echo " -final Tag final release candidate" + echo " -revision Revision to branch off (default: HEAD)" + echo " -dry-run Make no changes to the repository, just print the commands" } function tag_version() { @@ -38,10 +42,11 @@ function tag_version() { if [ $rebranch = "no" ]; then continue fi - svn remove -m "Removing old release_$branch_release branch for rebranching." \ + ${dryrun} svn remove -m "Removing old release_$branch_release branch for rebranching." \ $base_url/$proj/branches/release_$branch_release fi - svn copy -m "Creating release_$branch_release branch" \ + ${dryrun} svn copy -m "Creating release_$branch_release branch off revision ${revision}" \ + -r ${revision} \ $base_url/$proj/trunk \ $base_url/$proj/branches/release_$branch_release done @@ -52,10 +57,10 @@ function tag_release_candidate() { set -x for proj in $projects ; do if ! svn ls $base_url/$proj/tags/RELEASE_$tag_release > /dev/null 2>&1 ; then - svn mkdir -m "Creating release directory for release_$tag_release." $base_url/$proj/tags/RELEASE_$tag_release + ${dryrun} svn mkdir -m "Creating release directory for release_$tag_release." $base_url/$proj/tags/RELEASE_$tag_release fi if ! svn ls $base_url/$proj/tags/RELEASE_$tag_release/$rc > /dev/null 2>&1 ; then - svn copy -m "Creating release candidate $rc from release_$tag_release branch" \ + ${dryrun} svn copy -m "Creating release candidate $rc from release_$tag_release branch" \ $base_url/$proj/branches/release_$branch_release \ $base_url/$proj/tags/RELEASE_$tag_release/$rc fi @@ -79,6 +84,13 @@ while [ $# -gt 0 ]; do -final | --final ) rc="final" ;; + -revision | --revision ) + shift + revision="$1" + ;; + -dry-run | --dry-run ) + dryrun="echo" + ;; -h | --help | -help ) usage exit 0 @@ -105,6 +117,13 @@ tag_release=`echo $release | sed -e 's,\.,,g'` if [ "x$rc" = "x" ]; then tag_version else + if [ "$revision" != "HEAD" ]; then + echo "error: cannot use -revision with -rc" + echo + usage + exit 1 + fi + tag_release_candidate fi