$ mkdir patches $ cat > no-subject < Here goes a longer description of the patch, which is < totally useless except as a test case for the quilt mail < command. This paragraph is longer than 150 characters so < that it won't be taken for a subject header itself. < < Index: anything $ cat no-subject > patches/1.diff $ ls patches/ > series $ quilt mail --mbox mbox --prefix "test" --subject "This is a test" -m "Message" > Unable to extract a subject header from patches/1.diff $ cat - no-subject > patches/1.diff < Subject: Subject of 1.diff < < Acked-by: Dummy < $ quilt mail --mbox mbox --prefix "test" -m "Message" > Introduction has no subject header $ cat - no-subject > patches/2.diff < DESC < Subject of 2.diff < is: split < into multiple < lines < EDESC < < Signed-off-by: Dummy < $ cat - no-subject > patches/3.diff < Subject of 3.diff < < To: John X. Doe < $ cat - no-subject > patches/4.diff < First paragraph used as < subject of 4.diff. < < Signed-off-by: Joe R. Hacker < Cc: "John X. Doe" < Cc: Ü is an umlaut < $ cat - no-subject > patches/5.diff < Subject of 1.diff < $ ls patches/ > series $ quilt mail --mbox mbox --prefix "test" --subject "This is a test" -m "Message" > Patches patches/1.diff, patches/5.diff have duplicate subject headers. $ cat - no-subject > patches/5.diff < Aw: [patch] Fwd: Re: [patch 5/7] Fw: Subject of 5.diff < $ cat - no-subject > patches/6.diff < Subject: Must not expand * ? [abc] < $ ls patches/ > series $ quilt mail --mbox mbox --prefix "test" --subject "This is a test" -m "Message" $ sed -nre "s/^(From [^ ]*).*/\\1/p" -e "/^Subject:/p" -e "/^To:/p" -e "/^Cc:/p" -e "/^ /p" -e "/^Replace-.*:/p" -e "/^Recipient-.*:/p" mbox > From a@b.c > Subject: [test 0/6] This is a test > From a@b.c > Cc: Dummy > Subject: [test 1/6] Subject of 1.diff > From a@b.c > Cc: Dummy > Subject: [test 2/6] Subject of 2.diff is: split into multiple lines > From a@b.c > To: "John X. Doe" > Subject: [test 3/6] Subject of 3.diff > To: John X. Doe > From a@b.c > Cc: "Joe R. Hacker" , > "John X. Doe" , > =?UTF-8?q?=C3=9C=20is=20an=20umlaut?= > Subject: [test 4/6] First paragraph used as subject of 4.diff. > Cc: "John X. Doe" > Cc: Ü is an umlaut > From a@b.c > Subject: [test 5/6] Subject of 5.diff > From a@b.c > Subject: [test 6/6] Must not expand * ? [abc]