X-Git-Url: https://git.cameronkatri.com/cgit.git/blobdiff_plain/fb3b94710febc3fb456201ce3486d09f65d0946f..a9a6a205608c83125841f8f0b2aca07476cd2113:/cgitrc.5.txt diff --git a/cgitrc.5.txt b/cgitrc.5.txt index 5903a93..902fff3 100644 --- a/cgitrc.5.txt +++ b/cgitrc.5.txt @@ -42,7 +42,7 @@ agefile:: 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 @@ -70,12 +70,21 @@ cache-static-ttl:: version of repository pages accessed with a fixed SHA1. Default value: "5". +case-sensitive-sort:: + Sort items in the repo list case sensitively. Default value: "1". + See also: section-sort. + clone-prefix:: Space-separated list of common prefixes which, when combined with a repository url, generates valid clone urls for the repository. This setting is only used if `repo.clone-url` is unspecified. Default value: none. +clone-url:: + Space-separated list of clone-url templates. This setting is only + used if `repo.clone-url` is unspecified. Default value: none. See + also: "MACRO EXPANSION", "FILTER API". + commit-filter:: Specifies a command which will be invoked to format commit messages. The command will get the message on its STDIN, and the STDOUT from the @@ -101,11 +110,24 @@ enable-filter-overrides:: Flag which, when set to "1", allows all filter settings to be overridden in repository-specific cgitrc files. Default value: none. +enable-gitweb-desc:: + If set to "1" and scan-path is enabled, we first check each repository + for the git config value "gitweb.description" to determine the owner. + Otherwise, the description is read from a file titled "description" + inside of the repository directory. + Default value: "1". See also: scan-path. + enable-gitweb-owner:: If set to "1" and scan-path is enabled, we first check each repository for the git config value "gitweb.owner" to determine the owner. Default value: "1". See also: scan-path. +enable-gitweb-section:: + If set to "1" and scan-path is enabled, we first check each repository + for the git config value "gitweb.category" to determine the repository's + section. This value is overridden if section-from-path is enabled. + Default value: "1". See also: scan-path section-from-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 @@ -161,7 +183,7 @@ header:: 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 @@ -221,11 +243,22 @@ mimetype.:: Set the mimetype for the specified filename extension. This is used by the `plain` command when returning blob content. +mimetype-file:: + Specifies the file to use for automatic mimetype lookup. If specified + then this field is used as a fallback when no "mimetype." match is + found. If unspecified then no such lookup is performed. The typical file + to use on a Linux system is /etc/mime.types. Default value: none. See + also: "mimetype.". The format of the file must comply to: + - a comment line is an empty line or a line starting with a hash (#), + optionally preceded by whitespace + - a non-comment line starts with the mimetype (like image/png), followed + by one or more file extensions (like jpg), all separated by whitespace + module-link:: Text which will be used as the formatstring for a hyperlink when a submodule is printed in a directory listing. The arguments for the formatstring are the path and SHA1 of the submodule commit. Default - value: "./?repo=%s&page=commit&id=%s" + value: none. nocache:: If set to the value "1" caching will be disabled. This settings is @@ -243,7 +276,8 @@ noheader:: 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 @@ -295,18 +329,25 @@ scan-path:: scan-path loads only the directories listed in the file pointed to by 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. + Default value: none. See also: cache-scanrc-ttl, project-list, + "MACRO EXPANSION". section:: The name of the current repository section - all repositories defined after this option will inherit the current section name. Default value: none. +section-sort:: + The way in which repositories in each section are sorted. Valid values + are "name" for sorting by the repo name or "age" for sorting by the + most recently updated repository. Default value: "name". See also: + section, case-sensitive-sort. + section-from-path:: A number which, if specified before scan-path, specifies how many path elements from each repo path to use as a default section name. If negative, cgit will discard the specified number of path elements - above the repo directory. Default value: 0. + above the repo directory. Default value: "0". side-by-side-diffs:: If set to "1" shows side-by-side diffs instead of unidiffs per @@ -361,7 +402,7 @@ repo.about-filter:: repo.clone-url:: A list of space-separated urls which can be used to clone this repo. - Default value: none. + Default value: none. See also: "MACRO EXPANSION". repo.commit-filter:: Override the default commit-filter. Default value: none. See also: @@ -370,7 +411,8 @@ repo.commit-filter:: repo.defbranch:: The name of the default branch for this repository. If no such branch exists in the repository, the first branch name (when sorted) is used - as default instead. Default value: "master". + as default instead. Default value: branch pointed to by HEAD, or + "master" if there is no suitable HEAD. repo.desc:: The value to show as repository description. Default value: none. @@ -404,6 +446,18 @@ repo.logo-link:: calculated url of the repository index page will be used. Default value: global logo-link. +repo.module-link:: + Text which will be used as the formatstring for a hyperlink when a + submodule is printed in a directory listing. The arguments for the + formatstring are the path and SHA1 of the submodule commit. Default + value: + +repo.module-link.:: + Text which will be used as the formatstring for a hyperlink when a + submodule with the specified subdirectory path is printed in a + directory listing. The only argument for the formatstring is the SHA1 + of the submodule commit. Default value: none. + repo.max-stats:: Override the default maximum statistics period. Valid values are equal to the values specified for the global "max-stats" setting. Default @@ -458,38 +512,62 @@ config files, e.g. "repo.desc" becomes "desc". 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. +environment variable will be unset. + + +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 + +The following options are expanded during request processing, and support +the environment variables defined in "FILTER API": -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. +- clone-url +- repo.clone-url EXAMPLE CGITRC FILE @@ -500,8 +578,8 @@ EXAMPLE CGITRC FILE cache-size=1000 -# Specify some default clone prefixes -clone-prefix=git://example.com ssh://example.com/pub/git http://example.com/git +# Specify some default clone urls using macro expansion +clone-url=git://foo.org/$CGIT_REPO_URL git@foo.org:$CGIT_REPO_URL # Specify the css url css=/css/cgit.css