mirror of
https://github.com/gcc-mirror/gcc.git
synced 2026-05-06 14:59:39 +02:00
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:
85
maintainer-scripts/update_version_git
Executable file
85
maintainer-scripts/update_version_git
Executable 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
|
||||
Reference in New Issue
Block a user