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

[PATCH 4/4] gitweb: show notes in commit(diff) view

From
Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Date
Feb 4, 2010, 16:18 UTC
Message-ID
<1265300338-25021-5-git-send-email-giuseppe.bilotta@gmail.com>
In-Reply-To
<1265300338-25021-1-git-send-email-giuseppe.bilotta@gmail.com>
The notes are shown side-by-side along the bottom of the commit message.
---
 gitweb/gitweb.css  |   11 +++++++++++
 gitweb/gitweb.perl |   21 +++++++++++++++++++++
 2 files changed, 32 insertions(+), 0 deletions(-)
diff --git a/gitweb/gitweb.css b/gitweb/gitweb.css
index 81d66d3..10acab4 100644
--- a/gitweb/gitweb.css
+++ b/gitweb/gitweb.css
@@ -145,6 +145,7 @@ div.list_head {
 	border: solid #d9d8d1;
 	border-width: 1px 0px 0px;
 	font-style: italic;
+	clear: both;
 }
 
 .author_date, .author {
@@ -612,3 +613,13 @@ div.notes div.note {
 	border:1px solid #c9bb83;
 	padding:4px;margin:0;
 }
+
+
+div.page_body div.notes {
+	max-width:100%;
+	float:none;
+}
+
+div.page_body div.notes div.note {
+	float:left;
+}
diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
index 0d0877e..0d03026 100755
--- a/gitweb/gitweb.perl
+++ b/gitweb/gitweb.perl
@@ -2837,12 +2837,31 @@ sub parse_commit {
 	%co = parse_commit_text(<$fd>, 1);
 	close $fd;
 
+	my %notes = ();
+	foreach my $note_ref (get_note_refs()) {
+		my $obj = "$note_ref:$co{'id'}";
+		if (open my $fd, '-|', git_cmd(), 'rev-parse',
+			'--verify', '-q', $obj) {
+			my $exists = <$fd>;
+			close $fd;
+			if (defined $exists) {
+				if (open $fd, '-|', git_cmd(), 'show', $obj) {
+					$notes{$note_ref} = scalar <$fd>;
+					close $fd;
+				}
+			}
+		}
+	}
+	$co{'notes'} = \%notes;
+
 	return %co;
 }
 
 # return all refs matching refs/notes/<globspecs> where the globspecs
 # are taken from the notes feature content.
 sub get_note_refs {
+	local $/ = "";
+
 	my @globs = gitweb_get_feature('notes');
 	my @note_refs = ();
 	foreach my $glob (@globs) {
@@ -5875,6 +5894,7 @@ sub git_commit {
 
 	print "<div class=\"page_body\">\n";
 	git_print_log($co{'comment'});
+	print format_notes_html($co{'notes'}, 'div');
 	print "</div>\n";
 
 	git_difftree_body(\@difftree, $hash, @$parents);
@@ -6230,6 +6250,7 @@ sub git_commitdiff {
 			git_print_log($co{'comment'}, -final_empty_line=> 1, -remove_title => 1);
 			print "</div>\n"; # class="log"
 		}
+		print format_notes_html($co{'notes'}, 'div');
 
 	} elsif ($format eq 'plain') {
 		my $refs = git_get_references("tags");
-- 
1.7.0.rc1.193.ge8618
Previous: Jakub NarebskiNext: Jakub Narebski
Message 41 of 47 in “gitweb: preliminary notes support”
  1. 0/4 gitweb: preliminary notes supportGiuseppe Bilotta, Feb 4, 2010
  2. 1/4 gitweb: notes featureGiuseppe Bilotta, Feb 4, 2010
  3. Junio C HamanoFeb 4, 2010
  4. Junio C HamanoFeb 4, 2010
  5. Jakub NarebskiFeb 4, 2010
  6. Giuseppe BilottaFeb 4, 2010
  7. Junio C HamanoFeb 4, 2010
  8. Giuseppe BilottaFeb 4, 2010
  9. Johan HerlandFeb 5, 2010
  10. Junio C HamanoFeb 5, 2010
  11. Giuseppe BilottaFeb 5, 2010
  12. Junio C HamanoFeb 5, 2010
  13. Giuseppe BilottaFeb 6, 2010
  14. Junio C HamanoFeb 4, 2010
  15. Jakub NarebskiFeb 4, 2010
  16. Jakub NarebskiFeb 5, 2010
  17. Junio C HamanoFeb 5, 2010
  18. Giuseppe BilottaFeb 5, 2010
  19. Jakub NarebskiFeb 5, 2010
  20. Giuseppe BilottaFeb 6, 2010
  21. Jakub NarebskiFeb 6, 2010
  22. Giuseppe BilottaFeb 6, 2010
  23. Jakub NarebskiFeb 7, 2010
  24. Jakub NarebskiFeb 7, 2010
  25. Johan HerlandFeb 7, 2010
  26. Jakub NarebskiFeb 7, 2010
  27. Giuseppe BilottaFeb 7, 2010
  28. Jakub NarebskiFeb 7, 2010
  29. Junio C HamanoFeb 7, 2010
  30. Giuseppe BilottaFeb 7, 2010
  31. Jakub NarebskiFeb 7, 2010
  32. Giuseppe BilottaFeb 7, 2010
  33. Jakub NarebskiFeb 7, 2010
  34. 2/4 gitweb: show notes in shortlog viewGiuseppe Bilotta, Feb 4, 2010
  35. Jakub NarebskiFeb 6, 2010
  36. Giuseppe BilottaFeb 6, 2010
  37. 3/4 gitweb: show notes in logGiuseppe Bilotta, Feb 4, 2010
  38. Jakub NarebskiFeb 6, 2010
  39. Giuseppe BilottaFeb 6, 2010
  40. Jakub NarebskiFeb 6, 2010
  41. 4/4 gitweb: show notes in commit(diff) viewGiuseppe Bilotta, Feb 4, 2010
  42. Jakub NarebskiFeb 6, 2010
  43. Giuseppe BilottaFeb 6, 2010
  44. Jakub NarebskiFeb 6, 2010
  45. Giuseppe BilottaFeb 6, 2010
  46. Jakub NarebskiFeb 6, 2010
  47. Giuseppe BilottaFeb 6, 2010

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.