add -p: fix counting when splitting and coalescing
When a file has no trailing new line at the end diff records this by appending "\ No newline at end of file" below the last line of the file. This line should not be counted in the hunk header. Fix the splitting and coalescing code to count files without a trailing new line properly and change one of the tests to test splitting without a trailing new line. Signed-off-by: Phillip Wood <phillip.wood@dunelm.org.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
2b8ea7f3c7
commit
b3e0fcfe42
@ -793,6 +793,11 @@ sub split_hunk {
|
||||
while (++$i < @$text) {
|
||||
my $line = $text->[$i];
|
||||
my $display = $display->[$i];
|
||||
if ($line =~ /^\\/) {
|
||||
push @{$this->{TEXT}}, $line;
|
||||
push @{$this->{DISPLAY}}, $display;
|
||||
next;
|
||||
}
|
||||
if ($line =~ /^ /) {
|
||||
if ($this->{ADDDEL} &&
|
||||
!defined $next_hunk_start) {
|
||||
@ -891,6 +896,9 @@ sub merge_hunk {
|
||||
$n_cnt++;
|
||||
push @line, $line;
|
||||
next;
|
||||
} elsif ($line =~ /^\\/) {
|
||||
push @line, $line;
|
||||
next;
|
||||
}
|
||||
|
||||
last if ($o1_ofs <= $ofs);
|
||||
@ -909,6 +917,9 @@ sub merge_hunk {
|
||||
$n_cnt++;
|
||||
push @line, $line;
|
||||
next;
|
||||
} elsif ($line =~ /^\\/) {
|
||||
push @line, $line;
|
||||
next;
|
||||
}
|
||||
$ofs++;
|
||||
$o_cnt++;
|
||||
|
Reference in New Issue
Block a user