summaryrefslogtreecommitdiff
path: root/tools/applymbox
diff options
context:
space:
mode:
Diffstat (limited to 'tools/applymbox')
-rwxr-xr-xtools/applymbox35
1 files changed, 35 insertions, 0 deletions
diff --git a/tools/applymbox b/tools/applymbox
new file mode 100755
index 0000000..5ac8d2b
--- /dev/null
+++ b/tools/applymbox
@@ -0,0 +1,35 @@
+#!/bin/sh
+##
+## "dotest" is my stupid name for my patch-application script, which
+## I never got around to renaming after I tested it. We're now on the
+## second generation of scripts, still called "dotest".
+##
+## Update: Ryan Anderson finally shamed me into naming this "applymbox".
+##
+## You give it a mbox-format collection of emails, and it will try to
+## apply them to the kernel using "applypatch"
+##
+## dotest [ -q ] mail_archive [Signoff_file]
+##
+rm -rf .dotest
+mkdir .dotest
+case $1 in
+
+ -q) touch .dotest/.query_apply
+ shift;;
+esac
+mailsplit $1 .dotest || exit 1
+for i in .dotest/*
+do
+ mailinfo .dotest/msg .dotest/patch < $i > .dotest/info || exit 1
+ git-stripspace < .dotest/msg > .dotest/msg-clean
+ applypatch .dotest/msg-clean .dotest/patch .dotest/info "$2"
+ ret=$?
+ if [ $ret -ne 0 ]; then
+ # 2 is a special exit code from applypatch to indicate that
+ # the patch wasn't applied, but continue anyway
+ [ $ret -ne 2 ] && exit $ret
+ fi
+done
+# return to pristine
+rm -fr .dotest