Mercurial > hg
changeset 5483:ec2cc1dadbf7
Handle patches with misformatted empty lines
Insert a space on empty lines which are missing a control character.
Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
---
I frequently receive emailed patches with empty lines represented as "\n\n",
where Mercurial expects them to be "\n \n". patch(1) applies these patches
without complaint, but qpush fails all hunks.
author | Hollis Blanchard <hollisb@us.ibm.com> |
---|---|
date | Thu, 01 Nov 2007 17:15:50 -0500 |
parents | e5eedd74e70f |
children | 07bdb5e5d08c |
files | mercurial/diffhelpers.c |
diffstat | 1 files changed, 6 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/diffhelpers.c Thu Nov 01 12:17:59 2007 -0700 +++ b/mercurial/diffhelpers.c Thu Nov 01 17:15:50 2007 -0500 @@ -83,6 +83,12 @@ _fix_newline(hunk, a, b); continue; } + if (c == '\n') { + /* Some patches may be missing the control char + * on empty lines. Supply a leading space. */ + Py_DECREF(x); + x = PyString_FromString(" \n"); + } PyList_Append(hunk, x); if (c == '+') { l = PyString_FromString(s + 1);