]> asedeno.scripts.mit.edu Git - git.git/blobdiff - lib/blame.tcl
Merge branch 'maint'
[git.git] / lib / blame.tcl
index 77abd8291dda6f4a4f2be5df6444f4d7c07aaf40..76b5168fb32bd93f7824c2b8fb9ceb8ac7e139e4 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}
@@ -548,6 +556,10 @@ method _read_blame {fd cur_w cur_d cur_s} {
                        set a_name {}
                        catch {set a_name $header($cmit,author)}
                        while {$a_name ne {}} {
+                               if {$author_abbr ne {}
+                                       && [string index $a_name 0] eq {'}} {
+                                       regsub {^'[^']+'\s+} $a_name {} a_name
+                               }
                                if {![regexp {^([[:upper:]])} $a_name _a]} break
                                append author_abbr $_a
                                unset _a
@@ -681,7 +693,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 {}