Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
git-gui: allow "\ No newline at end of file" for linewise staging
author
Heiko Voigt
<hvoigt@hvoigt.net>
Thu, 9 May 2013 16:30:02 +0000
(18:30 +0200)
committer
Pat Thoyts
<patthoyts@users.sourceforge.net>
Thu, 16 May 2013 22:40:59 +0000
(23:40 +0100)
Counting of lines did not skip this line when generating the hunk
header.
Acked-by: Tobias Preuss <tobias.preuss@googlemail.com>
Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
lib/diff.tcl
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
60468d6
)
diff --git
a/lib/diff.tcl
b/lib/diff.tcl
index ec4405567a9b86a9bfd8bf50815b3c9c14e2df40..30d9a797769b49cdd9d42fba925d8fa8ecbffb21 100644
(file)
--- 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"
# 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
set pre_context {}
} elseif {$c1 eq $to_context} {
# turn change line into context line