On Wed, 27 May 2020, Jakub Jelinek wrote: > Hi! > > This patch rewrites update_version_git to be just a thin wrapper around > Martin's new python script. This just arranges to check out the gcc > repo in a temporary directory, copy out the contrib scripts so that > the running script doesn't change with branch checkouts and runs the script. > > I've run it today manually but hopefully we can do it from cron again > from tomorrow. > > Ok for trunk?
OK. Richard. > > 2020-05-27 Jakub Jelinek <ja...@redhat.com> > > * update_version_git: Rewrite using > contrib/gcc-changelog/git_update_version.py. > > --- maintainer-scripts/update_version_git.jj > +++ maintainer-scripts/update_version_git > @@ -1,85 +1,28 @@ > #!/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. > +# Update the current version date in DATESTAMP files and generate > +# ChangeLog file entries since the last DATESTAMP update from the > +# commit messages. > > 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" > +BASEDIR=`mktemp -d` > 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 > +${GIT} clone -q -b master "$GITROOT" "$SUBDIR" > > - 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 > +cp -a $SUBDIR/contrib/gcc-changelog $BASEDIR/gcc-changelog > +cd "$SUBDIR" > +python3 ../gcc-changelog/git_update_version.py -p > +RESULT=$? > > - 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 > +cd /tmp > > /bin/rm -rf $BASEDIR > exit $RESULT > > Jakub > > -- Richard Biener <rguent...@suse.de> SUSE Software Solutions Germany GmbH, Maxfeldstrasse 5, 90409 Nuernberg, Germany; GF: Felix Imendörffer; HRB 36809 (AG Nuernberg)