Bump version to 0.004002 and update Changes.
[catagits/Gitalist.git] / README
diff --git a/README b/README
index 95fec81..9ba448a 100644 (file)
--- a/README
+++ b/README
@@ -2,35 +2,35 @@ NAME
     Gitalist - A modern git web viewer
 
 SYNOPSIS
-        script/gitalist_server.pl --repo_dir /home/me/code/git
+        perl script/gitalist_server.pl --repo_dir /home/me/code/git
 
 INSTALL
     As Gitalist follows the usual Perl module format the usual approach for
-    installation should work e.g.
+    installation should work, e.g.:
 
-      perl Makefile.PL
-      make
-      make test
-      make install
+        perl Makefile.PL
+        make
+        make test
+        make install
 
     or
 
-      cpan -i Gitalist
+        cpan -i Gitalist
 
-    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.
+    You can also check Gitalist out from its git repository 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.
 
 DESCRIPTION
-    Gitalist is a web frontend for git repositories based on gitweb.cgi and
-    backed by Catalyst.
+    Gitalist is a web frontend for git repositories based on gitweb.cgi
+    <https://git.wiki.kernel.org/index.php/Gitweb> and backed by Catalyst.
 
   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.
+    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.
 
 GETTING GITALIST
     You can install Gitalist from CPAN in the usual way:
@@ -43,8 +43,9 @@ GETTING GITALIST
 
         git://git.shadowcat.co.uk/catagits/Gitalist.git
 
-    Gitalist is also mirrored to github, and a number of people have active
-    forks with branches and/or new features in the master branch.
+    Gitalist is also mirrored to GitHub at
+    <https://github.com/broquaint/Gitalist>, and a number of people have
+    active forks with branches and/or new features in the master branch.
 
 BOOTSTRAPPING
     As of 0.002001 Gitalist can now be bootstrapped to run out of its own
@@ -53,18 +54,21 @@ BOOTSTRAPPING
     path with CPAN they are installed under the Gitalist directory.
 
     To do this clone Gitalist from the Shadowcat repository mentioned above
-    or grab a download from CPAN or broquaint's github repository:
+    or grab a snapshot from broquaint's GitHub repository:
 
-        http://github.com/broquaint/Gitalist/downloads
+        https://github.com/broquaint/Gitalist/downloads
 
     With the source acquired and unpacked run the following from within the
     Gitalist directory:
 
-        perl script/bootstrap
+        perl script/bootstrap.pl
 
     This will install the necessary modules for the build process which in
     turn installs the prerequisites locally.
 
+    NB: The relevant bootstrap scripts aren't available in the CPAN dist as
+    the bootstrap scripts should not be installed.
+
 INITIAL CONFIGURATION
     Gitalist is configured using Catalyst::Plugin::Configloader. The
     supplied sample configuration is in Config::General format, however it
@@ -79,7 +83,7 @@ INITIAL CONFIGURATION
     This means that if you check Gitalist out next to your other git
     checkouts, then starting the demo server needs no parameters at all:
 
-        Gitalist [master]$ ./script/gitalist_server.pl
+        Gitalist [master]$ perl script/gitalist_server.pl
         You can connect to your server at http://localhost:3000
 
   FOR CPAN INSTALLS
@@ -92,8 +96,8 @@ INITIAL CONFIGURATION
 
       cp `perl -Ilib -MGitalist -e'print Gitalist->path_to("gitalist.conf")'` gitalist.conf
 
-    You can then edit this confg, adding a repo_dir path and customising
-    other settings as desired.
+    You can then edit this configuration, adding a "repo_dir" path and
+    customising other settings as desired.
 
     You can then start the Gitalist demo server by setting
     "GITALIST_CONFIG". For example:
@@ -118,8 +122,8 @@ RUNNING
     than using the single threaded developement server.
 
     The recommended deployment method for Gitalist is FastCGI, although
-    Gitalist can also be run under mod_perl or as pure perl with
-    Catalyst::Engine::PreFork.
+    Gitalist can also be run under mod_perl <https://perl.apache.org/> or as
+    pure Perl with Catalyst::Engine::PreFork.
 
     Assuming that you have installed Gitalist's dependencies into a
     local::lib, and you are running from a git checkout, adding a trivial
@@ -133,6 +137,111 @@ RUNNING
 
         http://example.gitalist.com
 
