Skip to content

Transitional project to convert gitweb.cgi to a Catalyst app

Notifications You must be signed in to change notification settings

alhashemi/Gitalist

 
 

Repository files navigation

NAME
    Gitalist - A modern git web viewer

SYNOPSIS
        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.

      perl Makefile.PL
      make
      make test
      make install

    or

      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.

DESCRIPTION
    Gitalist is a web frontend for git repositories based on gitweb.cgi 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.

GETTING GITALIST
    You can install Gitalist from CPAN in the usual way:

        cpan -i Gitalist

    Alternatively, you can get Gitalist using git.

    The canonical repository for the master branch is:

        it://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.

INITIAL CONFIGURATION
    Gitalist is configured using Catalyst::Plugin::Configloader. The
    supplied sample configuration is in Config::General format, however it
    is possible to configure Gitalist using other config file formats (such
    as YAML) if you prefer.

  WHEN CHECKING GITALIST OUT OF GIT
    Gitalist from git includes a minimal "gitalist_local.conf", which sets
    the repository directory to one directory higher than the Gitalist
    repository.

    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
        You can connect to your server at http://localhost:3000

  FOR CPAN INSTALLS
    Gitalist can be supplied with a config file by setting the
    "GITALIST_CONFIG" environment variable to point to a configuration file.

    If you install Gitalist from CPAN, 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

    You can then edit this confg, adding a repos_dir path and customising
    other settings as desired.

    You can then start the Gitalist demo server by setting
    "GITALIST_CONFIG". For example:

        GITALIST_CONFIG=/usr/local/etc/gitalist.conf gitalist_server.pl

    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.

        GITALIST_REPOS_DIR=/home/myuser/code/git gitalist_server.pl
        gitalist_server.pl --repos_dir home/myuser/code/git

    The "GITALIST_REPOS_DIR" environment variable will override the
    repository directory set in configuration, and will itself be overridden
    by he "--repos_dir" flag.

RUNNING
    Once you have followed the instructions above to install and configure
    Gitalist, you may want to run it in a more production facing environment
    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.

    Assuming that you have installed Gitalist's dependencies into a
    local::lib, and you are running from a git checkout, adding a trivial
    FCGI script as "script/gitalist.fcgi" (this file is specifically in
    ".gitignore" so you can have your own copy):

        #!/bin/sh
        export PERL5LIB=/home/t0m/public_html/Gitalist/lib:/home/t0m/perl5/lib/perl5:$PERL5LIB
        exec /home/t0m/public_html/Gitalist/script/gitalist_fastcgi.pl

    This example can be seen live here:

        http://goatse.co.uk/~bobtfish/Gitalist/script/gitalist.fcgi/

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
    your own copy of gitalist somewhere and ask us to pull from it.

SUPPORT
    Gitalist has an active irc community in "#gitalist" on irc.perl.org,
    please feel free to stop by and ask questions, report bugs or
    installation issues or generally for a chat about where we plan to go
    with the project.

SEE ALSO
    Gitalist::Controller::Root

    Gitalist::Git::Repository

    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

About

Transitional project to convert gitweb.cgi to a Catalyst app

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Perl 80.3%
  • CSS 19.7%