Mercurial > hg > CbC > CbC_gcc
diff maintainer-scripts/update_version_git @ 145:1830386684a0
gcc-9.2.0
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 11:34:05 +0900 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/maintainer-scripts/update_version_git Thu Feb 13 11:34:05 2020 +0900 @@ -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