aboutsummaryrefslogtreecommitdiff
path: root/commit.sh
diff options
context:
space:
mode:
Diffstat (limited to 'commit.sh')
-rwxr-xr-xcommit.sh55
1 files changed, 55 insertions, 0 deletions
diff --git a/commit.sh b/commit.sh
new file mode 100755
index 0000000..6a0e401
--- /dev/null
+++ b/commit.sh
@@ -0,0 +1,55 @@
+#! /bin/sh
+
+. etc/git/modules
+
+wd=`pwd`
+
+if [ "$1" = "-i" ]; then
+ add=n
+else
+ add=y
+fi
+
+if [ "$EDITOR" = "" ]; then
+ echo "no editor specified with the EDITOR variable" 1>&2
+ exit 1
+fi
+
+msg_file=`mktemp -p /tmp`
+$EDITOR "$msg_file"
+
+if [ $? -ne 0 ]; then
+ echo "$EDITOR failed" 1>&2
+ rm -f $msg_file
+ exit 1
+fi
+
+if test ! -s "$msg_file"; then
+ echo "commit message is empty" 1>&2
+ rm -f $msg_file
+ exit 1
+fi
+
+for i in $modules; do
+ echo "commit $i" 1>&2
+ cd $i
+ if [ "$add" = "y" ]; then
+ git add .
+
+ if [ $? -ne 0 ]; then
+ echo "add FAILED" 1>&2
+ exit 1
+ fi
+
+ fi
+ git commit -F $msg_file
+
+# if [ $? -ne 0 ]; then
+# echo "commit FAILED" 1>&2
+# exit 1
+# fi
+
+ cd $wd
+done
+
+rm -f $msg_file