2 Gitalist - A modern git web viewer
5 script/gitalist_server.pl --repo_dir /home/me/code/git
8 As Gitalist follows the usual Perl module format the usual approach for
9 installation should work e.g.
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
26 Gitalist is a web frontend for git repositories based on gitweb.cgi and
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.
36 You can install Gitalist from CPAN in the usual way:
40 Alternatively, you can get Gitalist using git.
42 The canonical repository for the master branch is:
44 git://git.shadowcat.co.uk/catagits/Gitalist.git
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.
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.
55 To do this clone Gitalist from the Shadowcat repository mentioned above
56 or grab a snapshot from broquaint's github repository:
58 http://github.com/broquaint/Gitalist/downloads
60 With the source acquired and unpacked run the following from within the
63 perl script/bootstrap.pl
65 This will install the necessary modules for the build process which in
66 turn installs the prerequisites locally.
68 *NB* The relevant bootstrap scripts aren't available in the CPAN dist as
69 the bootstrap scripts should not be installed.
72 Gitalist is configured using Catalyst::Plugin::Configloader. The
73 supplied sample configuration is in Config::General format, however it
74 is possible to configure Gitalist using other config file formats (such
75 as YAML) if you prefer.
77 WHEN CHECKING GITALIST OUT OF GIT
78 Gitalist from git includes a minimal "gitalist_local.conf", which sets
79 the repository directory to one directory higher than the Gitalist
82 This means that if you check Gitalist out next to your other git
83 checkouts, then starting the demo server needs no parameters at all:
85 Gitalist [master]$ ./script/gitalist_server.pl
86 You can connect to your server at http://localhost:3000
89 Gitalist can be supplied with a config file by setting the
90 "GITALIST_CONFIG" environment variable to point to a configuration file.
92 If you install Gitalist from CPAN, a default configuration is installed
93 along with gitalist, which is complete except for a repository
94 directory. You can get a copy of this configuration by running:
96 cp `perl -Ilib -MGitalist -e'print Gitalist->path_to("gitalist.conf")'` gitalist.conf
98 You can then edit this confg, adding a repo_dir path and customising
99 other settings as desired.
101 You can then start the Gitalist demo server by setting
102 "GITALIST_CONFIG". For example:
104 GITALIST_CONFIG=/usr/local/etc/gitalist.conf gitalist_server.pl
106 Alternatively, if you only want to set a repository directory and are
107 otherwise happy with the default configuration, then you can set the
108 "GITALIST_REPO_DIR" environment variable, or pass the "--repo_dir" flag
109 to any of the scripts.
111 GITALIST_REPO_DIR=/home/myuser/code/git gitalist_server.pl
112 gitalist_server.pl --repo_dir home/myuser/code/git
114 The "GITALIST_REPO_DIR" environment variable will override the
115 repository directory set in configuration, and will itself be overridden
116 by he "--repo_dir" flag.
119 Once you have followed the instructions above to install and configure
120 Gitalist, you may want to run it in a more production facing environment
121 than using the single threaded developement server.
123 The recommended deployment method for Gitalist is FastCGI, although
124 Gitalist can also be run under mod_perl or as pure perl with
125 Catalyst::Engine::PreFork.
127 Assuming that you have installed Gitalist's dependencies into a
128 local::lib, and you are running from a git checkout, adding a trivial
129 FCGI script as "script/gitalist.fcgi" (this file is specifically in
130 ".gitignore" so you can have your own copy):
133 exec /home/t0m/public_html/Gitalist/script/gitalist_fastcgi.pl
135 This example can be seen live here:
137 http://example.gitalist.com
140 Running Gitalist in FastCGI mode requires a webserver with FastCGI
141 support (such as apache with mod_fcgi or fcgid). Below is a sample configuration using Apache2 with fcgid in a
142 dynamic configuration (as opposed to static or standalone mode). More information on these modes and
143 their configuration can be found at
144 http://search.cpan.org/~bobtfish/Catalyst-Runtime-5.80025/lib/Catalyst/Engine/FastCGI.pm#Standalone_server_mode
146 In Apache's mime.conf, add AddHandler fcgid-script .fcgi (or AddHandler fastcgi-script .fcgi for mod_fcgi)
148 And a quick VirtualHost configuration:
151 ServerName gitalist.yourdomain.com
152 DocumentRoot /path/to/gitalist.fcgi
153 <Directory "/path/to/gitalist.fcgi">
155 Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
160 # Tell Apache this is a FastCGI application
161 <Files gitalist.fcgi>
162 #change the below to fastcgi-script if using mod_fcgi
163 SetHandler fcgid-script
167 Now to access your gitalist instance, you'll go to gitalist.yourdomain.com/gitalist.fcgi/
168 (DO NOT FORGET THAT TRAILING /). If you'd like a different URL, of course, you'll likely want to use
169 mod_rewrite or equivalent
171 If you find the need to do some troubleshooting, you can call http://url_to_gitalist.fcgi?dump_info=1
172 and/or add export GITALIST_DEBUG=1 to the top of you gitalist.fcgi file (just below the shebang line).
176 Patches are welcome, please feel free to fork on github and send pull
177 requests, send patches from git format-patch to the bug tracker, or host
178 your own copy of gitalist somewhere and ask us to pull from it.
181 Gitalist has an active irc community in "#gitalist" on irc.perl.org,
182 please feel free to stop by and ask questions, report bugs or
183 installation issues or generally for a chat about where we plan to go
187 Gitalist::Controller::Root
189 Gitalist::Git::Repository
193 AUTHORS AND COPYRIGHT
194 Catalyst application:
195 (C) 2009 Venda Ltd and Dan Brook <broq@cpan.org>
196 (C) 2009, Tom Doran <bobtfish@bobtfish.net>
197 (C) 2009, Zac Stevens <zts@cryptocracy.com>
199 Original gitweb.cgi from which this was derived:
200 (C) 2005-2006, Kay Sievers <kay.sievers@vrfy.org>
201 (C) 2005, Christian Gierke
203 Model based on http://github.com/rafl/gitweb
204 (C) 2008, Florian Ragwitz
207 Licensed under GNU GPL v2