Skip to content
This repository was archived by the owner on Feb 5, 2019. It is now read-only.

Commit 3593f97

Browse files
committed
Branch/tag all projects with a single commit in release-tagging script.
This change updates the release script to use svnmucc to create all the branches with one commit. This will ensure that the git tag won't bounce around if the git migration runs in-between separate commits creating a branch. Additionally, update the list of projects to include all of the projects in the monorepo, plus test-suite. Differential Revision: https://reviews.llvm.org/D53467 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@346550 91177308-0d34-0410-b5e6-96231b3b80d8
1 parent 0ea5488 commit 3593f97

File tree

1 file changed

+31
-15
lines changed

1 file changed

+31
-15
lines changed

utils/release/tag.sh

Lines changed: 31 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#!/bin/sh
1+
#!/bin/bash
22
#===-- tag.sh - Tag the LLVM release candidates ----------------------------===#
33
#
44
# The LLVM Compiler Infrastructure
@@ -17,7 +17,8 @@ set -e
1717
release=""
1818
rc=""
1919
rebranch="no"
20-
projects="llvm cfe test-suite compiler-rt libcxx libcxxabi clang-tools-extra polly lldb lld openmp libunwind debuginfo-tests"
20+
# All the projects that make it into the monorepo, plus test-suite.
21+
projects="monorepo-root cfe clang-tools-extra compiler-rt debuginfo-tests libclc libcxx libcxxabi libunwind lld lldb llgo llvm openmp parallel-libs polly pstl test-suite"
2122
dryrun=""
2223
revision="HEAD"
2324

@@ -36,35 +37,50 @@ usage() {
3637
}
3738

3839
tag_version() {
40+
local remove_args=()
41+
local create_args=()
42+
local message_prefix
3943
set -x
40-
for proj in $projects; do
44+
for proj in $projects; do
4145
if svn ls $base_url/$proj/branches/release_$branch_release > /dev/null 2>&1 ; then
4246
if [ $rebranch = "no" ]; then
4347
continue
4448
fi
45-
${dryrun} svn remove -m "Removing old release_$branch_release branch for rebranching." \
46-
$base_url/$proj/branches/release_$branch_release
49+
remove_args+=(rm "$proj/branches/release_$branch_release")
4750
fi
48-
${dryrun} svn copy -m "Creating release_$branch_release branch off revision ${revision}" \
49-
-r ${revision} \
50-
$base_url/$proj/trunk \
51-
$base_url/$proj/branches/release_$branch_release
51+
create_args+=(cp ${revision} "$proj/trunk" "$proj/branches/release_$branch_release")
5252
done
53+
if [[ ${#remove_args[@]} -gt 0 ]]; then
54+
message_prefix="Removing and recreating"
55+
else
56+
message_prefix="Creating"
57+
fi
58+
if [[ ${#create_args[@]} -gt 0 ]]; then
59+
${dryrun} svnmucc --root-url "$base_url" \
60+
-m "$message_prefix release_$branch_release branch off revision ${revision}" \
61+
"${remove_args[@]}" "${create_args[@]}"
62+
fi
5363
set +x
5464
}
5565

5666
tag_release_candidate() {
67+
local create_args=()
5768
set -x
5869
for proj in $projects ; do
5970
if ! svn ls $base_url/$proj/tags/RELEASE_$tag_release > /dev/null 2>&1 ; then
60-
${dryrun} svn mkdir -m "Creating release directory for release_$tag_release." $base_url/$proj/tags/RELEASE_$tag_release
71+
create_args+=(mkdir "$proj/tags/RELEASE_$tag_release")
6172
fi
6273
if ! svn ls $base_url/$proj/tags/RELEASE_$tag_release/$rc > /dev/null 2>&1 ; then
63-
${dryrun} svn copy -m "Creating release candidate $rc from release_$tag_release branch" \
64-
$base_url/$proj/branches/release_$branch_release \
65-
$base_url/$proj/tags/RELEASE_$tag_release/$rc
74+
create_args+=(cp HEAD
75+
"$proj/branches/release_$branch_release"
76+
"$proj/tags/RELEASE_$tag_release/$rc")
6677
fi
6778
done
79+
if [[ ${#create_args[@]} -gt 0 ]]; then
80+
${dryrun} svnmucc --root-url "$base_url" \
81+
-m "Creating release candidate $rc from release_$tag_release branch" \
82+
"${create_args[@]}"
83+
fi
6884
set +x
6985
}
7086

@@ -104,7 +120,7 @@ while [ $# -gt 0 ]; do
104120
shift
105121
done
106122

107-
if [ "x$release" = "x" ]; then
123+
if [ "$release" = "" ]; then
108124
echo "error: need to specify a release version"
109125
echo
110126
usage
@@ -114,7 +130,7 @@ fi
114130
branch_release=`echo $release | sed -e 's,\([0-9]*\.[0-9]*\).*,\1,' | sed -e 's,\.,,g'`
115131
tag_release=`echo $release | sed -e 's,\.,,g'`
116132

117-
if [ "x$rc" = "x" ]; then
133+
if [ "$rc" = "" ]; then
118134
tag_version
119135
else
120136
if [ "$revision" != "HEAD" ]; then

0 commit comments

Comments
 (0)