Bumped version and added bootstrap docs.
[catagits/Gitalist.git] / README
1 NAME
2     Gitalist - A modern git web viewer
3
4 SYNOPSIS
5         script/gitalist_server.pl --repo_dir /home/me/code/git
6
7 INSTALL
8     As Gitalist follows the usual Perl module format the usual approach for
9     installation should work e.g.
10
11       perl Makefile.PL
12       make
13       make test
14       make install
15
16     or
17
18       cpan -i Gitalist
19
20     You can also check gitalist out from git and run it, in this case you'll
21     additionally need the author modules, but no configuration will be
22     needed as it will default to looking for repositories the directory
23     above the checkout.
24
25 DESCRIPTION
26     Gitalist is a web frontend for git repositories based on gitweb.cgi and
27     backed by Catalyst.
28
29   History
30     This project started off as an attempt to port gitweb.cgi to a Catalyst
31     app in a piecemeal fashion. As it turns out, thanks largely to Florian
32     Ragwitz's earlier effort, it was easier to use gitweb.cgi as a template
33     for building a new Catalyst application.
34
35 GETTING GITALIST
36     You can install Gitalist from CPAN in the usual way:
37
38         cpan -i Gitalist
39
40     Alternatively, you can get Gitalist using git.
41
42     The canonical repository for the master branch is:
43
44         git://git.shadowcat.co.uk/catagits/Gitalist.git
45
46     Gitalist is also mirrored to github, and a number of people have active
47     forks with branches and/or new features in the master branch.
48
49 BOOTSTRAPPING
50     As of 0.002001 Gitalist can now be bootstrapped to run out of its own
51     directory by installing its prerequisites locally with the help of
52     local::lib. So instead of installing the prerequisites to the system
53     path with CPAN they are installed under the Gitalist directory.
54
55     To do this clone Gitalist from the Shadowcat repository mentioned above
56     or grab a download from CPAN or broquaint's github repository:
57
58         http://github.com/broquaint/Gitalist/downloads
59
60     With the source acquired and unpacked run the following from within the
61     Gitalist directory:
62
63         perl script/bootstrap
64
65     This will install the necessary modules for the build process which in
66     turn installs the prerequisites locally.
67
68 INITIAL CONFIGURATION
69     Gitalist is configured using Catalyst::Plugin::Configloader. The
70     supplied sample configuration is in Config::General format, however it
71     is possible to configure Gitalist using other config file formats (such
72     as YAML) if you prefer.
73
74   WHEN CHECKING GITALIST OUT OF GIT
75     Gitalist from git includes a minimal "gitalist_local.conf", which sets
76     the repository directory to one directory higher than the Gitalist
77     repository.
78
79     This means that if you check Gitalist out next to your other git
80     checkouts, then starting the demo server needs no parameters at all:
81
82         Gitalist [master]$ ./script/gitalist_server.pl
83         You can connect to your server at http://localhost:3000
84
85   FOR CPAN INSTALLS
86     Gitalist can be supplied with a config file by setting the
87     "GITALIST_CONFIG" environment variable to point to a configuration file.
88
89     If you install Gitalist from CPAN, a default configuration is installed
90     along with gitalist, which is complete except for a repository
91     directory. You can get a copy of this configuration by running:
92
93       cp `perl -Ilib -MGitalist -e'print Gitalist->path_to("gitalist.conf")'` gitalist.conf
94
95     You can then edit this confg, adding a repo_dir path and customising
96     other settings as desired.
97
98     You can then start the Gitalist demo server by setting
99     "GITALIST_CONFIG". For example:
100
101         GITALIST_CONFIG=/usr/local/etc/gitalist.conf gitalist_server.pl
102
103     Alternatively, if you only want to set a repository directory and are
104     otherwise happy with the default configuration, then you can set the
105     "GITALIST_REPO_DIR" environment variable, or pass the "--repo_dir" flag
106     to any of the scripts.
107
108         GITALIST_REPO_DIR=/home/myuser/code/git gitalist_server.pl
109         gitalist_server.pl --repo_dir home/myuser/code/git
110
111     The "GITALIST_REPO_DIR" environment variable will override the
112     repository directory set in configuration, and will itself be overridden
113     by he "--repo_dir" flag.
114
115 RUNNING
116     Once you have followed the instructions above to install and configure
117     Gitalist, you may want to run it in a more production facing environment
118     than using the single threaded developement server.
119
120     The recommended deployment method for Gitalist is FastCGI, although
121     Gitalist can also be run under mod_perl or as pure perl with
122     Catalyst::Engine::PreFork.
123
124     Assuming that you have installed Gitalist's dependencies into a
125     local::lib, and you are running from a git checkout, adding a trivial
126     FCGI script as "script/gitalist.fcgi" (this file is specifically in
127     ".gitignore" so you can have your own copy):
128
129         #!/bin/sh
130         exec /home/t0m/public_html/Gitalist/script/gitalist_fastcgi.pl
131
132     This example can be seen live here:
133
134         http://example.gitalist.com
135
136 CONTRIBUTING
137     Patches are welcome, please feel free to fork on github and send pull
138     requests, send patches from git format-patch to the bug tracker, or host
139     your own copy of gitalist somewhere and ask us to pull from it.
140
141 SUPPORT
142     Gitalist has an active irc community in "#gitalist" on irc.perl.org,
143     please feel free to stop by and ask questions, report bugs or
144     installation issues or generally for a chat about where we plan to go
145     with the project.
146
147 SEE ALSO
148     Gitalist::Controller::Root
149
150     Gitalist::Git::Repository
151
152     Catalyst
153
154 AUTHORS AND COPYRIGHT
155       Catalyst application:
156         (C) 2009 Venda Ltd and Dan Brook <broq@cpan.org>
157         (C) 2009, Tom Doran <bobtfish@bobtfish.net>
158         (C) 2009, Zac Stevens <zts@cryptocracy.com>
159
160       Original gitweb.cgi from which this was derived:
161         (C) 2005-2006, Kay Sievers <kay.sievers@vrfy.org>
162         (C) 2005, Christian Gierke
163
164       Model based on http://github.com/rafl/gitweb
165         (C) 2008, Florian Ragwitz
166
167 LICENSE
168     Licensed under GNU GPL v2
169