From c1572bb5ec4540b5008490cf471cc4a5e65ef728 Mon Sep 17 00:00:00 2001 From: John Keeping Date: Sat, 31 Mar 2018 14:20:01 +0100 Subject: Add "snapshot-prefix" repo configuration Allow using a user-specified value for the prefix in snapshot files instead of the repository basename. For example, files downloaded from the linux-stable.git repository should be named linux-$VERSION and not linux-stable-$VERSION, which can be achieved by setting: repo.snapshot-prefix=linux Signed-off-by: John Keeping Reviewed-by: Christian Hesse --- cgitrc.5.txt | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'cgitrc.5.txt') diff --git a/cgitrc.5.txt b/cgitrc.5.txt index 4da166c..a9d3d0a 100644 --- a/cgitrc.5.txt +++ b/cgitrc.5.txt @@ -599,6 +599,13 @@ repo.snapshots:: restricted by the global "snapshots" setting. Default value: . +repo.snapshot-prefix:: + Prefix to use for snapshot links instead of the repository basename. + For example, the "linux-stable" repository may wish to set this to + "linux" so that snapshots are in the format "linux-3.15.4" instead + of "linux-stable-3.15.4". Default value: meaning to use + the repository basename. + repo.section:: Override the current section name for this repository. Default value: none. -- cgit v1.2.3-24-g4f1b From 30a378b571c9f826d37c913b32b363f54a8997f4 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Thu, 7 Jun 2018 22:01:50 +0200 Subject: snapshot: support special value 'all' to enable all formats Signed-off-by: Christian Hesse Reviewed-by: John Keeping --- cgitrc.5.txt | 1 + 1 file changed, 1 insertion(+) (limited to 'cgitrc.5.txt') diff --git a/cgitrc.5.txt b/cgitrc.5.txt index a9d3d0a..3bfacfa 100644 --- a/cgitrc.5.txt +++ b/cgitrc.5.txt @@ -429,6 +429,7 @@ snapshots:: Text which specifies the default set of snapshot formats that cgit generates links for. The value is a space-separated list of zero or more of the values "tar", "tar.gz", "tar.bz2", "tar.xz" and "zip". + The special value "all" enables all snapshot formats. Default value: none. source-filter:: -- cgit v1.2.3-24-g4f1b From 54d37dc154f5308459df0a90c81dabd0245b6c17 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Mon, 18 Jun 2018 11:48:43 +0200 Subject: global: remove functionality we deprecated for cgit v1.0 The man page states these were deprecated for v1.0. We are past v1.1, so remove the functionality. Signed-off-by: Christian Hesse Reviewed-by: John Keeping --- cgitrc.5.txt | 21 --------------------- 1 file changed, 21 deletions(-) (limited to 'cgitrc.5.txt') diff --git a/cgitrc.5.txt b/cgitrc.5.txt index 3bfacfa..acfae91 100644 --- a/cgitrc.5.txt +++ b/cgitrc.5.txt @@ -238,18 +238,6 @@ include:: Name of a configfile to include before the rest of the current config- file is parsed. Default value: none. See also: "MACRO EXPANSION". -index-header:: - The content of the file specified with this option will be included - verbatim above the repository index. This setting is deprecated, and - will not be supported by cgit-1.0 (use root-readme instead). Default - value: none. - -index-info:: - The content of the file specified with this option will be included - verbatim below the heading on the repository index page. This setting - is deprecated, and will not be supported by cgit-1.0 (use root-desc - instead). Default value: none. - local-time:: Flag which, if set to "1", makes cgit print commit and tag times in the servers timezone. Default value: "0". @@ -323,11 +311,6 @@ module-link:: formatstring are the path and SHA1 of the submodule commit. Default value: none. -nocache:: - If set to the value "1" caching will be disabled. This settings is - deprecated, and will not be honored starting with cgit-1.0. Default - value: "0". - noplainemail:: If set to "1" showing full author email addresses will be disabled. Default value: "0". @@ -359,10 +342,6 @@ renamelimit:: "-1" uses the compiletime value in git (for further info, look at `man git-diff`). Default value: "-1". -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 -- cgit v1.2.3-24-g4f1b From 9086260329a88594474a30e0c2f6e44ae0c149ab Mon Sep 17 00:00:00 2001 From: Andy Green Date: Wed, 20 Jun 2018 18:12:03 +0800 Subject: manpage: fix sorting order You maybe didn't know you had OCD until you saw an alpha sorted list that has stuff out of order in it. Signed-off-by: Andy Green Reviewed-by: John Keeping --- cgitrc.5.txt | 176 +++++++++++++++++++++++++++++------------------------------ 1 file changed, 88 insertions(+), 88 deletions(-) (limited to 'cgitrc.5.txt') diff --git a/cgitrc.5.txt b/cgitrc.5.txt index acfae91..f6f6502 100644 --- a/cgitrc.5.txt +++ b/cgitrc.5.txt @@ -54,14 +54,10 @@ branch-sort:: 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:: +cache-about-ttl:: Number which specifies the time-to-live, in minutes, for the cached - version of repository pages accessed with a fixed SHA1. See also: - "CACHE". Default value: -1". + version of the repository about page. See also: "CACHE". Default + value: "15". cache-dynamic-ttl:: Number which specifies the time-to-live, in minutes, for the cached @@ -73,6 +69,10 @@ cache-repo-ttl:: version of the repository summary page. See also: "CACHE". Default value: "5". +cache-root:: + Path used to store the cgit cache entries. Default value: + "/var/cache/cgit". See also: "MACRO EXPANSION". + cache-root-ttl:: Number which specifies the time-to-live, in minutes, for the cached version of the repository index page. See also: "CACHE". Default @@ -83,22 +83,22 @@ cache-scanrc-ttl:: of scanning a path for git repositories. See also: "CACHE". Default value: "15". -cache-about-ttl:: - Number which specifies the time-to-live, in minutes, for the cached - version of the repository about page. See also: "CACHE". Default - value: "15". - -cache-snapshot-ttl:: - Number which specifies the time-to-live, in minutes, for the cached - version of snapshots. See also: "CACHE". Default value: "5". +case-sensitive-sort:: + Sort items in the repo list case sensitively. Default value: "1". + See also: repository-sort, section-sort. cache-size:: The maximum number of entries in the cgit cache. When set to "0", caching is disabled. See also: "CACHE". Default value: "0" -case-sensitive-sort:: - Sort items in the repo list case sensitively. Default value: "1". - See also: repository-sort, section-sort. +cache-snapshot-ttl:: + Number which specifies the time-to-live, in minutes, for the cached + version of snapshots. See also: "CACHE". Default value: "5". + +cache-static-ttl:: + Number which specifies the time-to-live, in minutes, for the cached + version of repository pages accessed with a fixed SHA1. See also: + "CACHE". Default value: -1". clone-prefix:: Space-separated list of common prefixes which, when combined with a @@ -159,12 +159,29 @@ enable-follow-links:: Flag which, when set to "1", allows users to follow a file in the log view. Default value: "0". +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, gitweb.description, + and gitweb.homepage will map to the cgit keys repo.owner, repo.section, + repo.desc, and repo.homepage respectively. 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. + enable-http-clone:: - If set to "1", cgit will act as an dumb HTTP endpoint for git clones. + If set to "1", cgit will act as a dumb HTTP endpoint for git clones. You can add "http://$HTTP_HOST$SCRIPT_NAME/$CGIT_REPO_URL" to clone-url to expose this feature. If you use an alternate way of serving git repositories, you may wish to disable this. Default value: "1". +enable-html-serving:: + Flag which, when set to "1", will allow the /plain handler to serve + mimetype headers that result in the file being treated as HTML by the + browser. When set to "0", such file types are returned instead as + text/plain or application/octet-stream. Default value: "0". See also: + "repo.enable-html-serving". + 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", @@ -195,27 +212,10 @@ enable-subject-links:: in commit view. Default value: "0". See also: "repo.enable-subject-links". -enable-html-serving:: - Flag which, when set to "1", will allow the /plain handler to serve - mimetype headers that result in the file being treated as HTML by the - browser. When set to "0", such file types are returned instead as - text/plain or application/octet-stream. Default value: "0". See also: - "repo.enable-html-serving". - 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, gitweb.description, - and gitweb.homepage will map to the cgit keys repo.owner, repo.section, - repo.desc, and repo.homepage respectively. 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. It is suggested to use the value "/favicon.ico" since certain browsers will ignore other @@ -251,19 +251,14 @@ logo-link:: calculated url of the repository index page will be used. Default value: none. -owner-filter:: - Specifies a command which will be invoked to format the Owner - column of the main page. The command will get the owner on STDIN, - and the STDOUT from the command will be included verbatim in the - table. This can be used to link to additional context such as an - owners home page. When active this filter is used instead of the - default owner query url. Default value: none. - See also: "FILTER API". - max-atom-items:: Specifies the number of items to display in atom feeds view. Default value: "10". +max-blob-size:: + Specifies the maximum size of a blob to display HTML for in KBytes. + Default value: "0" (limit disabled). + max-commit-count:: Specifies the number of entries to list per page in "log" view. Default value: "50". @@ -280,10 +275,6 @@ max-repodesc-length:: Specifies the maximum number of repo description characters to display on the repository index page. Default value: "80". -max-blob-size:: - Specifies the maximum size of a blob to display HTML for in KBytes. - Default value: "0" (limit disabled). - max-stats:: Set the default maximum statistics period. Valid values are "week", "month", "quarter" and "year". If unspecified, statistics are @@ -319,6 +310,15 @@ noheader:: Flag which, when set to "1", will make cgit omit the standard header on all pages. Default value: none. See also: "embedded". +owner-filter:: + Specifies a command which will be invoked to format the Owner + column of the main page. The command will get the owner on STDIN, + and the STDOUT from the command will be included verbatim in the + table. This can be used to link to additional context such as an + owners home page. When active this filter is used instead of the + default owner query url. Default value: none. + See also: "FILTER API". + 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 @@ -481,9 +481,6 @@ repo.defbranch:: repo.desc:: The value to show as repository description. Default value: none. -repo.homepage:: - The value to show as repository homepage. Default value: none. - repo.email-filter:: Override the default email-filter. Default value: none. See also: "enable-filter-overrides". See also: "FILTER API". @@ -492,6 +489,10 @@ repo.enable-commit-graph:: A flag which can be used to disable the global setting `enable-commit-graph'. Default value: none. +repo.enable-html-serving:: + A flag which can be used to override the global setting + `enable-html-serving`. Default value: none. + repo.enable-log-filecount:: A flag which can be used to disable the global setting `enable-log-filecount'. Default value: none. @@ -508,15 +509,14 @@ repo.enable-subject-links:: A flag which can be used to override the global setting `enable-subject-links'. Default value: none. -repo.enable-html-serving:: - A flag which can be used to override the global setting - `enable-html-serving`. Default value: none. - repo.hide:: Flag which, when set to "1", hides the repository from the repository index. The repository can still be accessed by providing a direct path. Default value: "0". See also: "repo.ignore". +repo.homepage:: + The value to show as repository homepage. Default value: none. + repo.ignore:: Flag which, when set to "1", ignores the repository. The repository is not shown in the index and cannot be accessed by providing a direct @@ -531,10 +531,6 @@ repo.logo-link:: calculated url of the repository index page will be used. Default value: global logo-link. -repo.owner-filter:: - Override the default owner-filter. Default value: none. See also: - "enable-filter-overrides". See also: "FILTER API". - 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 @@ -559,6 +555,10 @@ repo.owner:: A value used to identify the owner of the repository. Default value: none. +repo.owner-filter:: + Override the default owner-filter. Default value: none. See also: + "enable-filter-overrides". See also: "FILTER API". + repo.path:: An absolute path to the repository directory. For non-bare repositories this is the .git-directory. Default value: none. @@ -574,6 +574,10 @@ repo.readme:: are no non-public files located in the same directory as the readme file. Default value: . +repo.section:: + Override the current section name for this repository. Default value: + none. + repo.snapshots:: A mask of snapshot formats for this repo that cgit generates links for, restricted by the global "snapshots" setting. Default value: @@ -586,10 +590,6 @@ repo.snapshot-prefix:: of "linux-stable-3.15.4". Default value: meaning to use the repository basename. -repo.section:: - Override the current section name for this repository. Default value: - none. - repo.source-filter:: Override the default source-filter. Default value: none. See also: "enable-filter-overrides". See also: "FILTER API". @@ -662,30 +662,6 @@ about filter:: 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. - -email filter:: - This filter is given two parameters: the email address of the relevant - author and a string indicating the originating page. The filter will - then receive the text string to format on standard input and is - expected to write to standard output the formatted text to be included - in the page. - -owner filter:: - This filter is given no arguments. The owner text is available on - standard input and the filter is expected to write to standard - output. The output is included in the Owner column. - -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. - auth filter:: The authentication filter receives 12 parameters: - filter action, explained below, which specifies which action the @@ -712,6 +688,30 @@ auth filter:: Please see `filters/simple-authentication.lua` for a clear example script that may be modified. +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. + +email filter:: + This filter is given two parameters: the email address of the relevant + author and a string indicating the originating page. The filter will + then receive the text string to format on standard input and is + expected to write to standard output the formatted text to be included + in the page. + +owner filter:: + This filter is given no arguments. The owner text is available on + standard input and the filter is expected to write to standard + output. The output is included in the Owner column. + +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. + All filters are handed the following environment variables: -- cgit v1.2.3-24-g4f1b From b522a302c9c4fb9fd9e1ea829ee990afc74980ca Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Mon, 12 Feb 2018 23:10:06 +0100 Subject: extra-head-content: introduce another option for meta tags This is to support things like go-import meta tags, which are on a per-repo basis. Signed-off-by: Jason A. Donenfeld --- cgitrc.5.txt | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'cgitrc.5.txt') diff --git a/cgitrc.5.txt b/cgitrc.5.txt index f6f6502..6f008cc 100644 --- a/cgitrc.5.txt +++ b/cgitrc.5.txt @@ -509,6 +509,10 @@ repo.enable-subject-links:: A flag which can be used to override the global setting `enable-subject-links'. Default value: none. +repo.extra-head-content:: + This value will be added verbatim to the head section of each page + displayed for this repo. Default value: none. + repo.hide:: Flag which, when set to "1", hides the repository from the repository index. The repository can still be accessed by providing a direct path. -- cgit v1.2.3-24-g4f1b From c4167cbd65acef801e6132ba1182f6ce246ed630 Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Tue, 3 Jul 2018 20:44:08 +0200 Subject: cgitrc.5: document new signature notes Signed-off-by: Jason A. Donenfeld --- cgitrc.5.txt | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'cgitrc.5.txt') diff --git a/cgitrc.5.txt b/cgitrc.5.txt index 6f008cc..6b4efa2 100644 --- a/cgitrc.5.txt +++ b/cgitrc.5.txt @@ -759,7 +759,7 @@ the environment variables defined in "FILTER API": CACHE ------- +----- All cache ttl values are in minutes. Negative ttl values indicate that a page type will never expire, and thus the first time a URL is accessed, the result @@ -767,6 +767,22 @@ will be cached indefinitely, even if the underlying git repository changes. Conversely, when a ttl value is zero, the cache is disabled for that particular page type, and the page type is never cached. +SIGNATURES +---------- + +Cgit can host .asc signatures corresponding to various snapshot formats, +through use of git notes. For example, the following command may be used to +add a signature to a .tar.xz archive: + + git notes --ref=refs/notes/signatures/tar.xz add -C "$( + gpg --output - --armor --detach-sign cgit-1.1.tar.xz | + git hash-object -w --stdin + )" v1.1 + +If it is instead desirable to attach a signature of the underlying .tar, this +will be linked, as a special case, beside a .tar.* link that does not have its +own signature. + EXAMPLE CGITRC FILE ------------------- -- cgit v1.2.3-24-g4f1b From 22583c4992852fff08559c35fde7bf6f673d1644 Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Thu, 5 Jul 2018 02:38:33 +0200 Subject: cgitrc.5: add local tar signature example Signed-off-by: Jason A. Donenfeld --- cgitrc.5.txt | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) (limited to 'cgitrc.5.txt') diff --git a/cgitrc.5.txt b/cgitrc.5.txt index 6b4efa2..34b351b 100644 --- a/cgitrc.5.txt +++ b/cgitrc.5.txt @@ -775,14 +775,25 @@ through use of git notes. For example, the following command may be used to add a signature to a .tar.xz archive: git notes --ref=refs/notes/signatures/tar.xz add -C "$( - gpg --output - --armor --detach-sign cgit-1.1.tar.xz | - git hash-object -w --stdin + gpg --output - --armor --detach-sign cgit-1.1.tar.xz | + git hash-object -w --stdin )" v1.1 If it is instead desirable to attach a signature of the underlying .tar, this will be linked, as a special case, beside a .tar.* link that does not have its -own signature. - +own signature. For example, a signature of a tarball of the latest tag might +be added with a similar command: + + tag="$(git describe --abbrev=0)" + git notes --ref=refs/notes/signatures/tar add -C "$( + git archive --format tar --prefix "cgit-${tag#v}/" "$tag" | + gpg --output - --armor --detach-sign | + git hash-object -w --stdin + )" "$tag" + +Since git-archive(1) is expected to produce stable output between versions, +this allows one to generate a long-term signature of the contents of a given +tag. EXAMPLE CGITRC FILE ------------------- -- cgit v1.2.3-24-g4f1b