From 1fcd24d04358ea10c296a414e2b93f3714adca4b Mon Sep 17 00:00:00 2001 From: Heiko Voigt Date: Thu, 9 May 2013 18:30:02 +0200 Subject: [PATCH] git-gui: allow "\ No newline at end of file" for linewise staging Counting of lines did not skip this line when generating the hunk header. Acked-by: Tobias Preuss Signed-off-by: Heiko Voigt Signed-off-by: Pat Thoyts --- lib/diff.tcl | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/diff.tcl b/lib/diff.tcl index ec44055..30d9a79 100644 --- a/lib/diff.tcl +++ b/lib/diff.tcl @@ -764,8 +764,15 @@ proc apply_range_or_line {x y} { # context line set ln [$ui_diff get $i_l $next_l] set patch "$patch$pre_context$ln" - set n [expr $n+1] - set m [expr $m+1] + # Skip the "\ No newline at end of + # file". Depending on the locale setting + # we don't know what this line looks + # like exactly. The only thing we do + # know is that it starts with "\ " + if {![string match {\\ *} $ln]} { + set n [expr $n+1] + set m [expr $m+1] + } set pre_context {} } elseif {$c1 eq $to_context} { # turn change line into context line -- 2.11.4.GIT