Commit | Line | Data |
0da7966e |
1 | package Gitalist::Controller::Fragment::Commit; |
2 | use Moose; |
3 | use namespace::autoclean; |
4 | |
5 | BEGIN { extends 'Catalyst::Controller' } |
6 | with 'Gitalist::URIStructure::Commit'; |
7 | |
8 | sub base : Chained('/fragment/repository/find') PathPart('') CaptureArgs(0) {} |
9 | |
493327c8 |
10 | after diff => sub { |
11 | my ($self, $c) = @_; |
12 | my $commit = $c->stash->{Commit}; |
13 | my($tree, $patch) = $c->stash->{Repository}->diff( |
14 | commit => $commit, |
15 | parent => $c->req->param('hp') || undef, |
16 | patch => 1, |
17 | ); |
18 | $c->stash( |
19 | diff_tree => $tree, |
20 | diff => $patch, |
21 | # XXX Hack hack hack, see View::SyntaxHighlight |
22 | blobs => [map $_->{diff}, @$patch], |
23 | language => 'Diff', |
24 | ); |
25 | |
26 | $c->forward('View::SyntaxHighlight') |
27 | unless $c->stash->{plain}; |
28 | }; |
29 | |
0da7966e |
30 | __PACKAGE__->meta->make_immutable; |