mirror of git://gcc.gnu.org/git/gcc.git
				
				
				
			
		
			
				
	
	
		
			86 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			86 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
| #!/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 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|3_4|4_0|4_1|4_2|4_3|4_4|4_5|4_6|4_7)-branch'
 | |
| ADD_BRANCHES='HEAD'
 | |
| 
 | |
| # Run this from /tmp.
 | |
| export SVNROOT
 | |
| /bin/rm -rf /tmp/$$
 | |
| /bin/mkdir /tmp/$$
 | |
| cd /tmp/$$
 | |
| 
 | |
| 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 -v $IGNORE_BRANCHES`
 | |
| # Always update the mainline.
 | |
| BRANCHES="${BRANCHES} ${ADD_BRANCHES}"
 | |
| 
 | |
| # This is put into the datestamp files.
 | |
| CURR_DATE=`/bin/date +"%Y%m%d"`
 | |
| 
 | |
| datestamp_FILES="gcc/DATESTAMP"
 | |
| 
 | |
| 
 | |
| # 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 in a different namespace.
 | |
|   if test "$BRANCH" = HEAD; then 
 | |
|     SVNROOT2=${SVNROOT}/trunk
 | |
|   else    
 | |
|     SVNROOT2=${SVNROOT}/branches/${BRANCH}
 | |
|   fi
 | |
| 
 | |
|   for i in $datestamp_FILES; do
 | |
|     ${SVN} -q co -N ${SVNROOT2}/`dirname $i` `basename $i`
 | |
|   done
 | |
| 
 | |
|   # There are no files to commit yet.
 | |
|   COMMIT_FILES=""
 | |
| 
 | |
|   for file in $datestamp_FILES; do
 | |
|     dirname=`basename $file`
 | |
|     file=`basename $file`
 | |
|     file="$dirname/$file"
 | |
|     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
 | |
| 
 | |
|   if test -n "$COMMIT_FILES"; then
 | |
|     for i in $COMMIT_FILES; do
 | |
|     echo "Attempting to commit $i"
 | |
|     if ! ${SVN} commit -m "Daily bump." $i; then
 | |
|        # If we could not commit the files, indicate failure.
 | |
|        RESULT=1
 | |
|      fi
 | |
|     done
 | |
|   fi
 | |
|   
 | |
|   # Remove the files.
 | |
|   for i in $datestamp_FILES; do
 | |
|    rm -rf /tmp/$$/`basename $i`
 | |
|   done
 | |
| done
 | |
| 
 | |
| /bin/rm -rf /tmp/$$
 | |
| exit $RESULT
 |