--- CVSROOT/cvs2rss.pl 2005/10/11 22:11:16 1.2 +++ CVSROOT/cvs2rss.pl 2005/10/17 19:50:57 1.7 @@ -46,18 +46,21 @@ my $description; my @title=split(",",$ARGV[0]); my $rss = new XML::RSS(version => '2.0'); + +# If rssFeed exists, parse it +if (-r "$rssFeed") { + $rss->parsefile($rssFeed); +} + $rss->channel( title=> $channelTitle, link => $channelLink, language => 'en', description => $channelTitle, - copyright => '(c) 2005 MSU Board of Trustees.' + copyright => '(c) 2005 MSU Board of Trustees.', + pubDate => $pubDate ); -# If rssFeed exists, parse it -if (-r "$rssFeed") { - $rss->parsefile($rssFeed); -} # Limit entries in the feed to $numEntries pop(@{$rss->{'items'}}) while (@{$rss->{'items'}} >= $numEntries); @@ -70,9 +73,10 @@ $title[0] =~s/ /\//; while () { chomp($_); if ($_=~/^[A-Z].*:\s*$/) { - $_ = "
" . $_ . "
"; + $_ = "
" . &HTML::Entities::encode($_,'<>&"') . "
"; } else { + $_ = &HTML::Entities::encode($_,'<>&"'); $_ .= "
"; } $description .= $_; @@ -84,7 +88,7 @@ if ($cvsDiff == 1) { if (($title[1] != "NONE") && ($title[0]=~/(.*).(pm)$/)){ my $tmpFile = "/tmp/diff.$$"; - my $cmdLine = "cvs -n rdiff -kk -r " . $title[1] . " -r " . $title[2] . " " . $title[0] . ">" . $tmpFile; + my $cmdLine = "cvs -n rdiff -u -kk -r " . $title[1] . " -r " . $title[2] . " " . $title[0] . ">" . $tmpFile; system($cmdLine); $description .= "
Differences:
";
@@ -100,9 +104,10 @@ if ($cvsDiff == 1) {
 $rss->add_item(
 	title => "/" . $title[0] . " - " . $title[1] . "/" . $title[2],
 	author => $author,
-	pubDate => $pubDate, 
 	description=> $description,
-	mode => 'insert'
+	mode => 'insert',
+	pubDate => $pubDate,
+	link => 'http://install.loncapa.org/cgi-bin/cvsweb.cgi/'.$title[0].'.diff?r1='.$title[1].';r2='.$title[2].';f=h'
 );		
 
 foreach my $element (@{$rss->{'items'}}) {