git/t/t5100
Don Zickus 87ab799234 builtin-mailinfo.c infrastrcture changes
I am working on a project that required parsing through regular
mboxes that didn't necessarily have patches embedded in them.  I
started by creating my own modified copy of git-am and working
from there.  Very quickly, I noticed git-mailinfo wasn't able to
handle a big chunk of my email.

After hacking up numerous solutions and running into more
limitations, I decided it was just easier to rewrite a big chunk
of it.  The following patch has a bunch of fixes and features
that I needed in order for me do what I wanted.

Note: I'm didn't follow any email rfc papers but I don't think
any of the changes I did required much knowledge (besides the
boundary stuff).

List of major changes/fixes:
- can't create empty patch files fix
- empty patch files don't fail, this failure will come inside git-am
- multipart boundaries are now handled
- only output inbody headers if a patch exists otherwise assume those
headers are part of the reply and instead output the original headers
- decode and filter base64 patches correctly
- various other accidental fixes

I believe I didn't break any existing functionality or
compatibility (other than what I describe above, which is really
only the empty patch file).

I tested this through various mailing list archives and
everything seemed to parse correctly (a couple thousand emails).

[jc: squashed in another patch from Don's five patch series to
 fix the test case, as this patch exposes the bug in the test.]

Signed-off-by: Don Zickus <dzickus@redhat.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-03-12 23:33:41 -07:00
..
info0001 t5100: mailinfo and mailsplit tests. 2006-06-17 16:26:20 -07:00
info0002 t5100: mailinfo and mailsplit tests. 2006-06-17 16:26:20 -07:00
info0003 t5100: mailinfo and mailsplit tests. 2006-06-17 16:26:20 -07:00
info0004 t5100: mailinfo and mailsplit tests. 2006-06-17 16:26:20 -07:00
info0005 t5100: mailinfo and mailsplit tests. 2006-06-17 16:26:20 -07:00
info0006 mailinfo: do not get confused with logical lines that are too long. 2007-02-27 01:02:32 -08:00
msg0001 t5100: mailinfo and mailsplit tests. 2006-06-17 16:26:20 -07:00
msg0002 t5100: mailinfo and mailsplit tests. 2006-06-17 16:26:20 -07:00
msg0003 t5100: mailinfo and mailsplit tests. 2006-06-17 16:26:20 -07:00
msg0004 t5100: mailinfo and mailsplit tests. 2006-06-17 16:26:20 -07:00
msg0005 t5100: mailinfo and mailsplit tests. 2006-06-17 16:26:20 -07:00
msg0006 mailinfo: do not get confused with logical lines that are too long. 2007-02-27 01:02:32 -08:00
patch0001 t5100: mailinfo and mailsplit tests. 2006-06-17 16:26:20 -07:00
patch0002 t5100: mailinfo and mailsplit tests. 2006-06-17 16:26:20 -07:00
patch0003 t5100: mailinfo and mailsplit tests. 2006-06-17 16:26:20 -07:00
patch0004 t5100: mailinfo and mailsplit tests. 2006-06-17 16:26:20 -07:00
patch0005 builtin-mailinfo.c infrastrcture changes 2007-03-12 23:33:41 -07:00
patch0006 mailinfo: do not get confused with logical lines that are too long. 2007-02-27 01:02:32 -08:00
sample.mbox mailinfo: do not get confused with logical lines that are too long. 2007-02-27 01:02:32 -08:00