diff options
author | Thomas Rast <trast@student.ethz.ch> | 2008-07-04 21:10:14 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2008-07-05 00:37:44 -0700 |
commit | 6cf91492d9cd985e1fa65181d99d6d578d4439dc (patch) | |
tree | 167f08ae051d73ec55e1add3b85efa6fd370fe60 | |
parent | 7dde4bb3674da53dd9e33c741bea3fe680690a0d (diff) | |
download | git-6cf91492d9cd985e1fa65181d99d6d578d4439dc.tar.gz |
Fix apply --recount handling of no-EOL line
If a patch modifies the last line of a file that previously had no
terminating '\n', it looks like
-old text
\ No newline at end of file
+new text
Hence, a '\' line does not signal the end of the hunk. This modifies
'git apply --recount' to take this into account.
Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Acked-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | builtin-apply.c | 2 | ||||
-rwxr-xr-x | t/t4100-apply-stat.sh | 2 | ||||
-rw-r--r-- | t/t4100/t-apply-8.expect | 2 | ||||
-rw-r--r-- | t/t4100/t-apply-8.patch | 11 | ||||
-rw-r--r-- | t/t4100/t-apply-9.expect | 2 | ||||
-rw-r--r-- | t/t4100/t-apply-9.patch | 11 |
6 files changed, 29 insertions, 1 deletions
diff --git a/builtin-apply.c b/builtin-apply.c index 9fcfe3955d..c0f867daed 100644 --- a/builtin-apply.c +++ b/builtin-apply.c @@ -919,7 +919,7 @@ static void recount_diff(char *line, int size, struct fragment *fragment) newlines++; continue; case '\\': - break; + continue; case '@': ret = size < 3 || prefixcmp(line, "@@ "); break; diff --git a/t/t4100-apply-stat.sh b/t/t4100-apply-stat.sh index be837bb98d..e0c67740a5 100755 --- a/t/t4100-apply-stat.sh +++ b/t/t4100-apply-stat.sh @@ -33,6 +33,8 @@ mode non git (1) non git (2) non git (3) +incomplete (1) +incomplete (2) EOF test_done diff --git a/t/t4100/t-apply-8.expect b/t/t4100/t-apply-8.expect new file mode 100644 index 0000000000..eef7f2e65c --- /dev/null +++ b/t/t4100/t-apply-8.expect @@ -0,0 +1,2 @@ + t/t4100-apply-stat.sh | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/t/t4100/t-apply-8.patch b/t/t4100/t-apply-8.patch new file mode 100644 index 0000000000..5ca13e6594 --- /dev/null +++ b/t/t4100/t-apply-8.patch @@ -0,0 +1,11 @@ +diff --git a/t/t4100-apply-stat.sh b/t/t4100-apply-stat.sh +index be837bb..0798c64 100755 +--- a/t/t4100-apply-stat.sh ++++ b/t/t4100-apply-stat.sh +@@ -35,4 +35,4 @@ non git (2) + non git (3) + EOF + +-test_done ++test_done +\ No newline at end of file diff --git a/t/t4100/t-apply-9.expect b/t/t4100/t-apply-9.expect new file mode 100644 index 0000000000..eef7f2e65c --- /dev/null +++ b/t/t4100/t-apply-9.expect @@ -0,0 +1,2 @@ + t/t4100-apply-stat.sh | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/t/t4100/t-apply-9.patch b/t/t4100/t-apply-9.patch new file mode 100644 index 0000000000..875d57d567 --- /dev/null +++ b/t/t4100/t-apply-9.patch @@ -0,0 +1,11 @@ +diff --git a/t/t4100-apply-stat.sh b/t/t4100-apply-stat.sh +index 0798c64..be837bb 100755 +--- a/t/t4100-apply-stat.sh ++++ b/t/t4100-apply-stat.sh +@@ -35,4 +35,4 @@ non git (2) + non git (3) + EOF + +-test_done +\ No newline at end of file ++test_done |