X-Git-Url: https://git.cameronkatri.com/cgit.git/blobdiff_plain/7eb9f9e980c2ce1d93c979c4725cf7b60083b7b4..fac65a7ed2d10f83d0df27e66e1c67e11663c220:/cgitrc.5.txt diff --git a/cgitrc.5.txt b/cgitrc.5.txt index 5903a93..a22423b 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 @@ -76,6 +76,11 @@ clone-prefix:: 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 @@ -161,7 +166,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 @@ -243,7 +248,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,7 +301,8 @@ 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 @@ -361,7 +368,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: @@ -404,6 +411,12 @@ 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.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 +471,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 +537,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