gitk : Lines not showing up in diff
I "think" this is a bug in gitk:
If I have a textfile in which I remove or add a line that looks like "-----------...", it won't show up in the diff gitk produces. "cg-log" shows the line correctly being added or deleted.
I'm using gitk 1.2.4 (From Fedora, gitk-1.2.4-1.fc4)
//Jacob
PATCH 1/1 gitk : fix missing lines when displaying diff.
Lines which are added (removed) and begin with +++ (---) are not shown correctly when displaying in the diff panel.
The +++ and --- lines are part of the diff header, with the +++ indicating the end of the header.
---
gitk | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-)
d0da9f04cf565df64a954e1bfd4c5c0913b83322
gitk +4 -2
@@ -2595,8 +2595,10 @@ proc getblobdiffline {bdf ids} { set pad [string range "----------------------------------------" 1 $l] $ctext insert end "$pad $header $pad\n" filesep set diffinhdr 1 - } elseif {[regexp {^(---|\+\+\+)} $line]} { - set diffinhdr 0 + } elseif {$diffinhdr == 1 && [regexp {^(---|\+\+\+) } $line]} { + if {[regexp {^\+\+\+ } $line]} { + set diffinhdr 0 + } } elseif {[regexp {^@@ -([0-9]+),([0-9]+) \+([0-9]+),([0-9]+) @@(.*)} \ $line match f1l f1c f2l f2c rest]} { $ctext insert end "$line\n" hunksep
--
1.2.3.g20d2
Re: [PATCH] gitk : fix missing lines when displaying diff.
Quoted 5 lines · Robert Fitzsimons
Lines which are added (removed) and begin with +++ (---) are not shown correctly when displaying in the diff panel.
The +++ and --- lines are part of the diff header, with the +++ indicating the end of the header.
Thanks for pointing out the easy fix. I had been going to do something much more complicated. :)
However, your patch didn't apply due to the whitespace being munged. I committed an equivalent fix, but I took the opportunity to change the [regexp] to a couple of [string compare]s as well.
Paul.