The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
package SVN::Web::RSS;
@ISA = qw(SVN::Web::Log);
use strict;
use SVN::Web::Log;
use XML::RSS;

sub run {
    my $self = shift;
    my $data = $self->SUPER::run(@_)->{data};

    my $rss = new XML::RSS (version => '1.0');
    my $url = "http://$ENV{HTTP_HOST}$self->{script}/$self->{reposname}";

    $rss->channel(title        => "subversion revisions of $self->{path}",
		  link         => "$url/log$self->{path}",
		  dc => {
			 date       => $self->{REVS}[0]{date},
			 creator    => 'SVN::Web',
			 publisher  => "adm\@$ENV{HTTP_HOST}",
			},
		  syn => {
			  updatePeriod     => "daily",
			  updateFrequency  => "1",
			  updateBase       => "1901-01-01T00:00+00:00",
			 },
		 );

    $_ && $rss->add_item
	( title       => "$_->{rev} - ".substr ((split("\n",$_->{msg}, 1))[0],
						0, 40),
	  link        => "$url/revision/?rev=$_->{rev}",
	  dc => { date		=> $_->{date},
		  creator	=> $_->{author},
		},
	  description => $_->{msg},
	) for @{$self->{REVS}}[0..10];
    return { mimetype => 'text/xml', body => $rss->as_string };
}

1;