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

[PATCH] gitweb: show rev only on the first line of each group in blame

From
Junio C Hamano <junkio@cox.net>
Date
Aug 29, 2006, 09:06 UTC
Message-ID
<7vbqq3oqqq.fsf_-_@assigned-by-dhcp.cox.net>
In-Reply-To
<7vveocpfa3.fsf@assigned-by-dhcp.cox.net>
Thanks to the last round, this is now easy to do.
Signed-off-by: Junio C Hamano <junkio@cox.net>
---
 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
Previous: Junio C Hamano
Message 16 of 16 in “gitweb: Additions to commitdiff view”
  1. 0/5 gitweb: Additions to commitdiff viewJakub Narebski, Aug 28, 2006
  2. 1/5 gitweb: Make git_print_log generic; git_print_simplified_log uses itJakub Narebski, Aug 28, 2006
  3. 2/5 gitweb: Do not remove signoff lines in git_print_simplified_logJakub Narebski, Aug 28, 2006
  4. 3/5 gitweb: Add author information to commitdiff viewJakub Narebski, Aug 28, 2006
  5. 4/5 gitweb: git_print_log: signoff line is non-empty lineJakub Narebski, Aug 28, 2006
  6. 5/5 gitweb: Add diff tree, with links to patches, to commitdiff viewJakub Narebski, Aug 28, 2006
  7. Linus TorvaldsAug 28, 2006
  8. gitweb: Add local time and timezone to git_print_authorshipJakub Narebski, Aug 28, 2006
  9. Junio C HamanoAug 29, 2006
  10. Jakub NarebskiAug 29, 2006
  11. Junio C HamanoAug 29, 2006
  12. Jakub NarebskiAug 29, 2006
  13. Junio C HamanoAug 30, 2006
  14. Jakub NarebskiAug 30, 2006
  15. gitweb: split output routine of blame2Junio C Hamano, Aug 29, 2006
  16. gitweb: show rev only on the first line of each group in blameJunio C Hamano, Aug 29, 2006

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.