summaryrefslogtreecommitdiff
path: root/contrib/thunderbird-patch-inline/appp.sh
diff options
context:
space:
mode:
authorLukas Sandström <lukass@etek.chalmers.se>2008-06-19 23:21:33 (GMT)
committerJunio C Hamano <gitster@pobox.com>2008-06-20 05:40:42 (GMT)
commit0c3d26d24ab913a8cc6f478d176f5896af28c03c (patch)
tree86b0000ac40f83a2ba69995ba0a7322352277c00 /contrib/thunderbird-patch-inline/appp.sh
parentd3e977b943b3562021b892f1c8f966655785708a (diff)
downloadgit-0c3d26d24ab913a8cc6f478d176f5896af28c03c.zip
git-0c3d26d24ab913a8cc6f478d176f5896af28c03c.tar.gz
git-0c3d26d24ab913a8cc6f478d176f5896af28c03c.tar.bz2
Add a helper script to send patches with Mozilla Thunderbird
The script appp.sh can be used with the External Editor extension for Mozilla Thunderbird in order to be able to send inline patches in an easy way. Signed-off-by: Lukas Sandström <lukass@etek.chalmers.se> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'contrib/thunderbird-patch-inline/appp.sh')
-rwxr-xr-xcontrib/thunderbird-patch-inline/appp.sh55
1 files changed, 55 insertions, 0 deletions
diff --git a/contrib/thunderbird-patch-inline/appp.sh b/contrib/thunderbird-patch-inline/appp.sh
new file mode 100755
index 0000000..cc518f3
--- /dev/null
+++ b/contrib/thunderbird-patch-inline/appp.sh
@@ -0,0 +1,55 @@
+#!/bin/bash
+# Copyright 2008 Lukas Sandström <luksan@gmail.com>
+#
+# AppendPatch - A script to be used together with ExternalEditor
+# for Mozilla Thunderbird to properly include pathes inline i e-mails.
+
+# ExternalEditor can be downloaded at http://globs.org/articles.php?lng=en&pg=2
+
+CONFFILE=~/.appprc
+
+SEP="-=-=-=-=-=-=-=-=-=# Don't remove this line #=-=-=-=-=-=-=-=-=-"
+if [ -e "$CONFFILE" ] ; then
+ LAST_DIR=`grep -m 1 "^LAST_DIR=" "${CONFFILE}"|sed -e 's/^LAST_DIR=//'`
+ cd "${LAST_DIR}"
+else
+ cd > /dev/null
+fi
+
+PATCH=$(zenity --file-selection)
+
+if [ "$?" != "0" ] ; then
+ #zenity --error --text "No patchfile given."
+ exit 1
+fi
+
+cd - > /dev/null
+
+SUBJECT=`sed -n -e '/^Subject: /p' "${PATCH}"`
+HEADERS=`sed -e '/^'"${SEP}"'$/,$d' $1`
+BODY=`sed -e "1,/${SEP}/d" $1`
+CMT_MSG=`sed -e '1,/^$/d' -e '/^---$/,$d' "${PATCH}"`
+DIFF=`sed -e '1,/^---$/d' "${PATCH}"`
+
+CCS=`echo -e "$CMT_MSG\n$HEADERS" | sed -n -e 's/^Cc: \(.*\)$/\1,/gp' \
+ -e 's/^Signed-off-by: \(.*\)/\1,/gp'`
+
+echo "$SUBJECT" > $1
+echo "Cc: $CCS" >> $1
+echo "$HEADERS" | sed -e '/^Subject: /d' -e '/^Cc: /d' >> $1
+echo "$SEP" >> $1
+
+echo "$CMT_MSG" >> $1
+echo "---" >> $1
+if [ "x${BODY}x" != "xx" ] ; then
+ echo >> $1
+ echo "$BODY" >> $1
+ echo >> $1
+fi
+echo "$DIFF" >> $1
+
+LAST_DIR=`dirname "${PATCH}"`
+
+grep -v "^LAST_DIR=" "${CONFFILE}" > "${CONFFILE}_"
+echo "LAST_DIR=${LAST_DIR}" >> "${CONFFILE}_"
+mv "${CONFFILE}_" "${CONFFILE}"