From ea4a12c39cd467929e191b1465ebcf00dc373c8b Mon Sep 17 00:00:00 2001 From: Michael Andres Date: Mon, 28 Nov 2011 18:33:23 +0100 Subject: [PATCH] new mkChangelog script also creating git version tags --- mkChangelog | 162 ++++++++++++++++++++++++------------------------------------ 1 file changed, 65 insertions(+), 97 deletions(-) diff --git a/mkChangelog b/mkChangelog index 96409ed..8e9db6e 100755 --- a/mkChangelog +++ b/mkChangelog @@ -1,5 +1,4 @@ #! /bin/bash -# function errexit() { exec >&2 @@ -7,68 +6,21 @@ function errexit() { exit 1 } -export LC_ALL="" -EDITOR=${EDITOR:-vi} - -TDIR=$(dirname $0) -test -n "$TDIR" && cd $TDIR - -CHANGESFILE=$(ls package/*.changes) -test -f "$CHANGESFILE" || errexit "No changes file '$CHANGESFILE'" - -VERSIONFILE="VERSION.cmake" -test -f "$VERSIONFILE" || errexit "No version file '$VERSIONFILE'" - -LANG="en" - -## Version.cmake tags in getversion() are still zypp specific. - function usage() { exec >&2 -cat <&1- -exec >$TMPFILE -echo "-------------------------------------------------------------------" -echo "$(date) - $EMAIL" -echo "" -echo "- " -echo "$GOTVERSION" -echo "" -cat $CHANGESFILE -exec >&3 +trap " [ -f \"$TMPFILE\" ] && /bin/rm -f -- \"$TMPFILE\" " 0 1 2 3 13 15 +{ newchangesentry; cat $CHANGESFILE; } >$TMPFILE RES=e while [ "$RES" == "e" ]; do $EDITOR $TMPFILE echo - NEWREL=$(grep '#---delete-or-release---#' $TMPFILE) - test -n "$NEWREL" && echo "$NEWREL" - read -n 1 -p "(a)bort, (c)ontinue, (e)dit : " RES + awk '{print}/^----------/{n=n+1; if ( n == 2 ) exit 0; }' $TMPFILE + read -n 1 -p "(a)bort, (c)ontinue, (s)ubmitt, (e)dit : " RES echo echo case "$RES" in [eE]*) RES=e ;; - [cC]) - test -n "$NEWREL" && { - echo "Remember new release in $VERSIONFILE" - sed -i 's/^.*#---delete-or-release---#.*RELEASE:/- version/' $TMPFILE - NEWREL=$(sed 's/^.*#---delete-or-release---#.*RELEASE:/# LAST RELEASED:/' <<<"$NEWREL") - sed -i "s/^# LAST RELEASED:.*$/$NEWREL/" $VERSIONFILE - } - + [cCsS]) echo "Store new $CHANGESFILE" - cp $TMPFILE $CHANGESFILE - - echo "$(sed 's/^.*#---delete-or-release---#.*RELEASE:/# CURRENT RELEASE:/' <<<"$GOTVERSION")" - awk '{print}/^----------/{n=n+1; if ( n == 2 ) exit 0; }' $CHANGESFILE - + mv $TMPFILE $CHANGESFILE + + test "$RES" == "s" && { + if [ "$LAST_RELEASE" == "$THIS_RELEASE" ]; then + git add "$CHANGESFILE" && git commit -m "changes" + else + echo "Remember new version $THIS_RELEASE in $VERSIONFILE" + sed -i "s/^# LAST RELEASED:.*$/# LAST RELEASED: $THIS_RELEASE ($THIS_COMPAT)/" $VERSIONFILE + git add "$CHANGESFILE" "$VERSIONFILE" \ + && git commit -m "changes $THIS_RELEASE" \ + && git tag -m "tagging $THIS_RELEASE" "$THIS_RELEASE" HEAD + echo "" + echo "Do not forget to push the commit and the tag: git push --tags" + echo "" + fi + } ;; *) echo "Leave $CHANGESFILE untouched" ;; esac done - -rm -f $TMPFILE -- 2.7.4