#! /bin/bash function errexit() { exec >&2 echo "Error: $@" exit 1 } function usage() { exec >&2 cat <$TMPFILE RES=e while [ "$RES" == "e" ]; do $EDITOR $TMPFILE echo 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 ;; [cCsS]) echo "Store new $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