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)

Reply via email to