Merge branch 'aesthetics'
Dan Brook [Wed, 18 Nov 2009 13:06:30 +0000 (13:06 +0000)]
Conflicts:
lib/Gitalist/Controller/Root.pm

1  2 
lib/Gitalist/Controller/Root.pm
t/03legacy_uri.t

@@@ -359,28 -397,46 +397,46 @@@ sub search : Local 
    );
  }
  
 +sub search_help : Local {
 +    my ($self, $c) = @_;
 +    $c->stash(template => 'search_help.tt2');
 +}
 +
  sub atom : Local {
-     # FIXME - implement atom
-     Carp::croak "Not implemented.";
- }
+   my($self, $c) = @_;
  
- sub rss : Local {
-     # FIXME - implement rss
-     Carp::croak "Not implemented.";
- }
+   my $feed = XML::Atom::Feed->new;
  
- sub blobdiff_plain : Local {
-     # FIXME - implement blobdiff_plain
-     Carp::croak "Not implemented.";
+   my $host = lc Sys::Hostname::hostname();
+   $feed->title($host . ' - ' . Gitalist->config->{name});
+   $feed->updated(~~DateTime->now);
+   my $project = $c->stash->{Project};
+   my %logargs = (
+       sha1   => $project->head_hash,
+       count  => Gitalist->config->{paging}{log} || 25,
+       ($c->req->param('f') ? (file => $c->req->param('f')) : ())
+   );
+   my $mk_title = $c->stash->{short_cmt};
+   for my $commit ($project->list_revs(%logargs)) {
+     my $entry = XML::Atom::Entry->new;
+     $entry->title( $mk_title->($commit->comment) );
+     $entry->id($c->uri_for('commit', {h=>$commit->sha1}));
+     # XXX Needs work ...
+     $entry->content($commit->comment);
+     $feed->add_entry($entry);
+   }
+   $c->stash(
+     feed       => $feed->as_xml,
+     no_wrapper => 1,
+   );
+   $c->response->content_type('application/atom+xml')
  }
  
- sub blob_plain : Local {
-     # FIXME - implement blobdiff_plain
 -sub search_help : Local {
 -    # FIXME - implement search_help
 -    Carp::croak "Not implemented.";
 -}
 -
+ sub rss : Local {
+     # FIXME - implement rss
      Carp::croak "Not implemented.";
  }
  
Simple merge