diff options
Diffstat (limited to 'tools/applymbox')
-rwxr-xr-x | tools/applymbox | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/tools/applymbox b/tools/applymbox new file mode 100755 index 0000000000..5ac8d2b4da --- /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 |