git-gui: Fix applying a line when all following lines are deletions
[gitweb.git] / lib / diff.tcl
index d593323ae001e1a0f17e7550d52db152775e8806..066755b864b587e073a820aa2eb729a6c930d7b0 100644 (file)
@@ -300,9 +300,9 @@ proc start_show_diff {cont_info {add_opts {}}} {
         || [string match {160000 *} [lindex $s 3]]} {
                set is_submodule_diff 1
                if {$w eq $ui_index} {
-                       set cmd {submodule summary --cached -- $current_diff_path}
+                       set cmd [list submodule summary --cached -- $path]
                } else {
-                       set cmd {submodule summary --files -- $current_diff_path}
+                       set cmd [list submodule summary --files -- $path]
                }
        }
 
@@ -664,6 +664,7 @@ proc apply_line {x y} {
                }
                set i_l $next_l
        }
+       set patch "$patch$pre_context"
        set patch "@@ -$hln,$n +$hln,[eval expr $n $sign 1] @@\n$patch"
 
        if {[catch {