+  Plack
+    If you would like to run Gitalist under Plack then one need only make
+    use of plackup and the ".psgi" found under "scripts/":
+
+        plackup script/gitalist_app.psgi
+
+CONFIGURATION
+    The Gitalist config is loaded with Catalyst::Plugin::ConfigLoader and
+    the available config options are:
+
+    no_gravatars
+        If true don't display gravatars. May be desirable if you are worried
+        about leaking repo names via the browser referer headers.
+
+  Model::CollectionOfRepos
+    repo_dir
+        A directory containing the directories to show.
+
+    repos
+        A list of directories containing repositories to show.
+
+    search_recursively
+        A boolean indicating whether to always search recursively for
+        repositories within "repo_dir".
+
+    whitelist
+        Path a file containing a list of repositories that can be shown.
+        Each line in the file will represent the name of a repo to show e.g
+
+          Gitalist
+          some-bare-repo.git
+
+        This is compatible with "gitweb"'s "projects.list".
+
+    export_ok
+        If provided every must contain a file of the same name to be
+        visible. This is similar to "gitweb"'s functionality.
+
+    class
+        If you want a different way of surfacing repositories you can use
+        your own model (i.e something that composes
+        Gitalist::Git::CollectionOfRepositories) and specify the class name
+        with this config option.
+
+    args
+        Any additional arguments to be passed into the Model constructor,
+        only of use when used in conjunction with "class" (see above).
+
+  paging
+    log The number of commits to show in the summary, shortlog and longlog
+        views.
+
+  FASTCGI
+    Running Gitalist in FastCGI mode requires a webserver with FastCGI
+    support (such as apache with mod_fcgi
+    <http://www.fastcgi.com/drupal/node/3> or mod_fcgid
+    <https://httpd.apache.org/mod_fcgid/>). Below is a sample configuration
+    using Apache2 with mod_fcgid in a dynamic configuration (as opposed to
+    static or standalone mode). More information on these modes and their
+    configuration can be found at "Standalone server mode" in
+    Catalyst::Engine::FastCGI.
+
+    In Apache's mime.conf, add "AddHandler fcgid-script .fcgi" (or
+    "AddHandler fastcgi-script .fcgi" for mod_fcgi).
+
+    And a quick VirtualHost configuration:
+
+        <VirtualHost *:80>
+            ServerName gitalist.yourdomain.com
+            DocumentRoot /path/to/gitalist.fcgi
+            <Directory "/path/to/gitalist.fcgi">
+                AllowOverride all
+                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
+                Order allow,deny
+                Allow from all
+            </Directory>
+
+            # Tell Apache this is a FastCGI application
+            <Files gitalist.fcgi>
+                #change the below to fastcgi-script if using mod_fcgi
+                SetHandler fcgid-script
+            </Files>
+        </VirtualHost>
+
+    Now to access your Gitalist instance, you'll go to
+    "gitalist.yourdomain.com/gitalist.fcgi/" (do not forget that trailing
+    "/"). If you'd like a different URL, of course, you'll likely want to
+    use mod_rewrite <https://httpd.apache.org/docs/mod/mod_rewrite.html> or
+    equivalent.
+
+    If you find the need to do some troubleshooting, you can call
+    "http://url_to_gitalist.fcgi?dump_info=1" and/or add export
+    "GITALIST_DEBUG=1" to the top of your gitalist.fcgi file (just below the
+    shebang line).
+
+  Apache config
+    Apache will refuse %2F in Gitalist URLs unless configured otherwise.
+    Make sure "AllowEncodedSlashes On" is in your httpd.conf file in order
+    for this to run smoothly.
+
+    To have the static content served statically by Apache, instead of
+    Gitalist, then add something like following line to your httpd.conf:
+
+        Alias /static  /usr/local/share/perl/5.10.1/Gitalist/root/static
+
 CONTRIBUTING
     Patches are welcome, please feel free to fork on github and send pull
     requests, send patches from git format-patch to the bug tracker, or host
@@ -153,16 +262,16 @@ SEE ALSO
 
 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>
+        © 2009 Venda Ltd and Dan Brook <broq@cpan.org>
+        © 2009, Tom Doran <bobtfish@bobtfish.net>
+        © 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
+        © 2005-2006, Kay Sievers <kay.sievers@vrfy.org>
+        © 2005, Christian Gierke
 
       Model based on http://github.com/rafl/gitweb
-        (C) 2008, Florian Ragwitz
+        © 2008, Florian Ragwitz
 
 LICENSE
     Licensed under GNU GPL v2