BUG?: git-apply sometimes says "corrupt patch" when adding single lines
- From
Tor Arvid Lund <torarvid@gmail.com>
- Date
- Aug 17, 2010, 23:27 UTC
- Message-ID
- <AANLkTineHiG9vCpbJzJ2x9CFjZ7LQeExs7cN5YhoZhft@mail.gmail.com>
Hi.
I often use git-gui when staging commits, and I noticed that if the file I'm working with has a:
\ No newline at end of file
... as the last line of the diff, and I try to "Stage lines for commit", then git-gui (or really git-apply, as I understand it) says that I have a "corrupt patch at line <so-and-so>".
I don't really know the git-gui code or the git C code well, but it seems that I got around the error with this small patch:
diff --git a/builtin/apply.c b/builtin/apply.c index 12ef9ea..124791f 100644 --- a/builtin/apply.c +++ b/builtin/apply.c @@ -1335,6 +1335,8 @@ static int parse_fragment(char *line, unsigned long size, * l10n of "\ No newline..." is at least that long. */ case '\\': + if (newlines == oldlines == 1) + newlines = oldlines = 0; if (len < 12 || memcmp(line, "\\ ", 2)) return -1; break; Is this a bug? Or is it maybe git-gui that sends something wrong to git-apply? I don't know... :-/ (I'm using msysGit on Windows, if that matters) -Tor Arvid-