Program to bump version number of all pgwui distributions
authorKarl O. Pinc <kop@meme.com>
Sat, 10 Nov 2018 20:30:52 +0000 (14:30 -0600)
committerKarl O. Pinc <kop@meme.com>
Sat, 10 Nov 2018 20:30:58 +0000 (14:30 -0600)
bump_version [new file with mode: 0755]

diff --git a/bump_version b/bump_version
new file mode 100755 (executable)
index 0000000..399890c
--- /dev/null
@@ -0,0 +1,64 @@
+#!/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