From 18cb6ac26fd820f2f00a8c758da09bc71864d5e1 Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Mon, 13 Jan 2020 12:29:02 +0000 Subject: [PATCH] Replace update_version_svn with update_version_git. This patch replaces the update_version_svn script, that updates the DATESTAMP files from cron, with update_version_git. * update_version_git: New file. * update_version:svn: Remove. * crontab: Use update_version_git. --- maintainer-scripts/ChangeLog | 6 +++ maintainer-scripts/crontab | 2 +- maintainer-scripts/update_version_git | 85 +++++++++++++++++++++++++++++++++++ maintainer-scripts/update_version_svn | 85 ----------------------------------- 4 files changed, 92 insertions(+), 86 deletions(-) create mode 100755 maintainer-scripts/update_version_git delete mode 100755 maintainer-scripts/update_version_svn diff --git a/maintainer-scripts/ChangeLog b/maintainer-scripts/ChangeLog index 6182cf7..dafbbd7 100644 --- a/maintainer-scripts/ChangeLog +++ b/maintainer-scripts/ChangeLog @@ -1,3 +1,9 @@ +2020-01-13 Joseph Myers + + * update_version_git: New file. + * update_version:svn: Remove. + * crontab: Use update_version_git. + 2019-11-20 Janne Blomqvist * gcc_release: Use https for gcc.gnu.org. diff --git a/maintainer-scripts/crontab b/maintainer-scripts/crontab index 80a4a48..f064d6f 100644 --- a/maintainer-scripts/crontab +++ b/maintainer-scripts/crontab @@ -1,4 +1,4 @@ -16 0 * * * sh /home/gccadmin/scripts/update_version_svn +16 0 * * * sh /home/gccadmin/scripts/update_version_git 50 0 * * * sh /home/gccadmin/scripts/update_web_docs_svn 55 0 * * * sh /home/gccadmin/scripts/update_web_docs_libstdcxx_svn 32 22 * * 5 sh /home/gccadmin/scripts/gcc_release -s 8:branches/gcc-8-branch -l -d /sourceware/snapshot-tmp/gcc all diff --git a/maintainer-scripts/update_version_git b/maintainer-scripts/update_version_git new file mode 100755 index 0000000..b1b5f4c --- /dev/null +++ b/maintainer-scripts/update_version_git @@ -0,0 +1,85 @@ +#!/bin/sh +# +# Update the current version date in all files in the tree containing +# it. Consider all single-component-version 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. + +GITROOT=${GITROOT:-"/git/gcc.git"} +IGNORE_BRANCHES='releases/gcc-(.*\..*|5|6|7)' +ADD_BRANCHES='master' + +# Run this from /tmp. +export GITROOT +BASEDIR=/tmp/$$ +/bin/rm -rf "$BASEDIR" +/bin/mkdir "$BASEDIR" +cd "$BASEDIR" + +GIT=${GIT:-/usr/local/bin/git} + +# Compute the branches which we should update. +BRANCHES=`(cd $GITROOT \ + && ${GIT} for-each-ref --format='%(refname)' \ + 'refs/heads/releases/gcc-*') \ + | sed -e 's/refs\/heads\///' \ + | egrep -v $IGNORE_BRANCHES` +# Always update the mainline. +BRANCHES="${ADD_BRANCHES} ${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 +SUBDIR=$BASEDIR/gcc +for BRANCH in $BRANCHES; do + echo "Working on \"$BRANCH\"." + # Check out the files on the branch. + if [ -d "$SUBDIR" ]; then + cd "$SUBDIR" + ${GIT} pull -q + ${GIT} checkout -q "$BRANCH" + else + ${GIT} clone -q -b "$BRANCH" "$GITROOT" "$SUBDIR" + fi + + # There are no files to commit yet. + COMMIT_FILES="" + + cd "$SUBDIR" + 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 + + if test -n "$COMMIT_FILES"; then + for i in $COMMIT_FILES; do + echo "Attempting to commit $i" + if ${GIT} commit -m "Daily bump." $i; then + if ! ${GIT} push origin "$BRANCH"; then + # If we could not push the files, indicate failure. + RESULT=1 + fi + else + # If we could not commit the files, indicate failure. + RESULT=1 + fi + done + fi +done + +/bin/rm -rf $BASEDIR +exit $RESULT diff --git a/maintainer-scripts/update_version_svn b/maintainer-scripts/update_version_svn deleted file mode 100755 index dfbaee6e4..0000000 --- a/maintainer-scripts/update_version_svn +++ /dev/null @@ -1,85 +0,0 @@ -#!/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|4_8|4_9|5|6|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 -- 2.7.4