git-commit-vandalism/Documentation/git-instaweb.txt

94 lines
2.2 KiB
Plaintext
Raw Normal View History

git-instaweb(1)
===============
NAME
----
git-instaweb - Instantly browse your working repository in gitweb
SYNOPSIS
--------
[verse]
'git instaweb' [--local] [--httpd=<httpd>] [--port=<port>]
[--browser=<browser>]
'git instaweb' [--start] [--stop] [--restart]
DESCRIPTION
-----------
A simple script to set up `gitweb` and a web server for browsing the local
repository.
OPTIONS
-------
-l::
--local::
Only bind the web server to the local IP (127.0.0.1).
-d::
--httpd::
The HTTP daemon command-line that will be executed.
Command-line options may be specified here, and the
configuration file will be added at the end of the command-line.
git-instaweb: Add support for running gitweb via 'plackup' PSGI is an interface between Perl web applications and web servers, and Plack is a Perl module and toolkit that contains PSGI middleware, helpers and adapters to web servers; see http://plackperl.org PSGI and Plack are inspired by Python's WSGI and Ruby's Rack (and probably JavaScript's Jack/JSGI). Plack core distribution includes HTTP::Server::PSGI, a reference PSGI standalone web server implementation. 'plackup' is a command line launcher to run PSGI applications from command line, connecting web app to a web server via Plack::Runner module. By default it uses HTTP::Server::PSGI as a web server. git-instaweb generates gitweb.psgi wrapper (in $GIT_DIR/gitweb). This wrapper uses Plack::App::WrapCGI to compile gitweb.cgi (which is a CGI script) into a PSGI application using CGI::Compile and CGI::Emulate::PSGI. git-instaweb then runs this wrapper, using by default HTTP::Server::PSGI standalone Perl server, via Plack::Runner. The configuration for 'plackup' is currently embedded in generated gitweb.psgi wrapper, instead of using httpd.conf ($conf). To run git-instaweb with '--httpd=plackup', you need to have instaled Plack core, CGI::Emulate::PSGI, CGI::Compile. Those modules have to be available for Perl scripts (which can be done for example by setting PERL5LIB environment variable). This is currently not documented. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Acked-by: Petr Baudis <pasky@suse.cz> Acked-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-05-28 21:11:25 +02:00
Currently apache2, lighttpd, mongoose, plackup and webrick are supported.
(Default: lighttpd)
-m::
--module-path::
The module path (only needed if httpd is Apache).
(Default: /usr/lib/apache2/modules)
-p::
--port::
The port number to bind the httpd to. (Default: 1234)
-b::
--browser::
The web browser that should be used to view the gitweb
page. This will be passed to the 'git web{litdd}browse' helper
script along with the URL of the gitweb instance. See
linkgit:git-web{litdd}browse[1] for more information about this. If
the script fails, the URL will be printed to stdout.
start::
--start::
Start the httpd instance and exit. Regenerate configuration files
as necessary for spawning a new instance.
stop::
--stop::
Stop the httpd instance and exit. This does not generate
any of the configuration files for spawning a new instance,
nor does it close the browser.
restart::
--restart::
Restart the httpd instance and exit. Regenerate configuration files
as necessary for spawning a new instance.
CONFIGURATION
-------------
You may specify configuration in your .git/config
-----------------------------------------------------------------------
[instaweb]
local = true
httpd = apache2 -f
port = 4321
browser = konqueror
modulepath = /usr/lib/apache2/modules
-----------------------------------------------------------------------
If the configuration variable 'instaweb.browser' is not set,
'web.browser' will be used instead if it is defined. See
linkgit:git-web{litdd}browse[1] for more information about this.
SEE ALSO
--------
linkgit:gitweb[1]
GIT
---
Part of the linkgit:git[1] suite