Loui Chang | 676d17b | 2009-09-14 01:21:10 -0400 | [diff] [blame] | 1 | :man source: cgit |
| 2 | :man manual: cgit |
| 3 | |
Matt McCormick (thewtex) | 9f9ede3 | 2009-02-11 23:06:05 -0600 | [diff] [blame] | 4 | CGITRC(5) |
| 5 | ======== |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 6 | |
| 7 | |
| 8 | NAME |
| 9 | ---- |
Lars Hjemli | c54f8a5 | 2009-02-12 10:12:05 +0100 | [diff] [blame] | 10 | cgitrc - runtime configuration for cgit |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 11 | |
| 12 | |
Matt McCormick (thewtex) | 9f9ede3 | 2009-02-11 23:06:05 -0600 | [diff] [blame] | 13 | SYNOPSIS |
| 14 | -------- |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 15 | Cgitrc contains all runtime settings for cgit, including the list of git |
| 16 | repositories, formatted as a line-separated list of NAME=VALUE pairs. Blank |
| 17 | lines, and lines starting with '#', are ignored. |
| 18 | |
| 19 | |
Lars Hjemli | fcc6056 | 2009-08-10 18:58:29 +0200 | [diff] [blame] | 20 | LOCATION |
| 21 | -------- |
| 22 | The default location of cgitrc, defined at compile time, is /etc/cgitrc. At |
| 23 | runtime, cgit will consult the environment variable CGIT_CONFIG and, if |
| 24 | defined, use its value instead. |
| 25 | |
| 26 | |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 27 | GLOBAL SETTINGS |
| 28 | --------------- |
Lars Hjemli | 537c05f | 2009-08-09 13:27:21 +0200 | [diff] [blame] | 29 | about-filter:: |
| 30 | Specifies a command which will be invoked to format the content of |
| 31 | about pages (both top-level and for each repository). The command will |
Jason A. Donenfeld | 2a1ead3 | 2013-05-25 20:30:57 +0200 | [diff] [blame] | 32 | get the content of the about-file on its STDIN, the name of the file |
| 33 | as the first argument, and the STDOUT from the command will be |
| 34 | included verbatim on the about page. Default value: none. See |
| 35 | also: "FILTER API". |
Lars Hjemli | 537c05f | 2009-08-09 13:27:21 +0200 | [diff] [blame] | 36 | |
Lars Hjemli | d3b2933 | 2009-02-12 09:58:28 +0100 | [diff] [blame] | 37 | agefile:: |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 38 | Specifies a path, relative to each repository path, which can be used |
| 39 | to specify the date and time of the youngest commit in the repository. |
| 40 | The first line in the file is used as input to the "parse_date" |
| 41 | function in libgit. Recommended timestamp-format is "yyyy-mm-dd |
Christian Hesse | 820df9c | 2013-07-22 09:13:39 +0200 | [diff] [blame] | 42 | hh:mm:ss". You may want to generate this file from a post-receive |
| 43 | hook. Default value: "info/web/last-modified". |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 44 | |
Jason A. Donenfeld | d6e9200 | 2014-01-14 21:49:31 +0100 | [diff] [blame] | 45 | auth-filter:: |
| 46 | Specifies a command that will be invoked for authenticating repository |
| 47 | access. Receives quite a few arguments, and data on both stdin and |
| 48 | stdout for authentication processing. Details follow later in this |
| 49 | document. If no auth-filter is specified, no authentication is |
| 50 | performed. Default value: none. See also: "FILTER API". |
| 51 | |
Jason A. Donenfeld | 389cc17 | 2013-04-08 16:57:12 +0200 | [diff] [blame] | 52 | branch-sort:: |
| 53 | Flag which, when set to "age", enables date ordering in the branch ref |
| 54 | list, and when set to "name" enables ordering by branch name. Default |
| 55 | value: "name". |
| 56 | |
Lars Hjemli | d3b2933 | 2009-02-12 09:58:28 +0100 | [diff] [blame] | 57 | cache-root:: |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 58 | Path used to store the cgit cache entries. Default value: |
Lars Hjemli | ef13e5e | 2011-06-13 21:58:39 +0000 | [diff] [blame] | 59 | "/var/cache/cgit". See also: "MACRO EXPANSION". |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 60 | |
Jason A. Donenfeld | 61ff100 | 2013-05-28 16:33:30 +0200 | [diff] [blame] | 61 | cache-static-ttl:: |
| 62 | Number which specifies the time-to-live, in minutes, for the cached |
| 63 | version of repository pages accessed with a fixed SHA1. Negative |
| 64 | values have infinite ttl. Default value: -1". |
| 65 | |
Lars Hjemli | d3b2933 | 2009-02-12 09:58:28 +0100 | [diff] [blame] | 66 | cache-dynamic-ttl:: |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 67 | Number which specifies the time-to-live, in minutes, for the cached |
Jason A. Donenfeld | 61ff100 | 2013-05-28 16:33:30 +0200 | [diff] [blame] | 68 | version of repository pages accessed without a fixed SHA1. Negative |
| 69 | values have infinite ttl. Default value: "5". |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 70 | |
Lars Hjemli | d3b2933 | 2009-02-12 09:58:28 +0100 | [diff] [blame] | 71 | cache-repo-ttl:: |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 72 | Number which specifies the time-to-live, in minutes, for the cached |
Jason A. Donenfeld | 61ff100 | 2013-05-28 16:33:30 +0200 | [diff] [blame] | 73 | version of the repository summary page. Negative values have infinite |
| 74 | ttl. Default value: "5". |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 75 | |
Lars Hjemli | d3b2933 | 2009-02-12 09:58:28 +0100 | [diff] [blame] | 76 | cache-root-ttl:: |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 77 | Number which specifies the time-to-live, in minutes, for the cached |
Jason A. Donenfeld | 61ff100 | 2013-05-28 16:33:30 +0200 | [diff] [blame] | 78 | version of the repository index page. Negative values have infinite |
| 79 | ttl. Default value: "5". |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 80 | |
Lars Hjemli | b4dc93d | 2009-08-20 17:42:14 +0200 | [diff] [blame] | 81 | cache-scanrc-ttl:: |
| 82 | Number which specifies the time-to-live, in minutes, for the result |
Jason A. Donenfeld | 61ff100 | 2013-05-28 16:33:30 +0200 | [diff] [blame] | 83 | of scanning a path for git repositories. Negative values have infinite |
| 84 | ttl. Default value: "15". |
| 85 | |
| 86 | cache-about-ttl:: |
| 87 | Number which specifies the time-to-live, in minutes, for the cached |
| 88 | version of the repository about page. Negative values have infinite |
| 89 | ttl. Default value: "15". |
Lars Hjemli | b4dc93d | 2009-08-20 17:42:14 +0200 | [diff] [blame] | 90 | |
Lars Hjemli | d3b2933 | 2009-02-12 09:58:28 +0100 | [diff] [blame] | 91 | cache-size:: |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 92 | The maximum number of entries in the cgit cache. Default value: "0" |
| 93 | (i.e. caching is disabled). |
| 94 | |
Jason A. Donenfeld | 184c565 | 2012-07-12 19:13:39 +0200 | [diff] [blame] | 95 | case-sensitive-sort:: |
| 96 | Sort items in the repo list case sensitively. Default value: "1". |
Tobias Bieniek | 7a4e7c8 | 2012-10-09 20:53:29 +0200 | [diff] [blame] | 97 | See also: repository-sort, section-sort. |
Jason A. Donenfeld | 184c565 | 2012-07-12 19:13:39 +0200 | [diff] [blame] | 98 | |
Lars Hjemli | d3b2933 | 2009-02-12 09:58:28 +0100 | [diff] [blame] | 99 | clone-prefix:: |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 100 | Space-separated list of common prefixes which, when combined with a |
| 101 | repository url, generates valid clone urls for the repository. This |
| 102 | setting is only used if `repo.clone-url` is unspecified. Default value: |
| 103 | none. |
| 104 | |
Lars Hjemli | a1429db | 2011-06-06 20:49:13 +0000 | [diff] [blame] | 105 | clone-url:: |
| 106 | Space-separated list of clone-url templates. This setting is only |
| 107 | used if `repo.clone-url` is unspecified. Default value: none. See |
| 108 | also: "MACRO EXPANSION", "FILTER API". |
| 109 | |
Lars Hjemli | f35db1c | 2009-07-31 17:42:57 +0200 | [diff] [blame] | 110 | commit-filter:: |
| 111 | Specifies a command which will be invoked to format commit messages. |
| 112 | The command will get the message on its STDIN, and the STDOUT from the |
| 113 | command will be included verbatim as the commit message, i.e. this can |
| 114 | be used to implement bugtracker integration. Default value: none. |
Ferry Huberts | b2cf630 | 2011-03-23 11:57:44 +0100 | [diff] [blame] | 115 | See also: "FILTER API". |
Lars Hjemli | f35db1c | 2009-07-31 17:42:57 +0200 | [diff] [blame] | 116 | |
Jason A. Donenfeld | 389cc17 | 2013-04-08 16:57:12 +0200 | [diff] [blame] | 117 | commit-sort:: |
| 118 | Flag which, when set to "date", enables strict date ordering in the |
| 119 | commit log, and when set to "topo" enables strict topological |
| 120 | ordering. If unset, the default ordering of "git log" is used. Default |
| 121 | value: unset. |
| 122 | |
Lars Hjemli | d3b2933 | 2009-02-12 09:58:28 +0100 | [diff] [blame] | 123 | css:: |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 124 | Url which specifies the css document to include in all cgit pages. |
| 125 | Default value: "/cgit.css". |
| 126 | |
Jason A. Donenfeld | a5e1553 | 2014-01-13 04:04:52 +0100 | [diff] [blame] | 127 | email-filter:: |
| 128 | Specifies a command which will be invoked to format names and email |
| 129 | address of committers, authors, and taggers, as represented in various |
| 130 | places throughout the cgit interface. This command will receive an |
Jason A. Donenfeld | 786609b | 2014-01-13 16:24:40 +0100 | [diff] [blame] | 131 | email address and an origin page string as its command line arguments, |
| 132 | and the text to format on STDIN. It is to write the formatted text back |
| 133 | out onto STDOUT. Default value: none. See also: "FILTER API". |
Jason A. Donenfeld | a5e1553 | 2014-01-13 04:04:52 +0100 | [diff] [blame] | 134 | |
Lars Hjemli | 286a905 | 2009-07-25 12:29:22 +0200 | [diff] [blame] | 135 | embedded:: |
Lars Hjemli | 86b753c | 2009-07-25 12:23:30 +0200 | [diff] [blame] | 136 | Flag which, when set to "1", will make cgit generate a html fragment |
| 137 | suitable for embedding in other html pages. Default value: none. See |
| 138 | also: "noheader". |
Johan Herland | 9a8d39c | 2010-11-15 18:39:50 +0100 | [diff] [blame] | 139 | |
| 140 | enable-commit-graph:: |
| 141 | Flag which, when set to "1", will make cgit print an ASCII-art commit |
| 142 | history graph to the left of the commit messages in the repository |
| 143 | log page. Default value: "0". |
| 144 | |
Lars Hjemli | 2273c2c | 2009-08-24 08:53:21 +0200 | [diff] [blame] | 145 | enable-filter-overrides:: |
| 146 | Flag which, when set to "1", allows all filter settings to be |
| 147 | overridden in repository-specific cgitrc files. Default value: none. |
| 148 | |
Dan McGee | 4223132 | 2011-01-12 12:06:07 -0600 | [diff] [blame] | 149 | enable-http-clone:: |
| 150 | If set to "1", cgit will act as an dumb HTTP endpoint for git clones. |
Přemysl Janouch | 4f6fb32 | 2013-09-11 20:10:14 +0200 | [diff] [blame] | 151 | You can add "http://$HTTP_HOST$SCRIPT_NAME/$CGIT_REPO_URL" to clone-url |
| 152 | to expose this feature. If you use an alternate way of serving git |
| 153 | repositories, you may wish to disable this. Default value: "1". |
Dan McGee | 4223132 | 2011-01-12 12:06:07 -0600 | [diff] [blame] | 154 | |
Lars Hjemli | d3b2933 | 2009-02-12 09:58:28 +0100 | [diff] [blame] | 155 | enable-index-links:: |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 156 | Flag which, when set to "1", will make cgit generate extra links for |
| 157 | each repo in the repository index (specifically, to the "summary", |
| 158 | "commit" and "tree" pages). Default value: "0". |
| 159 | |
Florian Pritz | b1e172a | 2013-02-01 10:59:13 +0100 | [diff] [blame] | 160 | enable-index-owner:: |
| 161 | Flag which, when set to "1", will make cgit display the owner of |
| 162 | each repo in the repository index. Default value: "1". |
| 163 | |
Lars Hjemli | d3b2933 | 2009-02-12 09:58:28 +0100 | [diff] [blame] | 164 | enable-log-filecount:: |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 165 | Flag which, when set to "1", will make cgit print the number of |
| 166 | modified files for each commit on the repository log page. Default |
| 167 | value: "0". |
| 168 | |
Lars Hjemli | d3b2933 | 2009-02-12 09:58:28 +0100 | [diff] [blame] | 169 | enable-log-linecount:: |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 170 | Flag which, when set to "1", will make cgit print the number of added |
| 171 | and removed lines for each commit on the repository log page. Default |
| 172 | value: "0". |
| 173 | |
Lars Hjemli | 41934a3 | 2009-11-07 19:10:58 +0100 | [diff] [blame] | 174 | enable-remote-branches:: |
| 175 | Flag which, when set to "1", will make cgit display remote branches |
| 176 | in the summary and refs views. Default value: "0". See also: |
| 177 | "repo.enable-remote-branches". |
| 178 | |
Lars Hjemli | 581a0c2 | 2010-02-27 13:12:55 +0100 | [diff] [blame] | 179 | enable-subject-links:: |
| 180 | Flag which, when set to "1", will make cgit use the subject of the |
| 181 | parent commit as link text when generating links to parent commits |
| 182 | in commit view. Default value: "0". See also: |
| 183 | "repo.enable-subject-links". |
| 184 | |
Lars Hjemli | b0f946b | 2009-08-21 14:26:52 +0200 | [diff] [blame] | 185 | enable-tree-linenumbers:: |
| 186 | Flag which, when set to "1", will make cgit generate linenumber links |
| 187 | for plaintext blobs printed in the tree view. Default value: "1". |
| 188 | |
Jason A. Donenfeld | 521e10c | 2012-10-09 06:56:14 -0400 | [diff] [blame] | 189 | enable-git-config:: |
| 190 | Flag which, when set to "1", will allow cgit to use git config to set |
| 191 | any repo specific settings. This option is used in conjunction with |
Jason A. Donenfeld | a8d613e | 2013-04-10 14:42:49 +0200 | [diff] [blame] | 192 | "scan-path", and must be defined prior, to augment repo-specific |
| 193 | settings. The keys gitweb.owner, gitweb.category, and gitweb.description |
| 194 | will map to the cgit keys repo.owner, repo.section, and repo.desc, |
Přemysl Janouch | 88028ad | 2013-09-11 20:10:10 +0200 | [diff] [blame] | 195 | respectively. All git config keys that begin with "cgit." will be mapped |
Jason A. Donenfeld | a8d613e | 2013-04-10 14:42:49 +0200 | [diff] [blame] | 196 | to the corresponding "repo." key in cgit. Default value: "0". See also: |
| 197 | scan-path, section-from-path. |
Jason A. Donenfeld | 521e10c | 2012-10-09 06:56:14 -0400 | [diff] [blame] | 198 | |
Lars Hjemli | d3b2933 | 2009-02-12 09:58:28 +0100 | [diff] [blame] | 199 | favicon:: |
Christian Hesse | 830eb6f | 2013-07-22 08:56:50 +0200 | [diff] [blame] | 200 | Url used as link to a shortcut icon for cgit. It is suggested to use |
| 201 | the value "/favicon.ico" since certain browsers will ignore other |
| 202 | values. Default value: "/favicon.ico". |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 203 | |
Lars Hjemli | d3b2933 | 2009-02-12 09:58:28 +0100 | [diff] [blame] | 204 | footer:: |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 205 | The content of the file specified with this option will be included |
| 206 | verbatim at the bottom of all pages (i.e. it replaces the standard |
| 207 | "generated by..." message. Default value: none. |
| 208 | |
Lars Hjemli | f618e8f | 2009-07-25 12:03:54 +0200 | [diff] [blame] | 209 | head-include:: |
| 210 | The content of the file specified with this option will be included |
| 211 | verbatim in the html HEAD section on all pages. Default value: none. |
| 212 | |
Lars Hjemli | d3b2933 | 2009-02-12 09:58:28 +0100 | [diff] [blame] | 213 | header:: |
Lars Hjemli | b115955 | 2009-01-29 21:27:39 +0100 | [diff] [blame] | 214 | The content of the file specified with this option will be included |
| 215 | verbatim at the top of all pages. Default value: none. |
| 216 | |
Lars Hjemli | d3b2933 | 2009-02-12 09:58:28 +0100 | [diff] [blame] | 217 | include:: |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 218 | Name of a configfile to include before the rest of the current config- |
Lars Hjemli | ef13e5e | 2011-06-13 21:58:39 +0000 | [diff] [blame] | 219 | file is parsed. Default value: none. See also: "MACRO EXPANSION". |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 220 | |
Lars Hjemli | d3b2933 | 2009-02-12 09:58:28 +0100 | [diff] [blame] | 221 | index-header:: |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 222 | The content of the file specified with this option will be included |
| 223 | verbatim above the repository index. This setting is deprecated, and |
| 224 | will not be supported by cgit-1.0 (use root-readme instead). Default |
| 225 | value: none. |
| 226 | |
Lars Hjemli | d3b2933 | 2009-02-12 09:58:28 +0100 | [diff] [blame] | 227 | index-info:: |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 228 | The content of the file specified with this option will be included |
| 229 | verbatim below the heading on the repository index page. This setting |
| 230 | is deprecated, and will not be supported by cgit-1.0 (use root-desc |
| 231 | instead). Default value: none. |
| 232 | |
Lars Hjemli | d3b2933 | 2009-02-12 09:58:28 +0100 | [diff] [blame] | 233 | local-time:: |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 234 | Flag which, if set to "1", makes cgit print commit and tag times in the |
| 235 | servers timezone. Default value: "0". |
| 236 | |
Lars Hjemli | d3b2933 | 2009-02-12 09:58:28 +0100 | [diff] [blame] | 237 | logo:: |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 238 | Url which specifies the source of an image which will be used as a logo |
Lars Hjemli | 92f9b53 | 2009-08-10 18:14:12 +0200 | [diff] [blame] | 239 | on all cgit pages. Default value: "/cgit.png". |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 240 | |
Lars Hjemli | d3b2933 | 2009-02-12 09:58:28 +0100 | [diff] [blame] | 241 | logo-link:: |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 242 | Url loaded when clicking on the cgit logo image. If unspecified the |
| 243 | calculated url of the repository index page will be used. Default |
| 244 | value: none. |
| 245 | |
Aaron Griffin | 80476b0 | 2010-02-04 18:08:16 -0600 | [diff] [blame] | 246 | max-atom-items:: |
| 247 | Specifies the number of items to display in atom feeds view. Default |
| 248 | value: "10". |
| 249 | |
Lars Hjemli | d3b2933 | 2009-02-12 09:58:28 +0100 | [diff] [blame] | 250 | max-commit-count:: |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 251 | Specifies the number of entries to list per page in "log" view. Default |
| 252 | value: "50". |
| 253 | |
Lars Hjemli | d3b2933 | 2009-02-12 09:58:28 +0100 | [diff] [blame] | 254 | max-message-length:: |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 255 | Specifies the maximum number of commit message characters to display in |
| 256 | "log" view. Default value: "80". |
| 257 | |
Lars Hjemli | d3b2933 | 2009-02-12 09:58:28 +0100 | [diff] [blame] | 258 | max-repo-count:: |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 259 | Specifies the number of entries to list per page on the repository |
| 260 | index page. Default value: "50". |
| 261 | |
Lars Hjemli | d3b2933 | 2009-02-12 09:58:28 +0100 | [diff] [blame] | 262 | max-repodesc-length:: |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 263 | Specifies the maximum number of repo description characters to display |
| 264 | on the repository index page. Default value: "80". |
| 265 | |
Georg Lukas | ef07ccc | 2009-11-28 03:44:33 +0100 | [diff] [blame] | 266 | max-blob-size:: |
| 267 | Specifies the maximum size of a blob to display HTML for in KBytes. |
| 268 | Default value: "0" (limit disabled). |
| 269 | |
Lars Hjemli | d3b2933 | 2009-02-12 09:58:28 +0100 | [diff] [blame] | 270 | max-stats:: |
Lars Hjemli | fb2f3f6 | 2008-12-07 13:17:21 +0100 | [diff] [blame] | 271 | Set the default maximum statistics period. Valid values are "week", |
| 272 | "month", "quarter" and "year". If unspecified, statistics are |
| 273 | disabled. Default value: none. See also: "repo.max-stats". |
| 274 | |
Lars Hjemli | c4d46c7 | 2009-02-13 20:43:30 +0100 | [diff] [blame] | 275 | mimetype.<ext>:: |
| 276 | Set the mimetype for the specified filename extension. This is used |
| 277 | by the `plain` command when returning blob content. |
| 278 | |
Ferry Huberts | d01c600 | 2011-07-19 10:51:58 +0200 | [diff] [blame] | 279 | mimetype-file:: |
| 280 | Specifies the file to use for automatic mimetype lookup. If specified |
| 281 | then this field is used as a fallback when no "mimetype.<ext>" match is |
| 282 | found. If unspecified then no such lookup is performed. The typical file |
Jason A. Donenfeld | c6f5bc7 | 2012-11-15 17:21:47 +0100 | [diff] [blame] | 283 | to use on a Linux system is /etc/mime.types. The format of the file must |
| 284 | comply to: |
Ferry Huberts | d01c600 | 2011-07-19 10:51:58 +0200 | [diff] [blame] | 285 | - a comment line is an empty line or a line starting with a hash (#), |
| 286 | optionally preceded by whitespace |
| 287 | - a non-comment line starts with the mimetype (like image/png), followed |
| 288 | by one or more file extensions (like jpg), all separated by whitespace |
Jason A. Donenfeld | ab9805a | 2012-11-15 01:26:06 +0100 | [diff] [blame] | 289 | Default value: none. See also: "mimetype.<ext>". |
Ferry Huberts | d01c600 | 2011-07-19 10:51:58 +0200 | [diff] [blame] | 290 | |
Lars Hjemli | d3b2933 | 2009-02-12 09:58:28 +0100 | [diff] [blame] | 291 | module-link:: |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 292 | Text which will be used as the formatstring for a hyperlink when a |
| 293 | submodule is printed in a directory listing. The arguments for the |
| 294 | formatstring are the path and SHA1 of the submodule commit. Default |
Lars Hjemli | 3fbaf09 | 2011-06-15 10:13:15 +0200 | [diff] [blame] | 295 | value: none. |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 296 | |
Lars Hjemli | d3b2933 | 2009-02-12 09:58:28 +0100 | [diff] [blame] | 297 | nocache:: |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 298 | If set to the value "1" caching will be disabled. This settings is |
| 299 | deprecated, and will not be honored starting with cgit-1.0. Default |
| 300 | value: "0". |
| 301 | |
Martin Szulecki | 2f56e39 | 2009-08-07 14:05:17 +0200 | [diff] [blame] | 302 | noplainemail:: |
Jason A. Donenfeld | cf15260 | 2013-08-16 13:15:17 -0600 | [diff] [blame] | 303 | If set to "1" showing full author email addresses will be disabled. |
Martin Szulecki | 2f56e39 | 2009-08-07 14:05:17 +0200 | [diff] [blame] | 304 | Default value: "0". |
| 305 | |
Lars Hjemli | 286a905 | 2009-07-25 12:29:22 +0200 | [diff] [blame] | 306 | noheader:: |
Lars Hjemli | 86b753c | 2009-07-25 12:23:30 +0200 | [diff] [blame] | 307 | Flag which, when set to "1", will make cgit omit the standard header |
| 308 | on all pages. Default value: none. See also: "embedded". |
| 309 | |
Jason A. Donenfeld | 3516502 | 2010-07-29 17:52:29 +0200 | [diff] [blame] | 310 | project-list:: |
| 311 | A list of subdirectories inside of scan-path, relative to it, that |
| 312 | should loaded as git repositories. This must be defined prior to |
Lars Hjemli | ef13e5e | 2011-06-13 21:58:39 +0000 | [diff] [blame] | 313 | scan-path. Default value: none. See also: scan-path, "MACRO |
| 314 | EXPANSION". |
Jason A. Donenfeld | 3516502 | 2010-07-29 17:52:29 +0200 | [diff] [blame] | 315 | |
Lars Hjemli | 515edb0 | 2010-08-21 15:08:01 +0200 | [diff] [blame] | 316 | readme:: |
Jason A. Donenfeld | 2a1ead3 | 2013-05-25 20:30:57 +0200 | [diff] [blame] | 317 | Text which will be used as default value for "repo.readme". Multiple |
Jason A. Donenfeld | dcbc043 | 2013-05-26 15:20:02 +0200 | [diff] [blame] | 318 | config keys may be specified, and cgit will use the first found file |
| 319 | in this list. This is useful in conjunction with scan-path. Default |
| 320 | value: none. See also: scan-path, repo.readme. |
Lars Hjemli | 515edb0 | 2010-08-21 15:08:01 +0200 | [diff] [blame] | 321 | |
Jason A. Donenfeld | 2e4a941 | 2010-07-29 19:47:50 +0200 | [diff] [blame] | 322 | remove-suffix:: |
| 323 | If set to "1" and scan-path is enabled, if any repositories are found |
| 324 | with a suffix of ".git", this suffix will be removed for the url and |
Jason A. Donenfeld | a8d613e | 2013-04-10 14:42:49 +0200 | [diff] [blame] | 325 | name. This must be defined prior to scan-path. Default value: "0". |
| 326 | See also: scan-path. |
Jason A. Donenfeld | 2e4a941 | 2010-07-29 19:47:50 +0200 | [diff] [blame] | 327 | |
Lars Hjemli | d3b2933 | 2009-02-12 09:58:28 +0100 | [diff] [blame] | 328 | renamelimit:: |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 329 | Maximum number of files to consider when detecting renames. The value |
| 330 | "-1" uses the compiletime value in git (for further info, look at |
| 331 | `man git-diff`). Default value: "-1". |
| 332 | |
Lars Hjemli | d3b2933 | 2009-02-12 09:58:28 +0100 | [diff] [blame] | 333 | repo.group:: |
Lars Hjemli | 007df98 | 2009-08-24 07:51:48 +0200 | [diff] [blame] | 334 | Legacy alias for "section". This option is deprecated and will not be |
| 335 | supported in cgit-1.0. |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 336 | |
Jason A. Donenfeld | 389cc17 | 2013-04-08 16:57:12 +0200 | [diff] [blame] | 337 | repository-sort:: |
| 338 | The way in which repositories in each section are sorted. Valid values |
| 339 | are "name" for sorting by the repo name or "age" for sorting by the |
| 340 | most recently updated repository. Default value: "name". See also: |
| 341 | section, case-sensitive-sort, section-sort. |
| 342 | |
Lars Hjemli | d3b2933 | 2009-02-12 09:58:28 +0100 | [diff] [blame] | 343 | robots:: |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 344 | Text used as content for the "robots" meta-tag. Default value: |
| 345 | "index, nofollow". |
| 346 | |
Lars Hjemli | d3b2933 | 2009-02-12 09:58:28 +0100 | [diff] [blame] | 347 | root-desc:: |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 348 | Text printed below the heading on the repository index page. Default |
| 349 | value: "a fast webinterface for the git dscm". |
| 350 | |
Lars Hjemli | d3b2933 | 2009-02-12 09:58:28 +0100 | [diff] [blame] | 351 | root-readme:: |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 352 | The content of the file specified with this option will be included |
| 353 | verbatim below the "about" link on the repository index page. Default |
| 354 | value: none. |
| 355 | |
Lars Hjemli | d3b2933 | 2009-02-12 09:58:28 +0100 | [diff] [blame] | 356 | root-title:: |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 357 | Text printed as heading on the repository index page. Default value: |
| 358 | "Git Repository Browser". |
| 359 | |
Johan Herland | df52279 | 2010-11-15 20:41:00 +0100 | [diff] [blame] | 360 | scan-hidden-path:: |
| 361 | If set to "1" and scan-path is enabled, scan-path will recurse into |
| 362 | directories whose name starts with a period ('.'). Otherwise, |
| 363 | scan-path will stay away from such directories (considered as |
| 364 | "hidden"). Note that this does not apply to the ".git" directory in |
| 365 | non-bare repos. This must be defined prior to scan-path. |
| 366 | Default value: 0. See also: scan-path. |
| 367 | |
Lars Hjemli | 0046637 | 2009-08-23 19:35:56 +0200 | [diff] [blame] | 368 | scan-path:: |
| 369 | A path which will be scanned for repositories. If caching is enabled, |
| 370 | the result will be cached as a cgitrc include-file in the cache |
Jason A. Donenfeld | 3516502 | 2010-07-29 17:52:29 +0200 | [diff] [blame] | 371 | directory. If project-list has been defined prior to scan-path, |
| 372 | scan-path loads only the directories listed in the file pointed to by |
Julius Plenz | facca56 | 2011-03-10 17:03:24 +0100 | [diff] [blame] | 373 | project-list. Be advised that only the global settings taken |
| 374 | before the scan-path directive will be applied to each repository. |
Lars Hjemli | ef13e5e | 2011-06-13 21:58:39 +0000 | [diff] [blame] | 375 | Default value: none. See also: cache-scanrc-ttl, project-list, |
| 376 | "MACRO EXPANSION". |
Lars Hjemli | 0046637 | 2009-08-23 19:35:56 +0200 | [diff] [blame] | 377 | |
Lars Hjemli | 007df98 | 2009-08-24 07:51:48 +0200 | [diff] [blame] | 378 | section:: |
Lars Hjemli | e7af002 | 2009-08-23 22:58:39 +0200 | [diff] [blame] | 379 | The name of the current repository section - all repositories defined |
| 380 | after this option will inherit the current section name. Default value: |
| 381 | none. |
| 382 | |
Tobias Bieniek | 7a4e7c8 | 2012-10-09 20:53:29 +0200 | [diff] [blame] | 383 | section-sort:: |
| 384 | Flag which, when set to "1", will sort the sections on the repository |
| 385 | listing by name. Set this flag to "0" if the order in the cgitrc file should |
| 386 | be preserved. Default value: "1". See also: section, |
| 387 | case-sensitive-sort, repository-sort. |
Jason A. Donenfeld | 184c565 | 2012-07-12 19:13:39 +0200 | [diff] [blame] | 388 | |
Lars Hjemli | 797110e | 2010-08-21 15:44:09 +0200 | [diff] [blame] | 389 | section-from-path:: |
Jason A. Donenfeld | a8d613e | 2013-04-10 14:42:49 +0200 | [diff] [blame] | 390 | A number which, if defined prior to scan-path, specifies how many |
Lars Hjemli | 797110e | 2010-08-21 15:44:09 +0200 | [diff] [blame] | 391 | path elements from each repo path to use as a default section name. |
| 392 | If negative, cgit will discard the specified number of path elements |
Jason A. Donenfeld | 184c565 | 2012-07-12 19:13:39 +0200 | [diff] [blame] | 393 | above the repo directory. Default value: "0". |
Lars Hjemli | 797110e | 2010-08-21 15:44:09 +0200 | [diff] [blame] | 394 | |
Ragnar Ouchterlony | c358aa3 | 2009-09-14 20:19:02 +0200 | [diff] [blame] | 395 | side-by-side-diffs:: |
| 396 | If set to "1" shows side-by-side diffs instead of unidiffs per |
| 397 | default. Default value: "0". |
| 398 | |
Lars Hjemli | d3b2933 | 2009-02-12 09:58:28 +0100 | [diff] [blame] | 399 | snapshots:: |
Lukas Fleischer | 70546a3 | 2014-01-14 00:49:48 +0100 | [diff] [blame] | 400 | Text which specifies the default set of snapshot formats that cgit |
| 401 | generates links for. The value is a space-separated list of zero or |
| 402 | more of the values "tar", "tar.gz", "tar.bz2", "tar.xz" and "zip". |
| 403 | Default value: none. |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 404 | |
Lars Hjemli | 46b7abe | 2009-07-31 16:55:27 +0200 | [diff] [blame] | 405 | source-filter:: |
| 406 | Specifies a command which will be invoked to format plaintext blobs |
| 407 | in the tree view. The command will get the blob content on its STDIN |
| 408 | and the name of the blob as its only command line argument. The STDOUT |
| 409 | from the command will be included verbatim as the blob contents, i.e. |
| 410 | this can be used to implement e.g. syntax highlighting. Default value: |
Ferry Huberts | b2cf630 | 2011-03-23 11:57:44 +0100 | [diff] [blame] | 411 | none. See also: "FILTER API". |
Lars Hjemli | 46b7abe | 2009-07-31 16:55:27 +0200 | [diff] [blame] | 412 | |
Lars Hjemli | d3b2933 | 2009-02-12 09:58:28 +0100 | [diff] [blame] | 413 | summary-branches:: |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 414 | Specifies the number of branches to display in the repository "summary" |
| 415 | view. Default value: "10". |
| 416 | |
Lars Hjemli | d3b2933 | 2009-02-12 09:58:28 +0100 | [diff] [blame] | 417 | summary-log:: |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 418 | Specifies the number of log entries to display in the repository |
| 419 | "summary" view. Default value: "10". |
| 420 | |
Lars Hjemli | d3b2933 | 2009-02-12 09:58:28 +0100 | [diff] [blame] | 421 | summary-tags:: |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 422 | Specifies the number of tags to display in the repository "summary" |
| 423 | view. Default value: "10". |
| 424 | |
Felix Hanley | e0c6f23 | 2010-11-08 19:41:13 +0100 | [diff] [blame] | 425 | strict-export:: |
| 426 | Filename which, if specified, needs to be present within the repository |
| 427 | for cgit to allow access to that repository. This can be used to emulate |
| 428 | gitweb's EXPORT_OK and STRICT_EXPORT functionality and limit cgit's |
Jason A. Donenfeld | a8d613e | 2013-04-10 14:42:49 +0200 | [diff] [blame] | 429 | repositories to match those exported by git-daemon. This option must |
| 430 | be defined prior to scan-path. |
Felix Hanley | e0c6f23 | 2010-11-08 19:41:13 +0100 | [diff] [blame] | 431 | |
Lars Hjemli | d3b2933 | 2009-02-12 09:58:28 +0100 | [diff] [blame] | 432 | virtual-root:: |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 433 | Url which, if specified, will be used as root for all cgit links. It |
| 434 | will also cause cgit to generate 'virtual urls', i.e. urls like |
| 435 | '/cgit/tree/README' as opposed to '?r=cgit&p=tree&path=README'. Default |
| 436 | value: none. |
| 437 | NOTE: cgit has recently learned how to use PATH_INFO to achieve the |
| 438 | same kind of virtual urls, so this option will probably be deprecated. |
| 439 | |
Jason A. Donenfeld | 521e10c | 2012-10-09 06:56:14 -0400 | [diff] [blame] | 440 | |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 441 | REPOSITORY SETTINGS |
| 442 | ------------------- |
Lars Hjemli | 537c05f | 2009-08-09 13:27:21 +0200 | [diff] [blame] | 443 | repo.about-filter:: |
Lars Hjemli | 2273c2c | 2009-08-24 08:53:21 +0200 | [diff] [blame] | 444 | Override the default about-filter. Default value: none. See also: |
Ferry Huberts | b2cf630 | 2011-03-23 11:57:44 +0100 | [diff] [blame] | 445 | "enable-filter-overrides". See also: "FILTER API". |
Lars Hjemli | 537c05f | 2009-08-09 13:27:21 +0200 | [diff] [blame] | 446 | |
Jason A. Donenfeld | 389cc17 | 2013-04-08 16:57:12 +0200 | [diff] [blame] | 447 | repo.branch-sort:: |
| 448 | Flag which, when set to "age", enables date ordering in the branch ref |
| 449 | list, and when set to "name" enables ordering by branch name. Default |
| 450 | value: "name". |
| 451 | |
Lars Hjemli | d3b2933 | 2009-02-12 09:58:28 +0100 | [diff] [blame] | 452 | repo.clone-url:: |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 453 | A list of space-separated urls which can be used to clone this repo. |
Lars Hjemli | a1429db | 2011-06-06 20:49:13 +0000 | [diff] [blame] | 454 | Default value: none. See also: "MACRO EXPANSION". |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 455 | |
Lars Hjemli | e976df2 | 2009-08-09 13:22:00 +0200 | [diff] [blame] | 456 | repo.commit-filter:: |
Lars Hjemli | 2273c2c | 2009-08-24 08:53:21 +0200 | [diff] [blame] | 457 | Override the default commit-filter. Default value: none. See also: |
Ferry Huberts | b2cf630 | 2011-03-23 11:57:44 +0100 | [diff] [blame] | 458 | "enable-filter-overrides". See also: "FILTER API". |
Lars Hjemli | e976df2 | 2009-08-09 13:22:00 +0200 | [diff] [blame] | 459 | |
Jason A. Donenfeld | 389cc17 | 2013-04-08 16:57:12 +0200 | [diff] [blame] | 460 | repo.commit-sort:: |
| 461 | Flag which, when set to "date", enables strict date ordering in the |
| 462 | commit log, and when set to "topo" enables strict topological |
| 463 | ordering. If unset, the default ordering of "git log" is used. Default |
| 464 | value: unset. |
| 465 | |
Lars Hjemli | d3b2933 | 2009-02-12 09:58:28 +0100 | [diff] [blame] | 466 | repo.defbranch:: |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 467 | The name of the default branch for this repository. If no such branch |
| 468 | exists in the repository, the first branch name (when sorted) is used |
Julius Plenz | d711de5 | 2011-04-07 12:59:24 +0200 | [diff] [blame] | 469 | as default instead. Default value: branch pointed to by HEAD, or |
| 470 | "master" if there is no suitable HEAD. |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 471 | |
Lars Hjemli | d3b2933 | 2009-02-12 09:58:28 +0100 | [diff] [blame] | 472 | repo.desc:: |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 473 | The value to show as repository description. Default value: none. |
| 474 | |
Jason A. Donenfeld | a5e1553 | 2014-01-13 04:04:52 +0100 | [diff] [blame] | 475 | repo.email-filter:: |
| 476 | Override the default email-filter. Default value: none. See also: |
| 477 | "enable-filter-overrides". See also: "FILTER API". |
| 478 | |
Johan Herland | 9a8d39c | 2010-11-15 18:39:50 +0100 | [diff] [blame] | 479 | repo.enable-commit-graph:: |
| 480 | A flag which can be used to disable the global setting |
| 481 | `enable-commit-graph'. Default value: none. |
| 482 | |
Lars Hjemli | d3b2933 | 2009-02-12 09:58:28 +0100 | [diff] [blame] | 483 | repo.enable-log-filecount:: |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 484 | A flag which can be used to disable the global setting |
| 485 | `enable-log-filecount'. Default value: none. |
| 486 | |
Lars Hjemli | d3b2933 | 2009-02-12 09:58:28 +0100 | [diff] [blame] | 487 | repo.enable-log-linecount:: |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 488 | A flag which can be used to disable the global setting |
| 489 | `enable-log-linecount'. Default value: none. |
| 490 | |
Lars Hjemli | 41934a3 | 2009-11-07 19:10:58 +0100 | [diff] [blame] | 491 | repo.enable-remote-branches:: |
| 492 | Flag which, when set to "1", will make cgit display remote branches |
| 493 | in the summary and refs views. Default value: <enable-remote-branches>. |
| 494 | |
Lars Hjemli | 581a0c2 | 2010-02-27 13:12:55 +0100 | [diff] [blame] | 495 | repo.enable-subject-links:: |
| 496 | A flag which can be used to override the global setting |
| 497 | `enable-subject-links'. Default value: none. |
| 498 | |
Bernhard Reutner-Fischer | 808c685 | 2010-12-23 12:47:54 +0100 | [diff] [blame] | 499 | repo.logo:: |
| 500 | Url which specifies the source of an image which will be used as a logo |
| 501 | on this repo's pages. Default value: global logo. |
| 502 | |
| 503 | repo.logo-link:: |
| 504 | Url loaded when clicking on the cgit logo image. If unspecified the |
| 505 | calculated url of the repository index page will be used. Default |
| 506 | value: global logo-link. |
| 507 | |
Lars Hjemli | 46ca32e | 2011-06-15 09:58:42 +0200 | [diff] [blame] | 508 | repo.module-link:: |
| 509 | Text which will be used as the formatstring for a hyperlink when a |
| 510 | submodule is printed in a directory listing. The arguments for the |
| 511 | formatstring are the path and SHA1 of the submodule commit. Default |
| 512 | value: <module-link> |
| 513 | |
Lars Hjemli | 6857bec | 2011-06-15 10:04:13 +0200 | [diff] [blame] | 514 | repo.module-link.<path>:: |
| 515 | Text which will be used as the formatstring for a hyperlink when a |
| 516 | submodule with the specified subdirectory path is printed in a |
| 517 | directory listing. The only argument for the formatstring is the SHA1 |
| 518 | of the submodule commit. Default value: none. |
| 519 | |
Lars Hjemli | d3b2933 | 2009-02-12 09:58:28 +0100 | [diff] [blame] | 520 | repo.max-stats:: |
Lars Hjemli | fb2f3f6 | 2008-12-07 13:17:21 +0100 | [diff] [blame] | 521 | Override the default maximum statistics period. Valid values are equal |
| 522 | to the values specified for the global "max-stats" setting. Default |
| 523 | value: none. |
Lars Hjemli | f86a23f | 2008-12-06 17:38:19 +0100 | [diff] [blame] | 524 | |
Lars Hjemli | d3b2933 | 2009-02-12 09:58:28 +0100 | [diff] [blame] | 525 | repo.name:: |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 526 | The value to show as repository name. Default value: <repo.url>. |
| 527 | |
Lars Hjemli | d3b2933 | 2009-02-12 09:58:28 +0100 | [diff] [blame] | 528 | repo.owner:: |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 529 | A value used to identify the owner of the repository. Default value: |
| 530 | none. |
| 531 | |
Lars Hjemli | d3b2933 | 2009-02-12 09:58:28 +0100 | [diff] [blame] | 532 | repo.path:: |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 533 | An absolute path to the repository directory. For non-bare repositories |
| 534 | this is the .git-directory. Default value: none. |
| 535 | |
Lars Hjemli | d3b2933 | 2009-02-12 09:58:28 +0100 | [diff] [blame] | 536 | repo.readme:: |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 537 | A path (relative to <repo.path>) which specifies a file to include |
Jason A. Donenfeld | 379e80e | 2010-08-04 00:45:42 +0200 | [diff] [blame] | 538 | verbatim as the "About" page for this repo. You may also specify a |
| 539 | git refspec by head or by hash by prepending the refspec followed by |
Jason A. Donenfeld | 3cb5d86 | 2013-05-25 14:19:10 +0200 | [diff] [blame] | 540 | a colon. For example, "master:docs/readme.mkd". If the value begins |
| 541 | with a colon, i.e. ":docs/readme.rst", the default branch of the |
Jason A. Donenfeld | 2a1ead3 | 2013-05-25 20:30:57 +0200 | [diff] [blame] | 542 | repository will be used. Sharing any file will expose that entire |
| 543 | directory tree to the "/about/PATH" endpoints, so be sure that there |
| 544 | are no non-public files located in the same directory as the readme |
| 545 | file. Default value: <readme>. |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 546 | |
Lars Hjemli | d3b2933 | 2009-02-12 09:58:28 +0100 | [diff] [blame] | 547 | repo.snapshots:: |
Lukas Fleischer | 70546a3 | 2014-01-14 00:49:48 +0100 | [diff] [blame] | 548 | A mask of snapshot formats for this repo that cgit generates links for, |
| 549 | restricted by the global "snapshots" setting. Default value: |
| 550 | <snapshots>. |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 551 | |
Lars Hjemli | 3939854 | 2009-08-23 23:00:28 +0200 | [diff] [blame] | 552 | repo.section:: |
Lars Hjemli | 007df98 | 2009-08-24 07:51:48 +0200 | [diff] [blame] | 553 | Override the current section name for this repository. Default value: |
| 554 | none. |
Lars Hjemli | 3939854 | 2009-08-23 23:00:28 +0200 | [diff] [blame] | 555 | |
Lars Hjemli | e976df2 | 2009-08-09 13:22:00 +0200 | [diff] [blame] | 556 | repo.source-filter:: |
Lars Hjemli | 2273c2c | 2009-08-24 08:53:21 +0200 | [diff] [blame] | 557 | Override the default source-filter. Default value: none. See also: |
Ferry Huberts | b2cf630 | 2011-03-23 11:57:44 +0100 | [diff] [blame] | 558 | "enable-filter-overrides". See also: "FILTER API". |
Lars Hjemli | e976df2 | 2009-08-09 13:22:00 +0200 | [diff] [blame] | 559 | |
Lars Hjemli | d3b2933 | 2009-02-12 09:58:28 +0100 | [diff] [blame] | 560 | repo.url:: |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 561 | The relative url used to access the repository. This must be the first |
| 562 | setting specified for each repo. Default value: none. |
| 563 | |
| 564 | |
Lars Hjemli | 74061ed | 2009-08-24 00:04:58 +0200 | [diff] [blame] | 565 | REPOSITORY-SPECIFIC CGITRC FILE |
| 566 | ------------------------------- |
Lars Hjemli | 007df98 | 2009-08-24 07:51:48 +0200 | [diff] [blame] | 567 | When the option "scan-path" is used to auto-discover git repositories, cgit |
| 568 | will try to parse the file "cgitrc" within any found repository. Such a |
| 569 | repo-specific config file may contain any of the repo-specific options |
Lars Hjemli | 2273c2c | 2009-08-24 08:53:21 +0200 | [diff] [blame] | 570 | described above, except "repo.url" and "repo.path". Additionally, the "filter" |
| 571 | options are only acknowledged in repo-specific config files when |
| 572 | "enable-filter-overrides" is set to "1". |
| 573 | |
| 574 | Note: the "repo." prefix is dropped from the option names in repo-specific |
| 575 | config files, e.g. "repo.desc" becomes "desc". |
Lars Hjemli | 74061ed | 2009-08-24 00:04:58 +0200 | [diff] [blame] | 576 | |
| 577 | |
Ferry Huberts | b2cf630 | 2011-03-23 11:57:44 +0100 | [diff] [blame] | 578 | FILTER API |
| 579 | ---------- |
John Keeping | 4bb87cb | 2014-01-12 17:13:53 +0000 | [diff] [blame] | 580 | By default, filters are separate processes that are executed each time they |
| 581 | are needed. Alternative technologies may be used by prefixing the filter |
| 582 | specification with the relevant string; available values are: |
| 583 | |
| 584 | 'exec:':: |
| 585 | The default "one process per filter" mode. |
| 586 | |
Jason A. Donenfeld | f43b228 | 2014-01-13 14:18:51 +0100 | [diff] [blame] | 587 | 'lua:':: |
| 588 | Executes the script using a built-in Lua interpreter. The script is |
| 589 | loaded once per execution of cgit, and may be called multiple times |
| 590 | during cgit's lifetime, making it a good choice for repeated filters |
| 591 | such as the 'email filter'. It responds to three functions: |
| 592 | |
| 593 | 'filter_open(argument1, argument2, argument3, ...)':: |
| 594 | This is called upon activation of the filter for a particular |
| 595 | set of data. |
| 596 | 'filter_write(buffer)':: |
| 597 | This is called whenever cgit writes data to the webpage. |
| 598 | 'filter_close()':: |
| 599 | This is called when the current filtering operation is |
Jason A. Donenfeld | 6ca734d | 2014-01-14 18:07:23 +0100 | [diff] [blame] | 600 | completed. It must return an integer value. Usually 0 |
| 601 | indicates success. |
Jason A. Donenfeld | f43b228 | 2014-01-13 14:18:51 +0100 | [diff] [blame] | 602 | |
| 603 | Additionally, cgit exposes to the Lua the following built-in functions: |
| 604 | |
| 605 | 'html(str)':: |
| 606 | Writes 'str' to the webpage. |
| 607 | 'html_txt(str)':: |
| 608 | HTML escapes and writes 'str' to the webpage. |
| 609 | 'html_attr(str)':: |
| 610 | HTML escapes for an attribute and writes "str' to the webpage. |
| 611 | 'html_url_path(str)':: |
| 612 | URL escapes for a path and writes 'str' to the webpage. |
| 613 | 'html_url_arg(str)':: |
| 614 | URL escapes for an argument and writes 'str' to the webpage. |
Jason A. Donenfeld | d6e9200 | 2014-01-14 21:49:31 +0100 | [diff] [blame] | 615 | 'html_include(file)':: |
| 616 | Includes 'file' in webpage. |
Jason A. Donenfeld | f43b228 | 2014-01-13 14:18:51 +0100 | [diff] [blame] | 617 | |
| 618 | |
John Keeping | 4bb87cb | 2014-01-12 17:13:53 +0000 | [diff] [blame] | 619 | Parameters are provided to filters as follows. |
| 620 | |
Lars Hjemli | b88cda6 | 2011-06-13 22:34:13 +0000 | [diff] [blame] | 621 | about filter:: |
Jason A. Donenfeld | c0dfaf1 | 2013-05-25 14:50:19 +0200 | [diff] [blame] | 622 | This filter is given a single parameter: the filename of the source |
| 623 | file to filter. The filter can use the filename to determine (for |
| 624 | example) the type of syntax to follow when formatting the readme file. |
| 625 | The about text that is to be filtered is available on standard input |
| 626 | and the filtered text is expected on standard output. |
Lars Hjemli | b88cda6 | 2011-06-13 22:34:13 +0000 | [diff] [blame] | 627 | |
| 628 | commit filter:: |
| 629 | This filter is given no arguments. The commit message text that is to |
| 630 | be filtered is available on standard input and the filtered text is |
| 631 | expected on standard output. |
| 632 | |
Jason A. Donenfeld | a5e1553 | 2014-01-13 04:04:52 +0100 | [diff] [blame] | 633 | email filter:: |
Jason A. Donenfeld | 786609b | 2014-01-13 16:24:40 +0100 | [diff] [blame] | 634 | This filter is given two parameters: the email address of the relevent |
| 635 | author and a string indicating the originating page. The filter will |
| 636 | then receive the text string to format on standard input and is |
| 637 | expected to write to standard output the formatted text to be included |
| 638 | in the page. |
Jason A. Donenfeld | a5e1553 | 2014-01-13 04:04:52 +0100 | [diff] [blame] | 639 | |
Lars Hjemli | b88cda6 | 2011-06-13 22:34:13 +0000 | [diff] [blame] | 640 | source filter:: |
| 641 | This filter is given a single parameter: the filename of the source |
| 642 | file to filter. The filter can use the filename to determine (for |
| 643 | example) the syntax highlighting mode. The contents of the source |
| 644 | file that is to be filtered is available on standard input and the |
| 645 | filtered contents is expected on standard output. |
Ferry Huberts | b2cf630 | 2011-03-23 11:57:44 +0100 | [diff] [blame] | 646 | |
Jason A. Donenfeld | d6e9200 | 2014-01-14 21:49:31 +0100 | [diff] [blame] | 647 | auth filter:: |
| 648 | The authentication filter receives 11 parameters: |
| 649 | - filter action, explained below, which specifies which action the |
| 650 | filter is called for |
| 651 | - http cookie |
| 652 | - http method |
| 653 | - http referer |
| 654 | - http path |
| 655 | - http https flag |
| 656 | - cgit repo |
| 657 | - cgit page |
| 658 | - cgit url |
| 659 | When the filter action is "body", this filter must write to output the |
| 660 | HTML for displaying the login form, which POSTs to "/?p=login". When |
| 661 | the filter action is "authenticate-cookie", this filter must validate |
| 662 | the http cookie and return a 0 if it is invalid or 1 if it is invalid, |
| 663 | in the exit code / close function. If the filter action is |
| 664 | "authenticate-post", this filter receives POST'd parameters on |
Jason A. Donenfeld | b826537 | 2014-01-16 11:39:17 +0100 | [diff] [blame^] | 665 | standard input, and should write a complete CGI request, preferably |
| 666 | with a 302 redirect, and write to output one or more "Set-Cookie" |
Jason A. Donenfeld | d6e9200 | 2014-01-14 21:49:31 +0100 | [diff] [blame] | 667 | HTTP headers, each followed by a newline. |
| 668 | |
| 669 | Please see `filters/simple-authentication.lua` for a clear example |
| 670 | script that may be modified. |
| 671 | |
| 672 | |
| 673 | All filters are handed the following environment variables: |
Lars Hjemli | b88cda6 | 2011-06-13 22:34:13 +0000 | [diff] [blame] | 674 | |
| 675 | - CGIT_REPO_URL (from repo.url) |
| 676 | - CGIT_REPO_NAME (from repo.name) |
| 677 | - CGIT_REPO_PATH (from repo.path) |
| 678 | - CGIT_REPO_OWNER (from repo.owner) |
| 679 | - CGIT_REPO_DEFBRANCH (from repo.defbranch) |
| 680 | - CGIT_REPO_SECTION (from repo.section) |
| 681 | - CGIT_REPO_CLONE_URL (from repo.clone-url) |
Ferry Huberts | b2cf630 | 2011-03-23 11:57:44 +0100 | [diff] [blame] | 682 | |
| 683 | If a setting is not defined for a repository and the corresponding global |
| 684 | setting is also not defined (if applicable), then the corresponding |
Lukas Fleischer | d96d2c9 | 2011-09-14 11:52:43 +0200 | [diff] [blame] | 685 | environment variable will be unset. |
Ferry Huberts | b2cf630 | 2011-03-23 11:57:44 +0100 | [diff] [blame] | 686 | |
Ferry Huberts | b2cf630 | 2011-03-23 11:57:44 +0100 | [diff] [blame] | 687 | |
Lars Hjemli | ef13e5e | 2011-06-13 21:58:39 +0000 | [diff] [blame] | 688 | MACRO EXPANSION |
| 689 | --------------- |
Přemysl Janouch | 88028ad | 2013-09-11 20:10:10 +0200 | [diff] [blame] | 690 | The following cgitrc options support a simple macro expansion feature, |
| 691 | where tokens prefixed with "$" are replaced with the value of a similarly |
Lars Hjemli | ef13e5e | 2011-06-13 21:58:39 +0000 | [diff] [blame] | 692 | named environment variable: |
| 693 | |
| 694 | - cache-root |
| 695 | - include |
| 696 | - project-list |
| 697 | - scan-path |
| 698 | |
| 699 | Macro expansion will also happen on the content of $CGIT_CONFIG, if |
| 700 | defined. |
| 701 | |
| 702 | One usage of this feature is virtual hosting, which in its simplest form |
| 703 | can be accomplished by adding the following line to /etc/cgitrc: |
| 704 | |
| 705 | include=/etc/cgitrc.d/$HTTP_HOST |
| 706 | |
Lars Hjemli | a1429db | 2011-06-06 20:49:13 +0000 | [diff] [blame] | 707 | The following options are expanded during request processing, and support |
| 708 | the environment variables defined in "FILTER API": |
| 709 | |
| 710 | - clone-url |
| 711 | - repo.clone-url |
| 712 | |
Lars Hjemli | ef13e5e | 2011-06-13 21:58:39 +0000 | [diff] [blame] | 713 | |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 714 | EXAMPLE CGITRC FILE |
| 715 | ------------------- |
| 716 | |
Lars Hjemli | b875a9e | 2009-02-12 10:02:09 +0100 | [diff] [blame] | 717 | .... |
Přemysl Janouch | 88028ad | 2013-09-11 20:10:10 +0200 | [diff] [blame] | 718 | # Enable caching of up to 1000 output entries |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 719 | cache-size=1000 |
| 720 | |
| 721 | |
Lars Hjemli | a1429db | 2011-06-06 20:49:13 +0000 | [diff] [blame] | 722 | # Specify some default clone urls using macro expansion |
| 723 | clone-url=git://foo.org/$CGIT_REPO_URL git@foo.org:$CGIT_REPO_URL |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 724 | |
| 725 | # Specify the css url |
| 726 | css=/css/cgit.css |
| 727 | |
| 728 | |
Jason A. Donenfeld | d6d3dbc | 2013-05-27 21:47:02 +0200 | [diff] [blame] | 729 | # Show owner on index page |
| 730 | enable-index-owner=1 |
| 731 | |
| 732 | |
| 733 | # Allow http transport git clone |
Přemysl Janouch | 17e6a2a | 2013-09-11 20:10:13 +0200 | [diff] [blame] | 734 | enable-http-clone=1 |
Jason A. Donenfeld | d6d3dbc | 2013-05-27 21:47:02 +0200 | [diff] [blame] | 735 | |
| 736 | |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 737 | # Show extra links for each repository on the index page |
| 738 | enable-index-links=1 |
| 739 | |
| 740 | |
Johan Herland | 9a8d39c | 2010-11-15 18:39:50 +0100 | [diff] [blame] | 741 | # Enable ASCII art commit history graph on the log pages |
| 742 | enable-commit-graph=1 |
| 743 | |
| 744 | |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 745 | # Show number of affected files per commit on the log pages |
| 746 | enable-log-filecount=1 |
| 747 | |
| 748 | |
| 749 | # Show number of added/removed lines per commit on the log pages |
| 750 | enable-log-linecount=1 |
| 751 | |
| 752 | |
Jason A. Donenfeld | d6d3dbc | 2013-05-27 21:47:02 +0200 | [diff] [blame] | 753 | # Sort branches by date |
| 754 | branch-sort=age |
| 755 | |
| 756 | |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 757 | # Add a cgit favicon |
| 758 | favicon=/favicon.ico |
| 759 | |
| 760 | |
| 761 | # Use a custom logo |
| 762 | logo=/img/mylogo.png |
| 763 | |
| 764 | |
Lars Hjemli | fb2f3f6 | 2008-12-07 13:17:21 +0100 | [diff] [blame] | 765 | # Enable statistics per week, month and quarter |
| 766 | max-stats=quarter |
| 767 | |
| 768 | |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 769 | # Set the title and heading of the repository index page |
Todd Zullinger | 66df113 | 2010-09-06 09:31:26 -0400 | [diff] [blame] | 770 | root-title=example.com git repositories |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 771 | |
| 772 | |
| 773 | # Set a subheading for the repository index page |
| 774 | root-desc=tracking the foobar development |
| 775 | |
| 776 | |
Todd Zullinger | 66df113 | 2010-09-06 09:31:26 -0400 | [diff] [blame] | 777 | # Include some more info about example.com on the index page |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 778 | root-readme=/var/www/htdocs/about.html |
| 779 | |
| 780 | |
Todd Zullinger | 3796c2d | 2009-01-11 18:23:39 -0500 | [diff] [blame] | 781 | # Allow download of tar.gz, tar.bz2 and zip-files |
| 782 | snapshots=tar.gz tar.bz2 zip |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 783 | |
| 784 | |
| 785 | ## |
Lars Hjemli | c4d46c7 | 2009-02-13 20:43:30 +0100 | [diff] [blame] | 786 | ## List of common mimetypes |
| 787 | ## |
| 788 | |
Johan Herland | 9ce5d05 | 2010-06-10 01:09:22 +0200 | [diff] [blame] | 789 | mimetype.gif=image/gif |
Lars Hjemli | c4d46c7 | 2009-02-13 20:43:30 +0100 | [diff] [blame] | 790 | mimetype.html=text/html |
| 791 | mimetype.jpg=image/jpeg |
| 792 | mimetype.jpeg=image/jpeg |
| 793 | mimetype.pdf=application/pdf |
| 794 | mimetype.png=image/png |
| 795 | mimetype.svg=image/svg+xml |
| 796 | |
| 797 | |
Přemysl Janouch | 88028ad | 2013-09-11 20:10:10 +0200 | [diff] [blame] | 798 | # Highlight source code with python pygments-based highlighter |
Jason A. Donenfeld | d6d3dbc | 2013-05-27 21:47:02 +0200 | [diff] [blame] | 799 | source-filter=/var/www/cgit/filters/syntax-highlighting.py |
| 800 | |
| 801 | # Format markdown, restructuredtext, manpages, text files, and html files |
| 802 | # through the right converters |
| 803 | about-filter=/var/www/cgit/filters/about-formatting.sh |
| 804 | |
| 805 | ## |
| 806 | ## Search for these files in the root of the default branch of repositories |
| 807 | ## for coming up with the about page: |
| 808 | ## |
| 809 | readme=:README.md |
| 810 | readme=:readme.md |
| 811 | readme=:README.mkd |
| 812 | readme=:readme.mkd |
| 813 | readme=:README.rst |
| 814 | readme=:readme.rst |
| 815 | readme=:README.html |
| 816 | readme=:readme.html |
| 817 | readme=:README.htm |
| 818 | readme=:readme.htm |
| 819 | readme=:README.txt |
| 820 | readme=:readme.txt |
| 821 | readme=:README |
| 822 | readme=:readme |
| 823 | readme=:INSTALL.md |
| 824 | readme=:install.md |
| 825 | readme=:INSTALL.mkd |
| 826 | readme=:install.mkd |
| 827 | readme=:INSTALL.rst |
| 828 | readme=:install.rst |
| 829 | readme=:INSTALL.html |
| 830 | readme=:install.html |
| 831 | readme=:INSTALL.htm |
| 832 | readme=:install.htm |
| 833 | readme=:INSTALL.txt |
| 834 | readme=:install.txt |
| 835 | readme=:INSTALL |
| 836 | readme=:install |
| 837 | |
| 838 | |
Lars Hjemli | c4d46c7 | 2009-02-13 20:43:30 +0100 | [diff] [blame] | 839 | ## |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 840 | ## List of repositories. |
Loui Chang | 8071e18 | 2009-09-14 01:21:11 -0400 | [diff] [blame] | 841 | ## PS: Any repositories listed when section is unset will not be |
| 842 | ## displayed under a section heading |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 843 | ## PPS: This list could be kept in a different file (e.g. '/etc/cgitrepos') |
| 844 | ## and included like this: |
| 845 | ## include=/etc/cgitrepos |
| 846 | ## |
| 847 | |
| 848 | |
| 849 | repo.url=foo |
| 850 | repo.path=/pub/git/foo.git |
| 851 | repo.desc=the master foo repository |
Todd Zullinger | 66df113 | 2010-09-06 09:31:26 -0400 | [diff] [blame] | 852 | repo.owner=fooman@example.com |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 853 | repo.readme=info/web/about.html |
| 854 | |
| 855 | |
| 856 | repo.url=bar |
| 857 | repo.path=/pub/git/bar.git |
| 858 | repo.desc=the bars for your foo |
Todd Zullinger | 66df113 | 2010-09-06 09:31:26 -0400 | [diff] [blame] | 859 | repo.owner=barman@example.com |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 860 | repo.readme=info/web/about.html |
| 861 | |
| 862 | |
| 863 | # The next repositories will be displayed under the 'extras' heading |
Loui Chang | 8071e18 | 2009-09-14 01:21:11 -0400 | [diff] [blame] | 864 | section=extras |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 865 | |
| 866 | |
| 867 | repo.url=baz |
| 868 | repo.path=/pub/git/baz.git |
| 869 | repo.desc=a set of extensions for bar users |
| 870 | |
| 871 | repo.url=wiz |
| 872 | repo.path=/pub/git/wiz.git |
| 873 | repo.desc=the wizard of foo |
| 874 | |
| 875 | |
| 876 | # Add some mirrored repositories |
Loui Chang | 8071e18 | 2009-09-14 01:21:11 -0400 | [diff] [blame] | 877 | section=mirrors |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 878 | |
| 879 | |
| 880 | repo.url=git |
| 881 | repo.path=/pub/git/git.git |
| 882 | repo.desc=the dscm |
| 883 | |
| 884 | |
| 885 | repo.url=linux |
| 886 | repo.path=/pub/git/linux.git |
| 887 | repo.desc=the kernel |
| 888 | |
| 889 | # Disable adhoc downloads of this repo |
| 890 | repo.snapshots=0 |
| 891 | |
| 892 | # Disable line-counts for this repo |
| 893 | repo.enable-log-linecount=0 |
| 894 | |
Lars Hjemli | fb2f3f6 | 2008-12-07 13:17:21 +0100 | [diff] [blame] | 895 | # Restrict the max statistics period for this repo |
| 896 | repo.max-stats=month |
Lars Hjemli | b875a9e | 2009-02-12 10:02:09 +0100 | [diff] [blame] | 897 | .... |
Lars Hjemli | fb2f3f6 | 2008-12-07 13:17:21 +0100 | [diff] [blame] | 898 | |
Lars Hjemli | df46123 | 2008-10-05 18:55:49 +0200 | [diff] [blame] | 899 | |
| 900 | BUGS |
| 901 | ---- |
| 902 | Comments currently cannot appear on the same line as a setting; the comment |
| 903 | will be included as part of the value. E.g. this line: |
| 904 | |
| 905 | robots=index # allow indexing |
| 906 | |
| 907 | will generate the following html element: |
| 908 | |
| 909 | <meta name='robots' content='index # allow indexing'/> |
| 910 | |
| 911 | |
| 912 | |
| 913 | AUTHOR |
| 914 | ------ |
| 915 | Lars Hjemli <hjemli@gmail.com> |
Jason A. Donenfeld | 2e4a941 | 2010-07-29 19:47:50 +0200 | [diff] [blame] | 916 | Jason A. Donenfeld <Jason@zx2c4.com> |