The latest version of patch 2.7 has a bug which will cause file lost when applying git generated diff. I have already been hurt by this bug.
The git repository of patch seems have fixed this problem. (git://git.savannah.gnu.org/patch.git)
281537bcd92 "In a git-style diff, make sure not to unlink the original
by accident" fixed the problem.
99f263876 "Fix file truncation when switching from git diff to non-git
diff", seems serious enough to be considered for updating the patch program.