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)-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
 |