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 setup 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.
	Currently lighttpd, apache2 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 command-line to execute to view the gitweb page.
	If blank, the URL of the gitweb instance will be printed to
	stdout.  (Default: 'firefox')

--start::
	Start the httpd instance and exit.  This does not generate
	any of the configuration files for spawning a new instance.

--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 the httpd instance and exit.  This does not generate
	any of the configuration files 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.

Author
------
Written by Eric Wong <normalperson@yhbt.net>

Documentation
--------------
Documentation by Eric Wong <normalperson@yhbt.net>.

GIT
---
Part of the linkgit:git[7] suite
