cache-root::
Path used to store the cgit cache entries. Default value:
- "/var/cache/cgit".
+ "/var/cache/cgit". See also: "MACRO EXPANSION".
cache-dynamic-ttl::
Number which specifies the time-to-live, in minutes, for the cached
for the git config value "gitweb.owner" to determine the owner.
Default value: "1". See also: scan-path.
+enable-http-clone::
+ If set to "1", cgit will act as an dumb HTTP endpoint for git clones.
+ If you use an alternate way of serving git repositories, you may wish
+ to disable this. Default value: "1".
+
enable-index-links::
Flag which, when set to "1", will make cgit generate extra links for
each repo in the repository index (specifically, to the "summary",
include::
Name of a configfile to include before the rest of the current config-
- file is parsed. Default value: none.
+ file is parsed. Default value: none. See also: "MACRO EXPANSION".
index-header::
The content of the file specified with this option will be included
project-list::
A list of subdirectories inside of scan-path, relative to it, that
should loaded as git repositories. This must be defined prior to
- scan-path. Default value: none. See also: scan-path.
+ scan-path. Default value: none. See also: scan-path, "MACRO
+ EXPANSION".
readme::
Text which will be used as default value for "repo.readme". Default
the result will be cached as a cgitrc include-file in the cache
directory. If project-list has been defined prior to scan-path,
scan-path loads only the directories listed in the file pointed to by
- project-list. Default value: none. See also: cache-scanrc-ttl,
- project-list.
+ project-list. Be advised that only the global settings taken
+ before the scan-path directive will be applied to each repository.
+ Default value: none. See also: cache-scanrc-ttl, project-list,
+ "MACRO EXPANSION".
section::
The name of the current repository section - all repositories defined
snapshots::
Text which specifies the default set of snapshot formats generated by
cgit. The value is a space-separated list of zero or more of the
- values "tar", "tar.gz", "tar.bz2" and "zip". Default value: none.
+ values "tar", "tar.gz", "tar.bz2", "tar.xz" and "zip". Default value:
+ none.
source-filter::
Specifies a command which will be invoked to format plaintext blobs
FILTER API
----------
-- about filter::
- This filter is given no arguments.
- The about text that is to be filtered is available on standard input and the
- filtered text is expected on standard output.
-- commit filter::
- This filter is given no arguments.
- The commit message text that is to be filtered is available on standard input
- and the filtered text is expected on standard output.
-- source filter::
- This filter is given a single parameter: the filename of the source file to
- filter. The filter can use the filename to determine (for example) the syntax
- highlighting mode.
- The contents of the source file that is to be filtered is available on
- standard input and the filtered contents is expected on standard output.
+about filter::
+ This filter is given no arguments. The about text that is to be
+ filtered is available on standard input and the filtered text is
+ expected on standard output.
+
+commit filter::
+ This filter is given no arguments. The commit message text that is to
+ be filtered is available on standard input and the filtered text is
+ expected on standard output.
+
+source filter::
+ This filter is given a single parameter: the filename of the source
+ file to filter. The filter can use the filename to determine (for
+ example) the syntax highlighting mode. The contents of the source
+ file that is to be filtered is available on standard input and the
+ filtered contents is expected on standard output.
Also, all filters are handed the following environment variables:
-- CGIT_REPO_URL ( = repo.url setting )
-- CGIT_REPO_NAME ( = repo.name setting )
-- CGIT_REPO_PATH ( = repo.path setting )
-- CGIT_REPO_OWNER ( = repo.owner setting )
-- CGIT_REPO_DEFBRANCH ( = repo.defbranch setting )
-- CGIT_REPO_SECTION ( = section setting )
-- CGIT_REPO_CLONE_URL ( = repo.clone-url setting )
+
+- CGIT_REPO_URL (from repo.url)
+- CGIT_REPO_NAME (from repo.name)
+- CGIT_REPO_PATH (from repo.path)
+- CGIT_REPO_OWNER (from repo.owner)
+- CGIT_REPO_DEFBRANCH (from repo.defbranch)
+- CGIT_REPO_SECTION (from repo.section)
+- CGIT_REPO_CLONE_URL (from repo.clone-url)
If a setting is not defined for a repository and the corresponding global
setting is also not defined (if applicable), then the corresponding
environment variable will be an empty string.
-Note that under normal circumstance all these environment variables are
-defined. If however the total size of the defined settings exceed the
-allocated buffer within cgit then only the environment variables that fit
-in the allocated buffer are handed to the filter.
+
+MACRO EXPANSION
+---------------
+The following cgitrc options supports a simple macro expansion feature,
+where tokens prefixed with "$" are replaced with the value of a similary
+named environment variable:
+
+- cache-root
+- include
+- project-list
+- scan-path
+
+Macro expansion will also happen on the content of $CGIT_CONFIG, if
+defined.
+
+One usage of this feature is virtual hosting, which in its simplest form
+can be accomplished by adding the following line to /etc/cgitrc:
+
+ include=/etc/cgitrc.d/$HTTP_HOST
EXAMPLE CGITRC FILE