Merge branch 'master' into local-lib-scripts
[catagits/Gitalist.git] / README
CommitLineData
9eaaf804 1NAME
f3c25197 2 Gitalist - A modern git web viewer
4534cd82 3
9eaaf804 4SYNOPSIS
63f34424 5 script/gitalist_server.pl --repo_dir /home/me/code/git
4534cd82 6
b6d010e1 7INSTALL
8 As Gitalist follows the usual Perl module format the usual approach for
63f34424 9 installation should work e.g.
b6d010e1 10
11 perl Makefile.PL
12 make
13 make test
14 make install
15
63f34424 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.
b6d010e1 24
9eaaf804 25DESCRIPTION
b6d010e1 26 Gitalist is a web frontend for git repositories based on gitweb.cgi and
f3c25197 27 backed by Catalyst.
b6d010e1 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.
4534cd82 34
69175e49 35GETTING 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
3d0e045e 44 git://git.shadowcat.co.uk/catagits/Gitalist.git
69175e49 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
49INITIAL CONFIGURATION
50 Gitalist is configured using Catalyst::Plugin::Configloader. The
51 supplied sample configuration is in Config::General format, however it
52 is possible to configure Gitalist using other config file formats (such
53 as YAML) if you prefer.
54
55 WHEN CHECKING GITALIST OUT OF GIT
56 Gitalist from git includes a minimal "gitalist_local.conf", which sets
57 the repository directory to one directory higher than the Gitalist
58 repository.
59
60 This means that if you check Gitalist out next to your other git
61 checkouts, then starting the demo server needs no parameters at all:
62
63 Gitalist [master]$ ./script/gitalist_server.pl
64 You can connect to your server at http://localhost:3000
65
66 FOR CPAN INSTALLS
63f34424 67 Gitalist can be supplied with a config file by setting the
68 "GITALIST_CONFIG" environment variable to point to a configuration file.
69
69175e49 70 If you install Gitalist from CPAN, a default configuration is installed
71 along with gitalist, which is complete except for a repository
72 directory. You can get a copy of this configuration by running:
63f34424 73
74 cp `perl -Ilib -MGitalist -e'print Gitalist->path_to("gitalist.conf")'` gitalist.conf
75
3d0e045e 76 You can then edit this confg, adding a repo_dir path and customising
69175e49 77 other settings as desired.
78
79 You can then start the Gitalist demo server by setting
80 "GITALIST_CONFIG". For example:
81
82 GITALIST_CONFIG=/usr/local/etc/gitalist.conf gitalist_server.pl
63f34424 83
84 Alternatively, if you only want to set a repository directory and are
85 otherwise happy with the default configuration, then you can set the
3d0e045e 86 "GITALIST_REPO_DIR" environment variable, or pass the "--repo_dir" flag
87 to any of the scripts.
63f34424 88
3d0e045e 89 GITALIST_REPO_DIR=/home/myuser/code/git gitalist_server.pl
90 gitalist_server.pl --repo_dir home/myuser/code/git
69175e49 91
3d0e045e 92 The "GITALIST_REPO_DIR" environment variable will override the
63f34424 93 repository directory set in configuration, and will itself be overridden
3d0e045e 94 by he "--repo_dir" flag.
63f34424 95
69175e49 96RUNNING
97 Once you have followed the instructions above to install and configure
98 Gitalist, you may want to run it in a more production facing environment
99 than using the single threaded developement server.
100
101 The recommended deployment method for Gitalist is FastCGI, although
102 Gitalist can also be run under mod_perl or as pure perl with
103 Catalyst::Engine::PreFork.
104
105 Assuming that you have installed Gitalist's dependencies into a
106 local::lib, and you are running from a git checkout, adding a trivial
107 FCGI script as "script/gitalist.fcgi" (this file is specifically in
108 ".gitignore" so you can have your own copy):
109
110 #!/bin/sh
111 export PERL5LIB=/home/t0m/public_html/Gitalist/lib:/home/t0m/perl5/lib/perl5:$PERL5LIB
112 exec /home/t0m/public_html/Gitalist/script/gitalist_fastcgi.pl
113
114 This example can be seen live here:
115
116 http://goatse.co.uk/~bobtfish/Gitalist/script/gitalist.fcgi/
117
118CONTRIBUTING
119 Patches are welcome, please feel free to fork on github and send pull
120 requests, send patches from git format-patch to the bug tracker, or host
121 your own copy of gitalist somewhere and ask us to pull from it.
122
123SUPPORT
124 Gitalist has an active irc community in "#gitalist" on irc.perl.org,
125 please feel free to stop by and ask questions, report bugs or
126 installation issues or generally for a chat about where we plan to go
127 with the project.
128
9eaaf804 129SEE ALSO
b6d010e1 130 Gitalist::Controller::Root
131
44a9ed75 132 Gitalist::Git::Repository
b6d010e1 133
134 Catalyst
8927fe98 135
9eaaf804 136AUTHORS AND COPYRIGHT
137 Catalyst application:
b6d010e1 138 (C) 2009 Venda Ltd and Dan Brook <broq@cpan.org>
139 (C) 2009, Tom Doran <bobtfish@bobtfish.net>
140 (C) 2009, Zac Stevens <zts@cryptocracy.com>
8927fe98 141
9eaaf804 142 Original gitweb.cgi from which this was derived:
143 (C) 2005-2006, Kay Sievers <kay.sievers@vrfy.org>
144 (C) 2005, Christian Gierke
8927fe98 145
b6d010e1 146 Model based on http://github.com/rafl/gitweb
147 (C) 2008, Florian Ragwitz
4534cd82 148
b6d010e1 149LICENSE
150 Licensed under GNU GPL v2
4534cd82 151