Release tag script: add -dry-run flag

llvm-svn: 225735
This commit is contained in:
Hans Wennborg 2015-01-13 00:07:22 +00:00
parent 19c3189ea5
commit 995d0430bf

View File

@ -18,17 +18,19 @@ release=""
rc="" rc=""
rebranch="no" rebranch="no"
projects="llvm cfe dragonegg test-suite compiler-rt libcxx libcxxabi clang-tools-extra polly lldb lld openmp" projects="llvm cfe dragonegg test-suite compiler-rt libcxx libcxxabi clang-tools-extra polly lldb lld openmp"
dryrun=""
base_url="https://llvm.org/svn/llvm-project" base_url="https://llvm.org/svn/llvm-project"
function usage() { function usage() {
echo "usage: `basename $0` -release <num> [-rebranch]" echo "usage: `basename $0` -release <num> [-rebranch] [-dry-run]"
echo "usage: `basename $0` -release <num> -rc <num>" echo "usage: `basename $0` -release <num> -rc <num> [-dry-run]"
echo " " echo " "
echo " -release <num> The version number of the release" echo " -release <num> The version number of the release"
echo " -rc <num> The release candidate number" echo " -rc <num> The release candidate number"
echo " -rebranch Remove existing branch, if present, before branching" echo " -rebranch Remove existing branch, if present, before branching"
echo " -final Tag final release candidate" echo " -final Tag final release candidate"
echo " -dry-run Make no changes to the repository, just print the commands"
} }
function tag_version() { function tag_version() {
@ -38,10 +40,10 @@ function tag_version() {
if [ $rebranch = "no" ]; then if [ $rebranch = "no" ]; then
continue continue
fi 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 $base_url/$proj/branches/release_$branch_release
fi fi
svn copy -m "Creating release_$branch_release branch" \ ${dryrun} svn copy -m "Creating release_$branch_release branch" \
$base_url/$proj/trunk \ $base_url/$proj/trunk \
$base_url/$proj/branches/release_$branch_release $base_url/$proj/branches/release_$branch_release
done done
@ -52,10 +54,10 @@ function tag_release_candidate() {
set -x set -x
for proj in $projects ; do for proj in $projects ; do
if ! svn ls $base_url/$proj/tags/RELEASE_$tag_release > /dev/null 2>&1 ; then 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 fi
if ! svn ls $base_url/$proj/tags/RELEASE_$tag_release/$rc > /dev/null 2>&1 ; then 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/branches/release_$branch_release \
$base_url/$proj/tags/RELEASE_$tag_release/$rc $base_url/$proj/tags/RELEASE_$tag_release/$rc
fi fi
@ -79,6 +81,9 @@ while [ $# -gt 0 ]; do
-final | --final ) -final | --final )
rc="final" rc="final"
;; ;;
-dry-run | --dry-run )
dryrun="echo"
;;
-h | --help | -help ) -h | --help | -help )
usage usage
exit 0 exit 0