gitweb: blame: Mouse-over commit-8 shows author and date
[gitweb.git] / gitweb / gitweb.perl
index 32bd7b6f9ccf81c90f1f73962f7d55fd7b757235..a99fabf4add3f65f8e950f4e29b5aecf04b202da 100755 (executable)
@@ -2490,22 +2490,30 @@ sub git_blame2 {
 <tr><th>Commit</th><th>Line</th><th>Data</th></tr>
 HTML
        while (<$fd>) {
-               /^([0-9a-fA-F]{40}).*?(\d+)\)\s{1}(\s*.*)/;
-               my $full_rev = $1;
+               my ($full_rev, $author, $date, $lineno, $data) =
+                       /^([0-9a-f]{40}).*?\s\((.*?)\s+([-\d]+ [:\d]+ [-+\d]+)\s+(\d+)\)\s(.*)/;
                my $rev = substr($full_rev, 0, 8);
-               my $lineno = $2;
-               my $data = $3;
+               my $print_c8 = 0;
 
                if (!defined $last_rev) {
                        $last_rev = $full_rev;
+                       $print_c8 = 1;
                } elsif ($last_rev ne $full_rev) {
                        $last_rev = $full_rev;
                        $current_color = ++$current_color % $num_colors;
+                       $print_c8 = 1;
                }
                print "<tr class=\"$rev_color[$current_color]\">\n";
-               print "<td class=\"sha1\">" .
-                       $cgi->a({-href => href(action=>"commit", hash=>$full_rev, file_name=>$file_name)},
-                               esc_html($rev)) . "</td>\n";
+               print "<td class=\"sha1\"";
+               if ($print_c8 == 1) {
+                       print " title=\"$author, $date\"";
+               }
+               print ">";
+               if ($print_c8 == 1) {
+                       print $cgi->a({-href => href(action=>"commit", hash=>$full_rev, file_name=>$file_name)},
+                                     esc_html($rev));
+               }
+               print "</td>\n";
                print "<td class=\"linenr\"><a id=\"l$lineno\" href=\"#l$lineno\" class=\"linenr\">" .
                      esc_html($lineno) . "</a></td>\n";
                print "<td class=\"pre\">" . esc_html($data) . "</td>\n";