-Gitalist - a transitional project to convert gitweb.cgi to a Catalyst app.
+NAME
+ Gitalist - A modern git web viewer
-The idea behind this project is to move gitweb.cgi away from a single
-monolithic CGI script and into a modern Catalyst app. Fortunately this is not
-as daunting as it might seem at first as gitweb.cgi follows an MVC type
-structure. Once gitweb.cgi has been suitably Catalysed then it can move from
-being a "this was once gitweb.cgi" to a project of its own (hence the
-"transitional" in the description).
+SYNOPSIS
+ script/gitalist_server.pl --repo_dir /home/me/code/git
-As it stands Gitalist is very much in its infancy and hasn't got far
-beyond a layout template and a single controller. Probably the next step is
-moving an existing action into a new Catalyst action and lay down the code
-to make porting further actions, or writing new ones, as simple as possible.
-After that provide a model based on one of the git modules, either the Git.pm
-that comes with git or Git::PurePerl, and deprecate or port the existing
-gitweb.cgi functions.
+INSTALL
+ As Gitalist follows the usual Perl module format the usual approach for
+ installation should work e.g.
-USAGE
+ perl Makefile.PL
+ make
+ make test
+ make install
-To get Gitalist up and running just set $projectroot in gitweb.conf to point
-to the directory that contains your repositories. With that done just run:
+ or
- perl script/gitalist_server.pl
+ cpan -i Gitalist
-DEPENDENCIES
+ You can also check gitalist out from git and run it, in this case you'll
+ additionally need the author modules, but no configuration will be
+ needed as it will default to looking for repositories the directory
+ above the checkout.
- Catalyst
- IO::Capture::Stdout;
+DESCRIPTION
+ Gitalist is a web frontend for git repositories based on gitweb.cgi and
+ backed by Catalyst.
-COPYRIGHT AND LICENCE
+ History
+ This project started off as an attempt to port gitweb.cgi to a Catalyst
+ app in a piecemeal fashion. As it turns out, thanks largely to Florian
+ Ragwitz's earlier effort, it was easier to use gitweb.cgi as a template
+ for building a new Catalyst application.
-Copyright (C) 2009 Venda Ltd
+CONFIGURATION
+ Gitalist can be supplied with a config file by setting the
+ "GITALIST_CONFIG" environment variable to point to a configuration file.
-This library is free software; you can redistribute it and/or modify
-it under the same terms as Perl itself, either Perl version 5.8.8 or,
-at your option, any later version of Perl 5 you may have available.
+ A default configuration is installed along with gitalist, which is
+ complete except for a repository directory. You can get a copy of this
+ configuration by running:
+
+ cp `perl -Ilib -MGitalist -e'print Gitalist->path_to("gitalist.conf")'` gitalist.conf
+
+ adding a repos_dir path and then setting "GITALIST_CONFIG".
+
+ Alternatively, if you only want to set a repository directory and are
+ otherwise happy with the default configuration, then you can set the
+ "GITALIST_REPOS_DIR" environment variable, or pass the "--repos_dir"
+ flag to any of the scripts.
+
+ The "GITALIST_REPOS_DIR" environment variable will override the
+ repository directory set in configuration, and will itself be overridden
+ by he "--repos_dir" flag.
+
+SEE ALSO
+ Gitalist::Controller::Root
+
+ Gitalist::Git::Project
+
+ Catalyst
+
+AUTHORS AND COPYRIGHT
+ Catalyst application:
+ (C) 2009 Venda Ltd and Dan Brook <broq@cpan.org>
+ (C) 2009, Tom Doran <bobtfish@bobtfish.net>
+ (C) 2009, Zac Stevens <zts@cryptocracy.com>
+
+ Original gitweb.cgi from which this was derived:
+ (C) 2005-2006, Kay Sievers <kay.sievers@vrfy.org>
+ (C) 2005, Christian Gierke
+
+ Model based on http://github.com/rafl/gitweb
+ (C) 2008, Florian Ragwitz
+
+LICENSE
+ Licensed under GNU GPL v2
-gitweb.pm is based on the gitweb.perl from git-1.6.3.3
-(C) 2005-2006, Kay Sievers <kay.sievers@vrfy.org>
-(C) 2005, Christian Gierke