+
+git status --porcelain | grep '^[^ ]' | grep -v "$VERSIONFILE\|$CHANGESFILE" && {
+ Becho "!!! Files other than version and changes are added to the index."
+ Becho "!!! Doing dryrun..."
+ DRYRUN=1
+}
+if [ "$DRYRUN" == "1" ]; then
+ eval $(getversion)
+ newchangesentry
+ sameVersion && {
+ Becho "!!! Version is unchanged at $LAST_RELEASE ($LAST_COMPAT)."
+ }
+ exit 0
+fi
+
+
+# check version file
+#
+while true; do
+ # $LAST_RELEASE
+ # $LAST_COMPAT
+ # $THIS_RELEASE
+ # $THIS_COMPAT
+ eval $(getversion)
+ sameVersion && {
+ newchangesentry
+ Becho "!!! Version is unchanged at $LAST_RELEASE ($LAST_COMPAT)."
+ read -n 1 -p "$(Gecho "(a)bort, (c)ontinue, (e)dit version: ")" RES
+ echo
+ case "$RES" in
+ [eE]*)
+ $EDITOR $VERSIONFILE
+ continue
+ ;;
+ [cC])
+ Becho "!!! Leave $VERSIONFILE untouched"
+ break
+ ;;
+ *)
+ errexit "aborted"
+ ;;
+ esac
+ }
+ break
+done
+
+# prepare changes file
+#