#!/bin/ksh
#
#  Script: mk_rc
# 
#  Purpose: 
#      Copies the trunk into the branches directory to form a release candidate
#
#  Programmer: Hank Childs
#  Creation:   May 10, 2007
#
#  Modifications:
#
#    Hank Childs, Sat Jun 23 16:47:06 PDT 2007
#    Get versioning info right when the RC is created.
#
#    Hank Childs, Thu Jul  5 16:13:57 PDT 2007
#    Suppress SVN noise.
#
#    Hank Childs, Tue Oct  9 09:03:35 PDT 2007
#    Fix typo with filename for keeping track of merge.
#
#    Hank Childs, Tue Oct  9 09:44:43 PDT 2007
#    Fix a problem with setting up the first release to merge from.
#
# *****************************************************************************

issueHelp="no"

export CDPATH=""

P=$(whence $0)
P2=${P%/*}
. ${P2}/visit_svn_helper

if [[ $# == 1 ]] ; then
   is_version_string $1
   if [[ $? != 1 ]] ; then
      echo "I do not believe $1 is a valid version string"
      issueHelp="yes"
   fi
else
   issueHelp="yes"
fi

if [[ "$issueHelp" == "yes" ]] ; then
   echo ""
   echo "Usage:   $0 <version>"
   echo ""
   echo "Example: $0 1.7"
   echo "\twill create a release candidate branch under REPO/branches/1.7RC"
   echo ""
   exit 1
fi

# Make the RC branch
SRC=${VISIT_SVN_TRUNK}
DEST=${VISIT_SVN_BRANCHES}/${1}RC
svn_cp_dir $SRC $DEST

# Now set up the files Rev_fromRCTrunk and Rev_toRCTrunk to keep track of
# revision history for RC merges.
svn co --quiet $DEST/svninfo
cd svninfo
REV=$(get_latest_rev)
echo $REV > Rev_fromRCTrunk
svn add --quiet Rev_fromRCTrunk
echo $REV > Rev_toRCTrunk
svn add --quiet Rev_toRCTrunk
svn delete --quiet Rev_fromTrunk
if [[ -f Rev_initial ]] ; then
   echo $REV > Rev_initial
else
   echo $REV > Rev_initial
   svn add --quiet Rev_initial
fi
if [[ -f Rev_toTrunk ]] ; then
   echo $REV > Rev_toTrunk
else
   echo $REV > Rev_toTrunk
   svn add --quiet Rev_toTrunk
fi

svn commit --quiet -m "Add RC revision tracking files"
cd ..
rm -Rf svninfo

return 0

