Code

gitweb: Mark boundary commits in 'blame' view
authorJakub Narebski <jnareb@gmail.com>
Fri, 24 Jul 2009 22:44:02 +0000 (00:44 +0200)
committerJunio C Hamano <gitster@pobox.com>
Sat, 25 Jul 2009 08:39:16 +0000 (01:39 -0700)
Use "boundary" class to mark boundary commits, which currently results
in using bold weight font for SHA-1 of a commit (to be more exact for
all text in the first cell in row, that contains SHA-1 of a commit).

Detecting boundary commits is done by watching for "boundary" header
in "git blame -p" output.  Because this header doesn't carry
additional data the regular expression for blame header fields
had to be slightly adjusted.

With current gitweb API only root (parentless) commits can be boundary
commits.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
gitweb/gitweb.css
gitweb/gitweb.perl

index 70b7c2f62d028128ec8cf5a93e60f4388efba856..f47709bac550aa906139feb34a56774dbc9a31be 100644 (file)
@@ -242,6 +242,10 @@ tr.dark:hover {
        background-color: #edece6;
 }
 
+tr.boundary td.sha1 {
+       font-weight: bold;
+}
+
 td {
        padding: 2px 5px;
        font-size: 100%;
index 7fbd5ff89e82d3c5b1496ff116c7624f538fd66c..3078b9280b8c922ea657a5df85acb36d0bf33e4a 100755 (executable)
@@ -4826,7 +4826,7 @@ HTML
                while ($data = <$fd>) {
                        chomp $data;
                        last if ($data =~ s/^\t//); # contents of line
-                       if ($data =~ /^(\S+) (.*)$/) {
+                       if ($data =~ /^(\S+)(?: (.*))?$/) {
                                $meta->{$1} = $2;
                        }
                }
@@ -4838,7 +4838,9 @@ HTML
                if ($group_size) {
                        $current_color = ($current_color + 1) % $num_colors;
                }
-               print "<tr id=\"l$lineno\" class=\"$rev_color[$current_color]\">\n";
+               my $tr_class = $rev_color[$current_color];
+               $tr_class .= ' boundary' if (exists $meta->{'boundary'});
+               print "<tr id=\"l$lineno\" class=\"$tr_class\">\n";
                if ($group_size) {
                        print "<td class=\"sha1\"";
                        print " title=\"". esc_html($author) . ", $date\"";