Skip to content

Commit f99ad95

Browse files
committed
Revert "contrib: remove "thunderbird-patch-inline""
There is a separate effort going on to minimally update this to be still usable. Let's give it a time.
1 parent af2a4b3 commit f99ad95

File tree

2 files changed

+75
-0
lines changed

2 files changed

+75
-0
lines changed
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
appp.sh is a script that is supposed to be used together with ExternalEditor
2+
for Mozilla Thunderbird. It will let you include patches inline in e-mails
3+
in an easy way.
4+
5+
Usage:
6+
- Generate the patch with git format-patch.
7+
- Start writing a new e-mail in Thunderbird.
8+
- Press the external editor button (or Ctrl-E) to run appp.sh
9+
- Select the previously generated patch file.
10+
- Finish editing the e-mail.
11+
12+
Any text that is entered into the message editor before appp.sh is called
13+
will be moved to the section between the --- and the diffstat.
14+
15+
All S-O-B:s and Cc:s in the patch will be added to the CC list.
16+
17+
To set it up, just install External Editor and tell it to use appp.sh as the
18+
editor.
19+
20+
Zenity is a required dependency.
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
#!/bin/sh
2+
# Copyright 2008 Lukas Sandström <[email protected]>
3+
#
4+
# AppendPatch - A script to be used together with ExternalEditor
5+
# for Mozilla Thunderbird to properly include patches inline in e-mails.
6+
7+
# ExternalEditor can be downloaded at http://globs.org/articles.php?lng=en&pg=2
8+
9+
CONFFILE=~/.appprc
10+
11+
SEP="-=-=-=-=-=-=-=-=-=# Don't remove this line #=-=-=-=-=-=-=-=-=-"
12+
if [ -e "$CONFFILE" ] ; then
13+
LAST_DIR=$(grep -m 1 "^LAST_DIR=" "${CONFFILE}"|sed -e 's/^LAST_DIR=//')
14+
cd "${LAST_DIR}"
15+
else
16+
cd > /dev/null
17+
fi
18+
19+
PATCH=$(zenity --file-selection)
20+
21+
if [ "$?" != "0" ] ; then
22+
#zenity --error --text "No patchfile given."
23+
exit 1
24+
fi
25+
26+
cd - > /dev/null
27+
28+
SUBJECT=$(sed -n -e '/^Subject: /p' "${PATCH}")
29+
HEADERS=$(sed -e '/^'"${SEP}"'$/,$d' $1)
30+
BODY=$(sed -e "1,/${SEP}/d" $1)
31+
CMT_MSG=$(sed -e '1,/^$/d' -e '/^---$/,$d' "${PATCH}")
32+
DIFF=$(sed -e '1,/^---$/d' "${PATCH}")
33+
34+
CCS=$(printf '%s\n%s\n' "$CMT_MSG" "$HEADERS" | sed -n -e 's/^Cc: \(.*\)$/\1,/gp' \
35+
-e 's/^Signed-off-by: \(.*\)/\1,/gp')
36+
37+
echo "$SUBJECT" > $1
38+
echo "Cc: $CCS" >> $1
39+
echo "$HEADERS" | sed -e '/^Subject: /d' -e '/^Cc: /d' >> $1
40+
echo "$SEP" >> $1
41+
42+
echo "$CMT_MSG" >> $1
43+
echo "---" >> $1
44+
if [ "x${BODY}x" != "xx" ] ; then
45+
echo >> $1
46+
echo "$BODY" >> $1
47+
echo >> $1
48+
fi
49+
echo "$DIFF" >> $1
50+
51+
LAST_DIR=$(dirname "${PATCH}")
52+
53+
grep -v "^LAST_DIR=" "${CONFFILE}" > "${CONFFILE}_"
54+
echo "LAST_DIR=${LAST_DIR}" >> "${CONFFILE}_"
55+
mv "${CONFFILE}_" "${CONFFILE}"

0 commit comments

Comments
 (0)