Version 2 (modified by rme, 11 years ago) (diff) |
---|
Release Engineering
Create a new release branch
svn copy svn+ssh://svn.clozure.com/usr/local/publicsvn/openmcl/trunk \ svn+ssh://svn.clozure.com/usr/local/publicsvn/openmcl/release/1.5
Getting a release branch working copy
When making a new release, it can be convenient to have the whole source tree available. I do this with:
svn co --ignore-externals svn+ssh://svn.clozure.com/usr/local/publicsvn/openmcl/release/1.5 ccl-1.5-all
This way, I don't end up with useless copies of the sources under the platform-specific directories.
It also makes sense to remember to say
svn up --ignore-externals
to avoid picking up the useless copies of the sources later.
Fixing externals
I generally think it's preferable for release branches to be self-contained. This script changes the externals to point to the release branch instead of the trunk. Run it while in the top-level directory of the working copy.
#!/bin/sh progname=`basename $0` for target in darwinppc darwinx86 freebsdx86 linuxppc linuxx86 solarisx86 windows; do newprops=`mktemp /tmp/${progname}.XXXXXX` || exit 1 svn propget svn:externals ${target}/ccl | sed -e s,trunk,release/1.5, >$newprops cat $newprops svn propset svn:externals ${target}/ccl -F $newprops rm $newprops done