• J
    git-gui: Fix "Stage/Unstage Line" with one line of context. · fa6b5b39
    Johannes Sixt 提交于
    To "Stage/Unstage Line" we construct a patch that contains exactly one
    change (either addition or removal); the hunk header was forged by counting
    the old side and adjusting the count by +/-1 for the new side. But when we
    counted the context we never counted the changed line itself. If the hunk
    had only one removal line and one line of context, like this:
    
        @@ -1,3 +1,2 @@
         context 1
        -removal
         context 2
    
    We had constructed this patch:
    
        @@ -1,2 +1,1 @@
         context 1
        -removal
         context 2
    
    which does not apply because git apply deduces that it must apply at the
    end of the file. ("context 2" is considered garbage and ignored.) The fix
    is that removal lines must be counted towards the context of the old side.
    Signed-off-by: NJohannes Sixt <johannes.sixt@telecom.at>
    Signed-off-by: NShawn O. Pearce <spearce@spearce.org>
    fa6b5b39
diff.tcl 10.6 KB