X-Git-Url: https://gitweb.ps.run/ps-cgit/blobdiff_plain/756e3ea6392e30bcd0a41346d4ffa42c56d715e2..61ff10065b579fa38182fcf10cc7e63839acd53c:/cgitrc.5.txt diff --git a/cgitrc.5.txt b/cgitrc.5.txt index 4721c1e..9d0c089 100644 --- a/cgitrc.5.txt +++ b/cgitrc.5.txt @@ -29,9 +29,10 @@ GLOBAL SETTINGS about-filter:: Specifies a command which will be invoked to format the content of about pages (both top-level and for each repository). The command will - get the content of the about-file on its STDIN, and the STDOUT from the - command will be included verbatim on the about page. Default value: - none. See also: "FILTER API". + get the content of the about-file on its STDIN, the name of the file + as the first argument, and the STDOUT from the command will be + included verbatim on the about page. Default value: none. See + also: "FILTER API". agefile:: Specifies a path, relative to each repository path, which can be used @@ -40,35 +41,52 @@ agefile:: function in libgit. Recommended timestamp-format is "yyyy-mm-dd hh:mm:ss". Default value: "info/web/last-modified". +branch-sort:: + Flag which, when set to "age", enables date ordering in the branch ref + list, and when set to "name" enables ordering by branch name. Default + value: "name". + cache-root:: Path used to store the cgit cache entries. Default value: "/var/cache/cgit". See also: "MACRO EXPANSION". +cache-static-ttl:: + Number which specifies the time-to-live, in minutes, for the cached + version of repository pages accessed with a fixed SHA1. Negative + values have infinite ttl. Default value: -1". + cache-dynamic-ttl:: Number which specifies the time-to-live, in minutes, for the cached - version of repository pages accessed without a fixed SHA1. Default - value: "5". + version of repository pages accessed without a fixed SHA1. Negative + values have infinite ttl. Default value: "5". cache-repo-ttl:: Number which specifies the time-to-live, in minutes, for the cached - version of the repository summary page. Default value: "5". + version of the repository summary page. Negative values have infinite + ttl. Default value: "5". cache-root-ttl:: Number which specifies the time-to-live, in minutes, for the cached - version of the repository index page. Default value: "5". + version of the repository index page. Negative values have infinite + ttl. Default value: "5". cache-scanrc-ttl:: Number which specifies the time-to-live, in minutes, for the result - of scanning a path for git repositories. Default value: "15". + of scanning a path for git repositories. Negative values have infinite + ttl. Default value: "15". + +cache-about-ttl:: + Number which specifies the time-to-live, in minutes, for the cached + version of the repository about page. Negative values have infinite + ttl. Default value: "15". cache-size:: The maximum number of entries in the cgit cache. Default value: "0" (i.e. caching is disabled). -cache-static-ttl:: - Number which specifies the time-to-live, in minutes, for the cached - 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: repository-sort, section-sort. clone-prefix:: Space-separated list of common prefixes which, when combined with a @@ -88,6 +106,12 @@ commit-filter:: be used to implement bugtracker integration. Default value: none. See also: "FILTER API". +commit-sort:: + Flag which, when set to "date", enables strict date ordering in the + commit log, and when set to "topo" enables strict topological + ordering. If unset, the default ordering of "git log" is used. Default + value: unset. + css:: Url which specifies the css document to include in all cgit pages. Default value: "/cgit.css". @@ -106,11 +130,6 @@ 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-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-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 @@ -121,6 +140,10 @@ enable-index-links:: each repo in the repository index (specifically, to the "summary", "commit" and "tree" pages). Default value: "0". +enable-index-owner:: + Flag which, when set to "1", will make cgit display the owner of + each repo in the repository index. Default value: "1". + enable-log-filecount:: Flag which, when set to "1", will make cgit print the number of modified files for each commit on the repository log page. Default @@ -146,10 +169,20 @@ enable-tree-linenumbers:: Flag which, when set to "1", will make cgit generate linenumber links for plaintext blobs printed in the tree view. Default value: "1". +enable-git-config:: + Flag which, when set to "1", will allow cgit to use git config to set + any repo specific settings. This option is used in conjunction with + "scan-path", and must be defined prior, to augment repo-specific + settings. The keys gitweb.owner, gitweb.category, and gitweb.description + will map to the cgit keys repo.owner, repo.section, and repo.desc, + respectivly. All git config keys that begin with "cgit." will be mapped + to the corresponding "repo." key in cgit. Default value: "0". See also: + scan-path, section-from-path. + favicon:: - Url used as link to a shortcut icon for cgit. If specified, it is - suggested to use the value "/favicon.ico" since certain browsers will - ignore other values. Default value: none. + Url used as link to a shortcut icon for cgit. It is suggested to use + the value "/favicon.ico" since certain browsers will ignore other + values. Default value: "/favicon.ico". footer:: The content of the file specified with this option will be included @@ -226,11 +259,23 @@ 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. 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 + Default value: none. See also: "mimetype.". + 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 @@ -252,13 +297,16 @@ project-list:: EXPANSION". readme:: - Text which will be used as default value for "repo.readme". Default - value: none. + Text which will be used as default value for "repo.readme". Multiple + config keys may be specified, and cgit will use the first found file + in this list. This is useful in conjunction with scan-path. Default + value: none. See also: scan-path, repo.readme. remove-suffix:: If set to "1" and scan-path is enabled, if any repositories are found with a suffix of ".git", this suffix will be removed for the url and - name. Default value: "0". See also: scan-path. + name. This must be defined prior to scan-path. Default value: "0". + See also: scan-path. renamelimit:: Maximum number of files to consider when detecting renames. The value @@ -269,6 +317,12 @@ repo.group:: Legacy alias for "section". This option is deprecated and will not be supported in cgit-1.0. +repository-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-sort. + robots:: Text used as content for the "robots" meta-tag. Default value: "index, nofollow". @@ -309,11 +363,17 @@ section:: after this option will inherit the current section name. Default value: none. +section-sort:: + Flag which, when set to "1", will sort the sections on the repository + listing by name. Set this flag to "0" if the order in the cgitrc file should + be preserved. Default value: "1". See also: section, + case-sensitive-sort, repository-sort. + section-from-path:: - A number which, if specified before scan-path, specifies how many + A number which, if defined prior to 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 @@ -349,8 +409,8 @@ strict-export:: Filename which, if specified, needs to be present within the repository for cgit to allow access to that repository. This can be used to emulate gitweb's EXPORT_OK and STRICT_EXPORT functionality and limit cgit's - repositories to match those exported by git-daemon. This option MUST come - before 'scan-path'. + repositories to match those exported by git-daemon. This option must + be defined prior to scan-path. virtual-root:: Url which, if specified, will be used as root for all cgit links. It @@ -360,12 +420,18 @@ virtual-root:: NOTE: cgit has recently learned how to use PATH_INFO to achieve the same kind of virtual urls, so this option will probably be deprecated. + REPOSITORY SETTINGS ------------------- repo.about-filter:: Override the default about-filter. Default value: none. See also: "enable-filter-overrides". See also: "FILTER API". +repo.branch-sort:: + Flag which, when set to "age", enables date ordering in the branch ref + list, and when set to "name" enables ordering by branch name. Default + value: "name". + repo.clone-url:: A list of space-separated urls which can be used to clone this repo. Default value: none. See also: "MACRO EXPANSION". @@ -374,10 +440,17 @@ repo.commit-filter:: Override the default commit-filter. Default value: none. See also: "enable-filter-overrides". See also: "FILTER API". +repo.commit-sort:: + Flag which, when set to "date", enables strict date ordering in the + commit log, and when set to "topo" enables strict topological + ordering. If unset, the default ordering of "git log" is used. Default + value: unset. + 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. @@ -417,6 +490,12 @@ repo.module-link:: 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 @@ -437,7 +516,12 @@ repo.readme:: A path (relative to ) which specifies a file to include verbatim as the "About" page for this repo. You may also specify a git refspec by head or by hash by prepending the refspec followed by - a colon. For example, "master:docs/readme.mkd" Default value: . + a colon. For example, "master:docs/readme.mkd". If the value begins + with a colon, i.e. ":docs/readme.rst", the default branch of the + repository will be used. Sharing any file will expose that entire + directory tree to the "/about/PATH" endpoints, so be sure that there + are no non-public files located in the same directory as the readme + file. Default value: . repo.snapshots:: A mask of allowed snapshot-formats for this repo, restricted by the @@ -472,9 +556,11 @@ 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. + 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 type of syntax to follow when formatting the readme file. + 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 @@ -500,7 +586,7 @@ Also, all filters are handed the following environment variables: 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 @@ -544,6 +630,14 @@ clone-url=git://foo.org/$CGIT_REPO_URL git@foo.org:$CGIT_REPO_URL css=/css/cgit.css +# Show owner on index page +enable-index-owner=1 + + +# Allow http transport git clone +enable-git-clone=1 + + # Show extra links for each repository on the index page enable-index-links=1 @@ -560,6 +654,10 @@ enable-log-filecount=1 enable-log-linecount=1 +# Sort branches by date +branch-sort=age + + # Add a cgit favicon favicon=/favicon.ico @@ -601,6 +699,47 @@ mimetype.png=image/png mimetype.svg=image/svg+xml +# Highlight source code with python pygments-based highligher +source-filter=/var/www/cgit/filters/syntax-highlighting.py + +# Format markdown, restructuredtext, manpages, text files, and html files +# through the right converters +about-filter=/var/www/cgit/filters/about-formatting.sh + +## +## Search for these files in the root of the default branch of repositories +## for coming up with the about page: +## +readme=:README.md +readme=:readme.md +readme=:README.mkd +readme=:readme.mkd +readme=:README.rst +readme=:readme.rst +readme=:README.html +readme=:readme.html +readme=:README.htm +readme=:readme.htm +readme=:README.txt +readme=:readme.txt +readme=:README +readme=:readme +readme=:INSTALL.md +readme=:install.md +readme=:INSTALL.mkd +readme=:install.mkd +readme=:INSTALL.rst +readme=:install.rst +readme=:INSTALL.html +readme=:install.html +readme=:INSTALL.htm +readme=:install.htm +readme=:INSTALL.txt +readme=:install.txt +readme=:INSTALL +readme=:install + + ## ## List of repositories. ## PS: Any repositories listed when section is unset will not be