compiler: stop iterator on error
[gcc.git] / maintainer-scripts / update_version_svn
index 00edc6507149cc4069bbe1fc21c8ea36a2b57e02..1f4fc2088509a33231535db4f4c1b1344a966072 100755 (executable)
@@ -3,11 +3,11 @@
 # 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.
+# in the space separated list in $ADD_BRANCHES.
 
 SVNROOT=${SVNROOT:-"file:///svn/gcc"}
-IGNORE_BRANCHES='gcc-(2_95|3_0|3_1|3_2|3_3)-branch'
-ADD_BRANCHES='HEAD autovect-branch dfp-branch'
+IGNORE_BRANCHES='gcc-(2_95|3_0|3_1|3_2|3_3|3_4|4_0|4_1|4_2|4_3|4_4|4_5|4_6|4_7|4_8|4_9|5|6)-branch'
+ADD_BRANCHES='HEAD'
 
 # Run this from /tmp.
 export SVNROOT
@@ -15,87 +15,39 @@ export SVNROOT
 /bin/mkdir /tmp/$$
 cd /tmp/$$
 
-# The path to cvs.
 SVN=${SVN:-/usr/bin/svn}
 
 # Compute the branches which we should update.
 BRANCHES=`$SVN ls $SVNROOT/branches \
          | sed -e 's/\///' \
-          | egrep 'gcc-[0-9]+_[0-9]+-branch$' \
+          | egrep 'gcc-[0-9]+(_[0-9]+)?-branch$' \
           | egrep -v $IGNORE_BRANCHES`
-
 # Always update the mainline.
 BRANCHES="${BRANCHES} ${ADD_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/version.c"
 
-# version is contained within a #define
-cppdefine_FILES="libstdc++-v3/include/bits/c++config"
+# This is put into the datestamp files.
+CURR_DATE=`/bin/date +"%Y%m%d"`
 
-# version is all there is
 datestamp_FILES="gcc/DATESTAMP"
 
-FILES="$textstring_FILES $cppdefine_FILES $datestamp_FILES"
-DIRS="$textstring_DIRS $cppdefine_DIRS $datestamp_DIRS"
 
 # 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.
+  # Check out the files on the branch.  HEAD is in a different namespace.
   if test "$BRANCH" = HEAD; then 
-    for i in $FILES; do
-      ${SVN} co -N ${SVNROOT}/trunk/`dirname $i` `basename $i`
-    done
-  else
-    for i in $FILES; do
-      ${SVN} co -N ${SVNROOT}/branches/${BRANCH}/`dirname $i` `basename $i`
-    done
+    SVNROOT2=${SVNROOT}/trunk
+  else    
+    SVNROOT2=${SVNROOT}/branches/${BRANCH}
   fi
 
-  # There are no files to commit yet.
-  COMMIT_FILES=""
-   
-  for file in $textstring_FILES; do
-    dirname=`basename $file`
-    file=`basename $file`
-    file="$dirname/$file"
-    echo "$file"
-    exit 0;
-    if test -f $file; then 
-      /bin/sed  <$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
+  for i in $datestamp_FILES; do
+    ${SVN} -q co -N ${SVNROOT2}/`dirname $i` `basename $i`
   done
-  for file in $cppdefine_FILES; do
-    dirname=`basename $file`
-    file=`basename $file`
-    file="$dirname/$file"
-    if test -f $file; then
-      /bin/sed <$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
+  # There are no files to commit yet.
+  COMMIT_FILES=""
 
   for file in $datestamp_FILES; do
     dirname=`basename $file`
@@ -112,7 +64,7 @@ for BRANCH in $BRANCHES; do
       fi
     fi
   done
-  echo "$COMMIT_FILES"  
+
   if test -n "$COMMIT_FILES"; then
     for i in $COMMIT_FILES; do
     echo "Attempting to commit $i"
@@ -124,7 +76,7 @@ for BRANCH in $BRANCHES; do
   fi
   
   # Remove the files.
-  for i in $FILES; do
+  for i in $datestamp_FILES; do
    rm -rf /tmp/$$/`basename $i`
   done
 done