3 BEGIN { require 5.008006; }
4 use Catalyst::Runtime 5.80;
5 use namespace::autoclean;
16 our $VERSION = '0.000003';
17 $VERSION = eval $VERSION;
21 default_view => 'Default',
22 default_model => 'GitRepos',
27 around uri_for => sub {
28 my ($orig, $c) = (shift, shift);
29 my $project_name = $c->stash->{'Project'} && $c->stash->{'Project'}->name;
30 my $hash = ref($_[-1]) eq 'HASH' ? pop @_ : {};
31 my $params = Catalyst::Utils::merge_hashes(
32 { p => $hash->{p} || $project_name },
35 delete $params->{p} unless defined $params->{p} && length $params->{p};
36 (my $uri = $c->$orig(@_, $params))
47 Gitalist - A modern git web viewer
51 script/gitalist_server.pl --repo_dir /home/me/code/git
55 As Gitalist follows the usual Perl module format the usual approach
56 for installation should work e.g.
67 You can also check gitalist out from git and run it, in this case you'll additionally
68 need the author modules, but no configuration will be needed as it will default to looking
69 for repositories the directory above the checkout.
73 Gitalist is a web frontend for git repositories based on gitweb.cgi
74 and backed by Catalyst.
78 This project started off as an attempt to port gitweb.cgi to a
79 Catalyst app in a piecemeal fashion. As it turns out, thanks largely
80 to Florian Ragwitz's earlier effort, it was easier to use gitweb.cgi
81 as a template for building a new Catalyst application.
85 Gitalist can be supplied with a config file by setting the C<< GITALIST_CONFIG >>
86 environment variable to point to a configuration file.
88 A default configuration is installed along with gitalist, which is complete except
89 for a repository directory. You can get a copy of this configuration by running:
91 cp `perl -Ilib -MGitalist -e'print Gitalist->path_to("gitalist.conf")'` gitalist.conf
93 adding a repos_dir path and then setting C<< GITALIST_CONFIG >>.
95 Alternatively, if you only want to set a repository directory and are otherwise happy with
96 the default configuration, then you can set the C<< GITALIST_REPOS_DIR >> environment
97 variable, or pass the C<< --repos_dir >> flag to any of the scripts.
99 The C<< GITALIST_REPOS_DIR >> environment variable will override the repository directory set
100 in configuration, and will itself be overridden by he C<< --repos_dir >> flag.
104 L<Gitalist::Controller::Root>
106 L<Gitalist::Git::Project>
110 =head1 AUTHORS AND COPYRIGHT
112 Catalyst application:
113 (C) 2009 Venda Ltd and Dan Brook <broq@cpan.org>
114 (C) 2009, Tom Doran <bobtfish@bobtfish.net>
115 (C) 2009, Zac Stevens <zts@cryptocracy.com>
117 Original gitweb.cgi from which this was derived:
118 (C) 2005-2006, Kay Sievers <kay.sievers@vrfy.org>
119 (C) 2005, Christian Gierke
121 Model based on http://github.com/rafl/gitweb
122 (C) 2008, Florian Ragwitz
126 Licensed under GNU GPL v2