X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=maintainer-scripts%2Fupdate_version;h=2217052332c9a1fafd753c006a1f781a5bfb57fb;hp=138de9d6b9cae25862bfecb4d2ccc46152663f61;hb=182965ab28f23bfd262d5f1aac58f58b143f256d;hpb=73b85c375ceaa095487326e76e9710e43d367cc6 diff --git a/maintainer-scripts/update_version b/maintainer-scripts/update_version index 138de9d6b9c..2217052332c 100755 --- a/maintainer-scripts/update_version +++ b/maintainer-scripts/update_version @@ -1,7 +1,15 @@ -#!/bin/sh +#!/bin/sh +# +# Update the current version date in all files in the tree containing +# it. Consider all release branches except those matching the regular +# expression in $IGNORE_BRANCHES, and also consider those branches listed +# in $ADD_BRANCHES. -# Run this from /tmp. CVSROOT=${CVSROOT:-/cvs/gcc} +IGNORE_BRANCHES='gcc-(2_95|3_0|3_1|3_2|3_3)-branch' +ADD_BRANCHES='HEAD autovect-branch dfp-branch' + +# Run this from /tmp. export CVSROOT /bin/rm -rf /tmp/$$ /bin/mkdir /tmp/$$ @@ -14,30 +22,37 @@ CVS=${CVS:-/usr/local/bin/cvs} $CVS co gcc/ChangeLog BRANCHES=`$CVS status -v gcc/ChangeLog \ | awk '{print $1;}' \ - | egrep 'gcc-[0-9]+_[0-9]+-branch$'` + | egrep 'gcc-[0-9]+_[0-9]+-branch$' \ + | egrep -v $IGNORE_BRANCHES` # Always update the mainline. -BRANCHES="${BRANCHES} HEAD" +BRANCHES="${BRANCHES} ${ADD_BRANCHES}" # 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/ada/gnatvsn.ads gcc/gcc/f/version.c gcc/libf2c/libF77/Version.c gcc/libf2c/libI77/Version.c gcc/libf2c/libU77/Version.c" +textstring_FILES="gcc/gcc/version.c" # version is contained within a #define cppdefine_FILES="gcc/libstdc++-v3/include/bits/c++config" +# version is all there is +datestamp_FILES="gcc/gcc/DATESTAMP" + +FILES="$textstring_FILES $cppdefine_FILES $datestamp_FILES" + # Assume all will go well. RESULT=0 for BRANCH in $BRANCHES; do + echo "Working on \"$BRANCH\"." # 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 + ${CVS} co $FILES else - ${CVS} co -r $BRANCH $textstring_FILES $cppdefine_FILES + ${CVS} co -r $BRANCH $FILES fi # There are no files to commit yet. @@ -45,23 +60,42 @@ for BRANCH in $BRANCHES; do 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.new -e \ + "s/\(.*\"[^ ]*\) [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]/\1 ${CURR_DATE}/" + + if /usr/bin/cmp -s $file $file.new; then + rm -f $file.new + else + mv -f $file.new $file + COMMIT_FILES="$COMMIT_FILES $file" + fi fi done for file in $cppdefine_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.new -e \ + "s/\(#.*\) [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]/\1 ${CURR_DATE}/" + + if /usr/bin/cmp -s $file $file.new; then + rm -f $file.new + else + mv -f $file.new $file + COMMIT_FILES="$COMMIT_FILES $file" + fi + fi + done - COMMIT_FILES="$COMMIT_FILES $file" + for file in $datestamp_FILES; do + if test -f $file; then + echo ${CURR_DATE} > $file.new + + if /usr/bin/cmp -s $file $file.new; then + rm -f $file.new + else + mv -f $file.new $file + COMMIT_FILES="$COMMIT_FILES $file" + fi fi done @@ -77,4 +111,3 @@ done /bin/rm -rf /tmp/$$ exit $RESULT -