git-gui: Fix applying a line when all following lines are deletions
authorJeff Epler <jepler@unpythonic.net>
Tue, 8 Dec 2009 00:22:42 +0000 (18:22 -0600)
committerShawn O. Pearce <spearce@spearce.org>
Sat, 23 Jan 2010 23:00:09 +0000 (15:00 -0800)
If a diff looked like:

 @@
  context
 -del1
 -del2

and you wanted to stage the deletion 'del1', the generated patch
wouldn't apply because it was missing the line 'del2' converted to
context, but this line was counted in the @@-line

Signed-off-by: Jeff Epler <jepler@unpythonic.net>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
lib/diff.tcl

index bd5d189..066755b 100644 (file)
@@ -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 {