about summary refs log tree commit diff
path: root/third_party/git/gitweb/INSTALL
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/git/gitweb/INSTALL')
-rw-r--r--third_party/git/gitweb/INSTALL328
1 files changed, 0 insertions, 328 deletions
diff --git a/third_party/git/gitweb/INSTALL b/third_party/git/gitweb/INSTALL
deleted file mode 100644
index a58e6b3c44b0..000000000000
--- a/third_party/git/gitweb/INSTALL
+++ /dev/null
@@ -1,328 +0,0 @@
-GIT web Interface (gitweb) Installation
-=======================================
-
-First you have to generate gitweb.cgi from gitweb.perl using
-"make gitweb", then "make install-gitweb" appropriate files
-(gitweb.cgi, gitweb.js, gitweb.css, git-logo.png and git-favicon.png)
-to their destination. For example if git was (or is) installed with
-/usr prefix and gitwebdir is /var/www/cgi-bin, you can do
-
-	$ make prefix=/usr gitweb                            ;# as yourself
-	# make gitwebdir=/var/www/cgi-bin install-gitweb     ;# as root
-
-Alternatively you can use autoconf generated ./configure script to
-set up path to git binaries (via config.mak.autogen), so you can write
-instead
-
-	$ make configure                     ;# as yourself
-	$ ./configure --prefix=/usr          ;# as yourself
-	$ make gitweb                        ;# as yourself
-	# make gitwebdir=/var/www/cgi-bin \
-	       install-gitweb                ;# as root
-
-The above example assumes that your web server is configured to run
-[executable] files in /var/www/cgi-bin/ as server scripts (as CGI
-scripts).
-
-
-Requirements
-------------
-
- - Core git tools
- - Perl 5.8
- - Perl modules: CGI, Encode, Fcntl, File::Find, File::Basename.
- - web server
-
-The following optional Perl modules are required for extra features
- - CGI::Fast and FCGI - for running gitweb as FastCGI script
- - HTML::TagCloud - for fancy tag cloud in project list view
- - HTTP::Date or Time::ParseDate - to support If-Modified-Since for feeds
-
-
-Build time configuration
-------------------------
-
-See also "How to configure gitweb for your local system" section below.
-
-- There are many configuration variables which affect building of
-  gitweb.cgi; see "default configuration for gitweb" section in main
-  (top dir) Makefile, and instructions for building gitweb target.
-
-  One of the most important is where to find the git wrapper binary. Gitweb
-  tries to find the git wrapper at $(bindir)/git, so you have to set $bindir
-  when building gitweb.cgi, or $prefix from which $bindir is derived. If
-  you build and install gitweb together with the rest of the git suite,
-  there should be no problems. Otherwise, if git was for example
-  installed from a binary package, you have to set $prefix (or $bindir)
-  accordingly.
-
-- Another important issue is where are git repositories you want to make
-  available to gitweb. By default gitweb searches for repositories under
-  /pub/git; if you want to have projects somewhere else, like /home/git,
-  use GITWEB_PROJECTROOT build configuration variable.
-
-  By default all git repositories under projectroot are visible and
-  available to gitweb. The list of projects is generated by default by
-  scanning the projectroot directory for git repositories. This can be
-  changed (configured) as described in "Gitweb repositories" section
-  below.
-
-  Note that gitweb deals directly with the object database, and does not
-  need a working directory; the name of the project is the name of its
-  repository object database, usually projectname.git for bare
-  repositories. If you want to provide gitweb access to non-bare (live)
-  repositories, you can make projectname.git a symbolic link under
-  projectroot linking to projectname/.git (but it is just
-  a suggestion).
-
-- You can control where gitweb tries to find its main CSS style file,
-  its JavaScript file, its favicon and logo with the GITWEB_CSS, GITWEB_JS
-  GITWEB_FAVICON and GITWEB_LOGO build configuration variables. By default
-  gitweb tries to find them in the same directory as gitweb.cgi script.
-
-- You can optionally generate minified versions of gitweb.js and gitweb.css
-  by defining the JSMIN and CSSMIN build configuration variables. By default
-  the non-minified versions will be used. NOTE: if you enable this option,
-  substitute gitweb.min.js and gitweb.min.css for all uses of gitweb.js and
-  gitweb.css in the help files.
-
-
-How to configure gitweb for your local system
----------------------------------------------
-
-You can specify the following configuration variables when building GIT:
-
- * GIT_BINDIR
-   Points where to find the git executable.  You should set it up to
-   the place where the git binary was installed (usually /usr/bin) if you
-   don't install git from sources together with gitweb.  [Default: $(bindir)]
- * GITWEB_SITENAME
-   Shown in the title of all generated pages, defaults to the server name
-   (SERVER_NAME CGI environment variable) if not set. [No default]
- * GITWEB_PROJECTROOT
-   The root directory for all projects shown by gitweb. Must be set
-   correctly for gitweb to find repositories to display.  See also
-   "Gitweb repositories" in the INSTALL file for gitweb.  [Default: /pub/git]
- * GITWEB_PROJECT_MAXDEPTH
-   The filesystem traversing limit for getting the project list; the number
-   is taken as depth relative to the projectroot.  It is used when
-   GITWEB_LIST is a directory (or is not set; then project root is used).
-   This is meant to speed up project listing on large work trees by limiting
-   search depth.  [Default: 2007]
- * GITWEB_LIST
-   Points to a directory to scan for projects (defaults to project root
-   if not set / if empty) or to a file with explicit listing of projects
-   (together with projects' ownership). See "Generating projects list
-   using gitweb" in INSTALL file for gitweb to find out how to generate
-   such file from scan of a directory. [No default, which means use root
-   directory for projects]
- * GITWEB_EXPORT_OK
-   Show repository only if this file exists (in repository).  Only
-   effective if this variable evaluates to true.  [No default / Not set]
- * GITWEB_STRICT_EXPORT
-   Only allow viewing of repositories also shown on the overview page.
-   This for example makes GITWEB_EXPORT_OK to decide if repository is
-   available and not only if it is shown.  If GITWEB_LIST points to
-   file with list of project, only those repositories listed would be
-   available for gitweb.  [No default]
- * GITWEB_HOMETEXT
-   Points to an .html file which is included on the gitweb project
-   overview page ('projects_list' view), if it exists.  Relative to
-   gitweb.cgi script.  [Default: indextext.html]
- * GITWEB_SITE_HTML_HEAD_STRING
-   html snippet to include in the <head> section of each page. [No default]
- * GITWEB_SITE_HEADER
-   Filename of html text to include at top of each page.  Relative to
-   gitweb.cgi script.  [No default]
- * GITWEB_SITE_FOOTER
-   Filename of html text to include at bottom of each page.  Relative to
-   gitweb.cgi script.  [No default]
- * GITWEB_HOME_LINK_STR
-   String of the home link on top of all pages, leading to $home_link
-   (usually main gitweb page, which means projects list).  Used as first
-   part of gitweb view "breadcrumb trail": <home> / <project> / <view>.
-   [Default: projects]
- * GITWEB_SITENAME
-   Name of your site or organization to appear in page titles.  Set it
-   to something descriptive for clearer bookmarks etc.  If not set
-   (if empty) gitweb uses "$SERVER_NAME Git", or "Untitled Git" if
-   SERVER_NAME CGI environment variable is not set (e.g. if running
-   gitweb as standalone script).  [No default]
- * GITWEB_BASE_URL
-   Git base URLs used for URL to where fetch project from, i.e. full
-   URL is "$git_base_url/$project".  Shown on projects summary page.
-   Repository URL for project can be also configured per repository; this
-   takes precedence over URLs composed from base URL and a project name.
-   Note that you can setup multiple base URLs (for example one for
-   git:// protocol access, another for http:// access) from the gitweb
-   config file.  [No default]
- * GITWEB_CSS
-   Points to the location where you put gitweb.css on your web server
-   (or to be more generic, the URI of gitweb stylesheet).  Relative to the
-   base URI of gitweb.  Note that you can setup multiple stylesheets from
-   the gitweb config file.  [Default: static/gitweb.css (or
-   static/gitweb.min.css if the CSSMIN variable is defined / CSS minifier
-   is used)]
- * GITWEB_JS
-   Points to the location where you put gitweb.js on your web server
-   (or to be more generic URI of JavaScript code used by gitweb).
-   Relative to base URI of gitweb.  [Default: static/gitweb.js (or
-   static/gitweb.min.js if JSMIN build variable is defined / JavaScript
-   minifier is used)]
- * CSSMIN, JSMIN
-   Invocation of a CSS minifier or a JavaScript minifier, respectively,
-   working as a filter (source on standard input, minified result on
-   standard output).  If set, it is used to generate a minified version of
-   'static/gitweb.css' or 'static/gitweb.js', respectively.  *Note* that
-   minified files would have *.min.css and *.min.js extension, which is
-   important if you also set GITWEB_CSS and/or GITWEB_JS.  [No default]
- * GITWEB_LOGO
-   Points to the location where you put git-logo.png on your web server
-   (or to be more generic URI of logo, 72x27 size, displayed in top right
-   corner of each gitweb page, and used as logo for Atom feed).  Relative
-   to base URI of gitweb.  [Default: static/git-logo.png]
- * GITWEB_FAVICON
-   Points to the location where you put git-favicon.png on your web server
-   (or to be more generic URI of favicon, assumed to be image/png type;
-   web browsers that support favicons (website icons) may display them
-   in the browser's URL bar and next to site name in bookmarks).  Relative
-   to base URI of gitweb.  [Default: static/git-favicon.png]
- * GITWEB_CONFIG
-   This Perl file will be loaded using 'do' and can be used to override any
-   of the options above as well as some other options -- see the "Runtime
-   gitweb configuration" section below, and top of 'gitweb.cgi' for their
-   full list and description.  If the environment variable GITWEB_CONFIG
-   is set when gitweb.cgi is executed, then the file specified in the
-   environment variable will be loaded instead of the file specified
-   when gitweb.cgi was created.  [Default: gitweb_config.perl]
- * GITWEB_CONFIG_SYSTEM
-   This Perl file will be loaded using 'do' as a fallback if GITWEB_CONFIG
-   does not exist.  If the environment variable GITWEB_CONFIG_SYSTEM is set
-   when gitweb.cgi is executed, then the file specified in the environment
-   variable will be loaded instead of the file specified when gitweb.cgi was
-   created.  [Default: /etc/gitweb.conf]
- * HIGHLIGHT_BIN
-   Path to the highlight executable to use (must be the one from
-   http://www.andre-simon.de due to assumptions about parameters and output).
-   Useful if highlight is not installed on your webserver's PATH.
-   [Default: highlight]
-
-Build example
-~~~~~~~~~~~~~
-
-- To install gitweb to /var/www/cgi-bin/gitweb/, when git wrapper
-  is installed at /usr/local/bin/git, the repositories (projects)
-  we want to display are under /home/local/scm, and you do not use
-  minifiers, you can do
-
-	make GITWEB_PROJECTROOT="/home/local/scm" \
-	     GITWEB_JS="gitweb/static/gitweb.js" \
-	     GITWEB_CSS="gitweb/static/gitweb.css" \
-	     GITWEB_LOGO="gitweb/static/git-logo.png" \
-	     GITWEB_FAVICON="gitweb/static/git-favicon.png" \
-	     bindir=/usr/local/bin \
-	     gitweb
-
-	make gitwebdir=/var/www/cgi-bin/gitweb install-gitweb
-
-
-Gitweb config file
-------------------
-
-See also "Runtime gitweb configuration" section in README file
-for gitweb (in gitweb/README), and gitweb.conf(5) manpage.
-
-- You can configure gitweb further using the per-instance gitweb configuration file;
-  by default this is a file named gitweb_config.perl in the same place as
-  gitweb.cgi script. You can control the default place for the config file
-  using the GITWEB_CONFIG build configuration variable, and you can set it
-  using the GITWEB_CONFIG environment variable. If this file does not
-  exist, gitweb looks for a system-wide configuration file, normally
-  /etc/gitweb.conf. You can change the default using the
-  GITWEB_CONFIG_SYSTEM build configuration variable, and override it
-  through the GITWEB_CONFIG_SYSTEM environment variable.
-
-  Note that the GITWEB_CONFIG_SYSTEM system-wide configuration file is
-  only used for instances that lack per-instance configuration file.
-  You can use GITWEB_CONFIG_COMMON common system-wide configuration
-  file (normally /etc/gitweb-common.conf) to keep common default
-  settings that apply to all instances.  Settings from per-instance or
-  system-wide configuration file override those from common system-wide
-  configuration file.
-
-- The gitweb config file is a fragment of perl code. You can set variables
-  using "our $variable = value"; text from "#" character until the end
-  of a line is ignored. See perlsyn(1) for details.
-
-  See the top of gitweb.perl file for examples of customizable options.
-
-Config file example
-~~~~~~~~~~~~~~~~~~~
-
-To enable blame, pickaxe search, and snapshot support, while allowing
-individual projects to turn them off, put the following in your
-GITWEB_CONFIG file:
-
-	$feature{'blame'}{'default'} = [1];
-	$feature{'blame'}{'override'} = 1;
-
-	$feature{'pickaxe'}{'default'} = [1];
-	$feature{'pickaxe'}{'override'} = 1;
-
-	$feature{'snapshot'}{'default'} = ['zip', 'tgz'];
-	$feature{'snapshot'}{'override'} = 1;
-
-If you allow overriding for the snapshot feature, you can specify which
-snapshot formats are globally disabled. You can also add any command line
-options you want (such as setting the compression level). For instance,
-you can disable Zip compressed snapshots and set GZip to run at level 6 by
-adding the following lines to your $GITWEB_CONFIG:
-
-	$known_snapshot_formats{'zip'}{'disabled'} = 1;
-	$known_snapshot_formats{'tgz'}{'compressor'} = ['gzip','-6'];
-
-
-Gitweb repositories
--------------------
-
-By default gitweb shows all git repositories under single common repository
-root on a local filesystem; see description of GITWEB_PROJECTROOT build-time
-configuration variable above (and also of GITWEB_LIST).
-
-More advanced usage, like limiting access or visibility of repositories and
-managing multiple roots are described on gitweb manpage.
-
-
-Example web server configuration
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-See also "Webserver configuration" and "Advanced web server setup" sections
-in gitweb(1) manpage.
-
-
-- Apache2, gitweb installed as CGI script,
-  under /var/www/cgi-bin/
-
-	ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
-
-	<Directory "/var/www/cgi-bin">
-	    Options Indexes FollowSymlinks ExecCGI
-	    AllowOverride None
-	    Order allow,deny
-	    Allow from all
-	</Directory>
-
-- Apache2, gitweb installed as mod_perl legacy script,
-  under /var/www/perl/
-
-	Alias /perl "/var/www/perl"
-
-	<Directory "/var/www/perl">
-	    SetHandler perl-script
-	    PerlResponseHandler ModPerl::Registry
-	    PerlOptions +ParseHeaders
-	    Options Indexes FollowSymlinks +ExecCGI
-	    AllowOverride None
-	    Order allow,deny
-	    Allow from all
-	</Directory>