summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
inline | side by side (from parent 1:
dfbd146)
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 <redacted>
Signed-off-by: Junio C Hamano <redacted>
$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);
$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 "<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>) {
print "<table class=\"blame\">\n";
print "<tr><th>Commit</th><th>Line</th><th>Data</th></tr>\n";
while (my $line = <$fd>) {
my $lineno = $blame_line{'lineno'};
my $data = $blame_line{'data'};
my $lineno = $blame_line{'lineno'};
my $data = $blame_line{'data'};
+ 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";
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";
}
print "</table>\n";
print "</div>";
}
print "</table>\n";
print "</div>";
close $fd or print "Reading blob failed\n";
git_footer_html();
}
close $fd or print "Reading blob failed\n";
git_footer_html();
}