Skip to content

Commit

Permalink
Add a script that helps merge changes into a release branch.
Browse files Browse the repository at this point in the history
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142097 91177308-0d34-0410-b5e6-96231b3b80d8
  • Loading branch information
isanbard committed Oct 16, 2011
1 parent 4145c49 commit f4a4e3a
Showing 1 changed file with 72 additions and 0 deletions.
72 changes: 72 additions & 0 deletions utils/release/merge.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
#!/bin/sh
#===-- merge.sh - Test the LLVM release candidates -------------------------===#
#
# The LLVM Compiler Infrastructure
#
# This file is distributed under the University of Illinois Open Source
# License.
#
#===------------------------------------------------------------------------===#
#
# Merge a revision into a project.
#
#===------------------------------------------------------------------------===#

set -e

rev=""
proj=""

function usage() {
echo "usage: `basename $0` [OPTIONS]"
echo " -proj PROJECT The project to merge the result into"
echo " -rev NUM The revision to merge into the project"
}

while [ $# -gt 0 ]; do
case $1 in
-rev | --rev | -r )
shift
rev=$1
;;
-proj | --proj | -project | --project | -p )
shift
proj=$1
;;
-h | -help | --help )
usage
;;
* )
echo "unknown option: $1"
echo ""
usage
exit 1
;;
esac
shift
done

if [ "x$rev" = "x" -o "x$proj" = "x" ]; then
echo "error: need to specify project and revision"
echo
usage
exit 1
fi

if ! svn ls http://llvm.org/svn/llvm-project/$proj/trunk > /dev/null 2>&1 ; then
echo "error: invalid project: $proj"
exit 1
fi

tempfile=`mktemp /tmp/merge.XXXXXX` || exit 1

echo "Merging r$rev:" > $tempfile
svn log -c $rev http://llvm.org/svn/llvm-project/$proj/trunk >> $tempfile 2>&1

cd $proj.src
echo "# Merging r$rev into $proj"
svn merge -c $rev https://llvm.org/svn/llvm-project/$proj/trunk . || exit 1
echo "# Committing changes"
svn commit -F $tempfile || exit 1
rm -f $tempfile
exit 0

0 comments on commit f4a4e3a

Please sign in to comment.