Code

git-apply: fix rename header parsing
authorLinus Torvalds <torvalds@ppc970.osdl.org>
Sun, 5 Jun 2005 21:26:50 +0000 (14:26 -0700)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Sun, 5 Jun 2005 21:26:50 +0000 (14:26 -0700)
It's not "rename from" and "rename to", it's "rename old" and "rename new".

Which is illogical and doesn't match the "copy from/to" case, but that's
life. Maybe Junio will fix it up one of these days.

apply.c

diff --git a/apply.c b/apply.c
index cf55fda71edba2ea4a78d52e714e37f46fda9691..e02e760be2c4e55659187b362406a129fd908f22 100644 (file)
--- a/apply.c
+++ b/apply.c
@@ -435,8 +435,8 @@ static int parse_git_header(char *line, int len, unsigned int size, struct patch
                        { "new file mode ", gitdiff_newfile },
                        { "copy from ", gitdiff_copysrc },
                        { "copy to ", gitdiff_copydst },
-                       { "rename from ", gitdiff_renamesrc },
-                       { "rename to ", gitdiff_renamedst },
+                       { "rename old ", gitdiff_renamesrc },
+                       { "rename new ", gitdiff_renamedst },
                        { "similarity index ", gitdiff_similarity },
                        { "dissimilarity index ", gitdiff_dissimilarity },
                        { "", gitdiff_unrecognized },
@@ -569,7 +569,7 @@ static int find_header(char *line, unsigned long size, int *hdrsize, struct patc
                        if (git_hdr_len < 0)
                                continue;
                        if (!patch->old_name && !patch->new_name)
-                               die("git diff header lacks filename information");
+                               die("git diff header lacks filename information (line %d)", linenr);
                        *hdrsize = git_hdr_len;
                        return offset;
                }