Subject: [PATCH] gitweb: Make RSS feed output prettier

From: [email-masked]
Date: Wed, 15 Nov 2006 01:10:36 +0100

From: Andreas Fuchs <[email-masked]>

* Wrap the commit message in <pre>
* Make file names into an unordered list
* Add links (diff, conditional blame, history) to the file list.
---
 gitweb/gitweb.perl |   22 ++++++++++++++++------
 1 files changed, 16 insertions(+), 6 deletions(-)

diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
index e54a29e..2a79895 100755
--- a/gitweb/gitweb.perl
+++ b/gitweb/gitweb.perl
@@ -4134,20 +4134,30 @@ XML
 		      "<content:encoded>" .
 		      "<![CDATA[\n";
 		my $comment = $co{'comment'};
+		print "<pre>\n";
 		foreach my $line (@$comment) {
-			$line = to_utf8($line);
-			print "$line<br/>\n";
+			$line = to_utf8(esc_html($line));
+			print "$line\n";
 		}
-		print "<br/>\n";
+		print "</pre><ul>\n";
 		foreach my $line (@difftree) {
 			if (!($line =~ m/^:([0-7]{6}) ([0-7]{6}) ([0-9a-fA-F]{40}) ([0-9a-fA-F]{40}) (.)([0-9]{0,3})\t(.*)$/)) {
 				next;
 			}
-			my $file = esc_path(unquote($7));
+			my $file_name = unquote($7);
+			my $file = esc_html($file_name);
+			my $parent = $co{'parent'};
+			my $hash = git_get_hash_by_path($commit, $file_name);
+			my $hashparent = git_get_hash_by_path($parent, $file_name);
+
 			$file = to_utf8($file);
-			print "$file<br/>\n";
+			print "<li>$file ";
+			print "[<a href=\"". esc_html("$my_url?p=$project;a=blobdiff;f=$file;h=$hash;hp=$hashparent;hb=$commit;hpb=$parent") ."\">diff</a>] ";
+			print "[<a href=\"". esc_html("$my_url?p=$project;a=blame;f=$file;hb=$commit") ."\">blame</a>] " if gitweb_check_feature('blame');
+			print "[<a href=\"". esc_html("$my_url?p=$project;a=history;f=$file;h=$commit") ."\">history</a>] ";
+			print "</li>\n";
 		}
-		print "]]>\n" .
+		print "</ul>]]>\n" .
 		      "</content:encoded>\n" .
 		      "</item>\n";
 	}
-- 
1.4.3.2