Browse Source

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>
maint
Thomas Rast 17 years ago committed by Junio C Hamano
parent
commit
6cf91492d9
  1. 2
      builtin-apply.c
  2. 2
      t/t4100-apply-stat.sh
  3. 2
      t/t4100/t-apply-8.expect
  4. 11
      t/t4100/t-apply-8.patch
  5. 2
      t/t4100/t-apply-9.expect
  6. 11
      t/t4100/t-apply-9.patch

2
builtin-apply.c

@ -919,7 +919,7 @@ static void recount_diff(char *line, int size, struct fragment *fragment) @@ -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;

2
t/t4100-apply-stat.sh

@ -33,6 +33,8 @@ mode @@ -33,6 +33,8 @@ mode
non git (1)
non git (2)
non git (3)
incomplete (1)
incomplete (2)
EOF

test_done

2
t/t4100/t-apply-8.expect

@ -0,0 +1,2 @@ @@ -0,0 +1,2 @@
t/t4100-apply-stat.sh | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

11
t/t4100/t-apply-8.patch

@ -0,0 +1,11 @@ @@ -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

2
t/t4100/t-apply-9.expect

@ -0,0 +1,2 @@ @@ -0,0 +1,2 @@
t/t4100-apply-stat.sh | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

11
t/t4100/t-apply-9.patch

@ -0,0 +1,11 @@ @@ -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
Loading…
Cancel
Save