Skip to content

Commit

Permalink
gitweb.cgi: git_blame2: Revision blocks now have alternating colors
Browse files Browse the repository at this point in the history
A revision block is the largest number of adjacent
lines of code originating from the same revision.

This patch adds color to git_blame2(), in that no two
adjacent revision blocks have the same color.  The color
alternates between light and dark.

As we annotate the code lines, we alternate the color
(light, dark) of code lines _per revision_.  This makes it
easier to see line conglomerations per revision.

Signed-off-by: Luben Tuikov <ltuikov@yahoo.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
  • Loading branch information
Luben Tuikov authored and Junio C Hamano committed Jul 25, 2006
1 parent 4f7b34c commit cc1bf97
Showing 1 changed file with 11 additions and 4 deletions.
15 changes: 11 additions & 4 deletions gitweb/gitweb.cgi
Original file line number Diff line number Diff line change
Expand Up @@ -1295,9 +1295,11 @@ sub git_blame2 {
$cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=commit;h=$hash_base"), -class => "title"}, esc_html($co{'title'})) .
"</div>\n";
git_print_page_path($file_name, $ftype);
my @rev_color = (qw(light dark));
my $num_colors = scalar(@rev_color);
my $current_color = 0;
my $last_rev;
print "<div class=\"page_body\">\n";

print "<table class=\"blame\">\n";
print "<tr><th>Commit</th><th>Line</th><th>Data</th></tr>\n";
while (my $line = <$fd>) {
Expand All @@ -1307,7 +1309,13 @@ sub git_blame2 {
my $lineno = $blame_line{'lineno'};
my $data = $blame_line{'data'};

print "<tr>\n";
if (!defined $last_rev) {
$last_rev = $full_rev;
} elsif ($last_rev ne $full_rev) {
$last_rev = $full_rev;
$current_color = ++$current_color % $num_colors;
}
print "<tr class=\"$rev_color[$current_color]\">\n";
print "<td class=\"sha1\">" .
$cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=commit;h=$full_rev;f=$file_name")}, esc_html($rev)) . "</td>\n";
print "<td class=\"linenr\"><a id=\"l$lineno\" href=\"#l$lineno\" class=\"linenr\">" . esc_html($lineno) . "</a></td>\n";
Expand All @@ -1316,7 +1324,6 @@ sub git_blame2 {
}
print "</table>\n";
print "</div>";

close $fd or print "Reading blob failed\n";
git_footer_html();
}
Expand Down

0 comments on commit cc1bf97

Please sign in to comment.