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.
This commit is contained in:
Joseph Myers 2020-01-13 12:29:02 +00:00
parent b2b465c555
commit 18cb6ac26f
4 changed files with 92 additions and 86 deletions

View File

@ -1,3 +1,9 @@
2020-01-13 Joseph Myers <joseph@codesourcery.com>
* update_version_git: New file.
* update_version:svn: Remove.
* crontab: Use update_version_git.
2019-11-20 Janne Blomqvist <jb@gcc.gnu.org>
* gcc_release: Use https for gcc.gnu.org.

View File

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

View File

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

View File

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