summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Shawn O. Pearce <spearce@spearce.org>2007-07-08 21:06:43 -0400
committerLibravatar Shawn O. Pearce <spearce@spearce.org>2007-07-08 21:06:43 -0400
commit88dce86f38bed84abadd73bbc40d9df92b7519db (patch)
treef59eb4e744b3d3a90c453dd78e4573bfaf769ede
parentgit-gui: Ensure windows shortcuts always have .bat extension (diff)
downloadtgif-88dce86f38bed84abadd73bbc40d9df92b7519db.tar.xz
git-gui: Skip nicknames when selecting author initials
Our blame viewer only grabbed the first initial of the git.git author string "Simon 'corecode' Schubert". Here the problem was we looked at Simon, pulled the S into the author initials, then saw the single quote as the start of the next name and did not like this character as it was not an uppercase letter. We now skip over single quoted nicknames placed within the author name field and grab the initials following it. So the above name will get the initials SS, rather than just S. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
-rw-r--r--lib/blame.tcl4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/blame.tcl b/lib/blame.tcl
index b523654815..1d2caac283 100644
--- a/lib/blame.tcl
+++ b/lib/blame.tcl
@@ -547,6 +547,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