git-gui: use "blame -w -C -C" for "where did it come from, originally?"
authorJunio C Hamano <gitster@pobox.com>
Thu, 21 Jun 2007 04:44:16 +0000 (21:44 -0700)
committerShawn O. Pearce <spearce@spearce.org>
Mon, 9 Jul 2007 00:54:47 +0000 (20:54 -0400)
The blame window shows "who wrote the piece originally" and "who
moved it there" in two columns.  In order to identify the former
more correctly, it helps to use the new -w option.

[sp: Minor change to only enable -w if underlying git >= 1.5.3]

Signed-off-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
lib/blame.tcl

index 77abd8291dda6f4a4f2be5df6444f4d7c07aaf40..dcdb11b1b691b08d5fe254325b9be2db56802724 100644 (file)
@@ -33,6 +33,13 @@ variable group_colors {
        #ececec
 }
 
+# Switches for original location detection
+#
+variable original_options [list -C -C]
+if {[git-version >= 1.5.3]} {
+       lappend original_options -w ; # ignore indentation changes
+}
+
 # Current blame data; cleared/reset on each load
 #
 field commit               ; # input commit to blame
@@ -512,6 +519,7 @@ method _exec_blame {cur_w cur_d options cur_s} {
 method _read_blame {fd cur_w cur_d cur_s} {
        upvar #0 $cur_d line_data
        variable group_colors
+       variable original_options
 
        if {$fd ne $current_fd} {
                catch {close $fd}
@@ -681,7 +689,7 @@ method _read_blame {fd cur_w cur_d cur_s} {
                close $fd
                if {$cur_w eq $w_asim} {
                        _exec_blame $this $w_amov @amov_data \
-                               [list -M -C -C] \
+                               $original_options \
                                { original location}
                } else {
                        set current_fd {}