#!/bin/sh # Run this from /tmp. CVSROOT=${CVSROOT:-/cvs/gcc} export CVSROOT /bin/rm -rf /tmp/$$ /bin/mkdir /tmp/$$ cd /tmp/$$ # The path to cvs. CVS=${CVS:-/usr/local/bin/cvs} # Compute the branches which we should update. $CVS co gcc/ChangeLog BRANCHES=`$CVS status -v gcc/ChangeLog \ | awk '{print $1;}' \ | egrep 'gcc-[0-9]+_[0-9]+-branch$'` # Always update the mainline. BRANCHES="${BRANCHES} HEAD" # ARGS is passed to 'cvs co' CURR_DATE=`/bin/date +"%Y%m%d"` # version is contained within a char* textstring_FILES="gcc/gcc/version.c gcc/gcc/ada/gnatvsn.ads gcc/gcc/f/version.c gcc/libf2c/libF77/Version.c gcc/libf2c/libI77/Version.c gcc/libf2c/libU77/Version.c" # version is contained within a #define cppdefine_FILES="gcc/libstdc++-v3/include/bits/c++config" # Assume all will go well. RESULT=0 for BRANCH in $BRANCHES; do # Check out the files on the branch. HEAD is a special case; if # you check out files with -r HEAD, CVS will not let you check # in changes. if test "$BRANCH" = HEAD; then ${CVS} co $textstring_FILES $cppdefine_FILES else ${CVS} co -r $BRANCH $textstring_FILES $cppdefine_FILES fi # There are no files to commit yet. COMMIT_FILES="" for file in $textstring_FILES; do if test -f $file; then OLD_VERSION=`/bin/cat $file` /bin/sed -e "s/\(.*\"[^ ]*\) [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]/\1 ${CURR_DATE}/" >${file} <${file} <