git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 1/3] gitweb: Mark boundary commits in 'blame' view

From
Jakub Narebski <jnareb@gmail.com>
Date
Jul 10, 2009, 21:55 UTC
Message-ID
<200907102355.44364.jnareb@gmail.com>
In-Reply-To
<200907102354.43232.jnareb@gmail.com>

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 cell 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 adjusted.

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

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
---
Formatting (styling) of boundary commits is currently very minimal.
I'd like to see what other possible solution would you like to have.
Bikeshedding open!
 gitweb/gitweb.css  |    4 ++++
 gitweb/gitweb.perl |    6 ++++--
 2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/gitweb/gitweb.css b/gitweb/gitweb.css
index d05bc37..5e2f629 100644
--- a/gitweb/gitweb.css
+++ b/gitweb/gitweb.css
@@ -242,6 +242,10 @@ tr.dark:hover {
 	background-color: #edece6;
 }
 
+tr.boundary td.sha1 {
+	font-weight: bold;
+}
+
 td {
 	padding: 2px 5px;
 	font-size: 100%;
diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
index 6a1b5b5..fe73c2c 100755
--- a/gitweb/gitweb.perl
+++ b/gitweb/gitweb.perl
@@ -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\"";
-- 
1.6.3.3
Previous: Jakub NarebskiNext: Jakub Narebski
Message 2 of 11 in “gitweb: 'blame' view improvements”
  1. 0/3 gitweb: 'blame' view improvementsJakub Narebski, Jul 10, 2009
  2. 1/3 gitweb: Mark boundary commits in 'blame' viewJakub Narebski, Jul 10, 2009
  3. 2/3 gitweb: Use "previous" header of git-blame -p in 'blame' viewJakub Narebski, Jul 10, 2009
  4. Junio C HamanoJul 10, 2009
  5. Jakub NarebskiJul 11, 2009
  6. Luben TuikovJul 12, 2009
  7. Jakub NarebskiJul 14, 2009
  8. 3/3 gitweb: Add author initials in 'blame' view, a la "git gui blame"Jakub Narebski, Jul 10, 2009
  9. Jakub NarebskiJul 11, 2009
  10. 5/3 gitweb: Incremental blame (proof of concept)Jakub Narebski, Jul 13, 2009
  11. 4/3 gitweb: Use light/dark class also in 'blame' viewJakub Narebski, Jul 12, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.