Changes between Initial Version and Version 1 of ReleaseEngineering


Ignore:
Timestamp:
Apr 7, 2010, 2:16:07 AM (11 years ago)
Author:
rme
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ReleaseEngineering

    v1 v1  
     1= Release Engineering =
     2
     3== Create a new release branch ==
     4{{{
     5svn copy svn+ssh://svn.clozure.com/usr/local/publicsvn/openmcl/trunk \
     6         svn+ssh://svn.clozure.com/usr/local/publicsvn/openmcl/release/1.5
     7}}}
     8
     9== Getting a release branch working copy ==
     10When making a new release, it can be convenient to have the whole source tree available.
     11I do this with:
     12{{{
     13svn co --ignore-externals svn+ssh://svn.clozure.com/usr/local/publicsvn/openmcl/release/1.5 ccl-1.5-all
     14}}}
     15This way, I don't end up with useless copies of the sources under the platform-specific directories.
     16
     17== Fixing externals ==
     18
     19I generally think it's preferable for release branches to be self-contained.
     20This script changes the externals to point to the release branch instead of the trunk.
     21Run it while in the top-level directory of the working copy.
     22
     23{{{
     24#!/bin/sh
     25progname=`basename $0`
     26for target in darwinppc darwinx86 freebsdx86 linuxppc linuxx86 solarisx86 windows; do
     27    newprops=`mktemp /tmp/${progname}.XXXXXX` || exit 1
     28    svn propget svn:externals ${target}/ccl | sed -e s,trunk,release/1.5, >$newprops
     29    cat $newprops
     30    svn propset svn:externals ${target}/ccl -F $newprops
     31    rm $newprops
     32done
     33}}}