summaryrefslogtreecommitdiff
path: root/src/abslibre-tools/librecommit
diff options
context:
space:
mode:
Diffstat (limited to 'src/abslibre-tools/librecommit')
-rwxr-xr-xsrc/abslibre-tools/librecommit65
1 files changed, 65 insertions, 0 deletions
diff --git a/src/abslibre-tools/librecommit b/src/abslibre-tools/librecommit
new file mode 100755
index 0000000..1698bed
--- /dev/null
+++ b/src/abslibre-tools/librecommit
@@ -0,0 +1,65 @@
+#!/bin/bash
+# Copyright 2010 Nicolás Reynolds
+
+# ---------- GNU General Public License 3 ----------
+
+# This file is part of Parabola.
+
+# Parabola is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+
+# Parabola 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 General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with Parabola. If not, see <http://www.gnu.org/licenses/>.
+
+source /etc/libretools.conf
+
+usage () {
+ echo "cd to the dir with the PKGBUILD you are commiting and"
+ echo
+ echo "$0 [optionally files to commit]"
+ echo
+ echo "This script commits the package using name, pkgver and pkgrel"
+ echo
+ exit 1
+}
+
+msg="Commiting libre package \"\$pkg-\$pkgver-\$pkgrel\""
+
+for opt in $@ ; do
+ case ${opt} in
+ -h) usage ;;
+ -m) shift; msg=${1}; shift ;;
+ *) files+="${1} " ; shift ;;
+ esac
+done
+
+if [ ! -e PKGBUILD -o -z "$files" ]; then usage; fi
+
+source PKGBUILD
+
+pkg=${pkgbase:-${pkgname}}
+
+msg=$(eval echo $msg)
+
+if [ "$COMMITCMD" = 'git' ]; then
+
+ ${COMMITCMD} add ${files} && ${COMMITCMD} commit -m "$(echo $msg)"
+
+elif [ "$COMMITCMD" = 'hg' ]; then
+
+ ${COMMITCMD} commit ${files} -m "$msg" -v || exit 1
+
+else
+
+ error "COMMITCMD is not correctly set on libretools.conf"
+
+fi
+
+exit 0