This reproduces in trunk, 1.7.8.4, and 1.7.9.5. I suspect this has to do with a whitespace + no trailing newline issues. The patch was generated by 1.7.9.5. I mangled it by hand to get it to be small, but the initial crash happened on a large, real-world output of "git format-patch".
Error messages:
~/GIT-AM-CRASH$ ../git/git am crashy.patch
Applying: Git crash bug
git: builtin/apply.c:2108: update_pre_post_images: Assertion
`fixed_preimage.nr == preimage->nr' failed.
/home/lesha/GIT-AM-CRASH/../git/git-am: line 811: 23819 Aborted
git apply --index "$dotest/patch"
Patch failed at 0001 Git crash bug
The copy of the patch that failed is found in:
/home/lesha/GIT-AM-CRASH/.git/rebase-apply/patch
When you have resolved this problem, run "git am --resolved".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".
Repro steps:
mkdir GIT-AM-CRASH
cd GIT-AM-CRASH
# download files into this directory
git init .
mkdir -p meep/spork
mv __init__.py meep/spork
git add meep/spork/__init__.py
git ci -am 'moo'
git am crashy.patch
Hope this helps!
Alexey
crashy.patch
Description: Binary data
__init__.py
Description: Binary data

