--- /dev/null
+#!/bin/sh
+# Copyright (C) 2018 The Meme Factory, Inc. http://www.meme.com/
+
+# This file is part of PGWUI.
+#
+# This program is free software: you can redistribute it and/or
+# modify it under the terms of the GNU Affero General Public License
+# as published by the Free Software Foundation, either version 3 of
+# the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public
+# License along with this program. If not, see
+# <http://www.gnu.org/licenses/>.
+#
+
+# Karl O. Pinc <kop@meme.com>
+
+commit_version() {
+ git add src/$1/VERSION
+ git commit -m "Bump version number to $(cat src/$1/VERSION)"
+}
+
+update_version() {
+ cp ../../VERSION src/$1/
+ commit_version $1
+}
+
+change_project() {
+ if git diff --cached --quiet ; then
+ git diff --quiet
+ needstash=$?
+ if [ $needstash -eq 1 ] ; then
+ git stash save -k
+ fi
+ update_version $1
+ if [ $needstash -eq 1 ] ; then
+ git stash pop
+ fi
+ else
+ printf "$1 has changes in the index" >&2
+ fi
+}
+
+enter_project() {
+ if [ "$2" != '' ] ; then
+ (cd $2 \
+ && change_project $1)
+ fi
+}
+
+find_project() {
+ enter_project $1 "$(find $1 -maxdepth 1 -mindepth 1 -iname $1)"
+}
+
+for d in $(ls -d pgwui_*); do
+ if [ "$d" != 'pgwui_venv' ] ; then
+ find_project "$d"
+ fi
+done