Thanks to the last round, this is now easy to do. Signed-off-by: Junio C Hamano <junkio@xxxxxxx> --- gitweb/gitweb.perl | 21 ++++++++++++++++----- 1 files changed, 16 insertions(+), 5 deletions(-) diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl index 28e1cfd..5c82d3f 100755 --- a/gitweb/gitweb.perl +++ b/gitweb/gitweb.perl @@ -2174,8 +2174,11 @@ sub flush_blame_lines { my ($color, $file_name, @line) = @_; my $full_rev = shift @line; my $rev = substr($full_rev, 0, 8); + my $cnt = scalar @line; + my $this = 0; for (@line) { + $this++; unless (/^[0-9a-fA-F]{40}.*?(\d+)\)\s(.*)/) { print "<tr><td>(malformed blame output)</td></tr>"; next; @@ -2183,11 +2186,19 @@ sub flush_blame_lines { my $lineno = $1; my $data = $2; print "<tr class=\"$color\">\n"; - print "<td class=\"sha1\">" . - $cgi->a({-href => href(action=>"commit", - hash=>$full_rev, - file_name=>$file_name)}, - esc_html($rev)) . "</td>\n"; + + if ($this == 1) { + if (1 < $cnt) { + print "<td class=\"sha1\" rowspan=\"$cnt\">"; + } + else { + print "<td class=\"sha1\">"; + } + print $cgi->a({-href => href(action=>"commit", + hash=>$full_rev, + file_name=>$file_name)}, + esc_html($rev)) . "</td>\n"; + } print +("<td class=\"linenr\">". "<a id=\"l$lineno\" href=\"#l$lineno\" ". "class=\"linenr\">" . -- 1.4.2.g39ee - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html