From 669fbc3d09b259bb3bc3bd2ab126ceb28db61b16 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Fri, 1 Jun 2007 21:54:06 -0400 Subject: git-gui: Combine blame groups only if commit and filename match Consecutive chunks of a file could come from the same commit, but have different original file names. Previously we would have put them into a single group, but then the hyperlink would jump to only one of the files, and the other would not be accessible. Now we can get to the other file too. Signed-off-by: Shawn O. Pearce --- lib/blame.tcl | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'lib/blame.tcl') diff --git a/lib/blame.tcl b/lib/blame.tcl index 33e8489d06..33d5204f32 100644 --- a/lib/blame.tcl +++ b/lib/blame.tcl @@ -518,8 +518,10 @@ method _read_blame {fd} { set first_lno $lno while { - ![catch {set ncmit $line_commit([expr {$first_lno - 1}])}] + ![catch {set ncmit $line_commit([expr {$first_lno - 1}])}] + && ![catch {set nfile $line_file([expr {$first_lno - 1}])}] && $ncmit eq $cmit + && $nfile eq $file } { incr first_lno -1 } @@ -572,8 +574,12 @@ method _read_blame {fd} { incr blame_lines } - while {![catch {set ncmit $line_commit($lno)}] - && $ncmit eq $cmit} { + while { + ![catch {set ncmit $line_commit($lno)}] + && ![catch {set nfile $line_file($lno)}] + && $ncmit eq $cmit + && $nfile eq $file + } { $w_cgrp delete $lno.0 "$lno.0 lineend" if {$lno == $first_lno} { -- cgit v1.2.3