all repos — cgit @ 8b2252b0b61617e9de9d9e9ba743881ad62523af

a hyperfast web frontend for git written in c

cgitrc.5.txt (view raw)

  1CGITRC(5)
  2========
  3
  4
  5NAME
  6----
  7cgitrc - runtime configuration for cgit
  8
  9
 10SYNOPSIS
 11--------
 12Cgitrc contains all runtime settings for cgit, including the list of git
 13repositories, formatted as a line-separated list of NAME=VALUE pairs. Blank
 14lines, and lines starting with '#', are ignored.
 15
 16
 17GLOBAL SETTINGS
 18---------------
 19about-filter::
 20	Specifies a command which will be invoked to format the content of
 21	about pages (both top-level and for each repository). The command will
 22	get the content of the about-file on its STDIN, and the STDOUT from the
 23	command will be included verbatim on the about page. Default value:
 24	none.
 25
 26agefile::
 27	Specifies a path, relative to each repository path, which can be used
 28	to specify the date and time of the youngest commit in the repository.
 29	The first line in the file is used as input to the "parse_date"
 30	function in libgit. Recommended timestamp-format is "yyyy-mm-dd
 31	hh:mm:ss". Default value: "info/web/last-modified".
 32
 33cache-root::
 34	Path used to store the cgit cache entries. Default value:
 35	"/var/cache/cgit".
 36
 37cache-dynamic-ttl::
 38	Number which specifies the time-to-live, in minutes, for the cached
 39	version of repository pages accessed without a fixed SHA1. Default
 40	value: "5".
 41
 42cache-repo-ttl::
 43	Number which specifies the time-to-live, in minutes, for the cached
 44	version of the repository summary page. Default value: "5".
 45
 46cache-root-ttl::
 47	Number which specifies the time-to-live, in minutes, for the cached
 48	version of the repository index page. Default value: "5".
 49
 50cache-size::
 51	The maximum number of entries in the cgit cache. Default value: "0"
 52	(i.e. caching is disabled).
 53
 54cache-static-ttl::
 55	Number which specifies the time-to-live, in minutes, for the cached
 56	version of repository pages accessed with a fixed SHA1. Default value:
 57	"5".
 58
 59clone-prefix::
 60	Space-separated list of common prefixes which, when combined with a
 61	repository url, generates valid clone urls for the repository. This
 62	setting is only used if `repo.clone-url` is unspecified. Default value:
 63	none.
 64
 65commit-filter::
 66	Specifies a command which will be invoked to format commit messages.
 67	The command will get the message on its STDIN, and the STDOUT from the
 68	command will be included verbatim as the commit message, i.e. this can
 69	be used to implement bugtracker integration. Default value: none.
 70
 71css::
 72	Url which specifies the css document to include in all cgit pages.
 73	Default value: "/cgit.css".
 74
 75embedded::
 76	Flag which, when set to "1", will make cgit generate a html fragment
 77	suitable for embedding in other html pages. Default value: none. See
 78	also: "noheader".
 79	
 80enable-index-links::
 81	Flag which, when set to "1", will make cgit generate extra links for
 82	each repo in the repository index (specifically, to the "summary",
 83	"commit" and "tree" pages). Default value: "0".
 84
 85enable-log-filecount::
 86	Flag which, when set to "1", will make cgit print the number of
 87	modified files for each commit on the repository log page. Default
 88	value: "0".
 89
 90enable-log-linecount::
 91	Flag which, when set to "1", will make cgit print the number of added
 92	and removed lines for each commit on the repository log page. Default
 93	value: "0".
 94
 95favicon::
 96	Url used as link to a shortcut icon for cgit. If specified, it is
 97	suggested to use the value "/favicon.ico" since certain browsers will
 98	ignore other values. Default value: none.
 99
100footer::
101	The content of the file specified with this option will be included
102	verbatim at the bottom of all pages (i.e. it replaces the standard
103	"generated by..." message. Default value: none.
104
105head-include::
106	The content of the file specified with this option will be included
107	verbatim in the html HEAD section on all pages. Default value: none.
108
109header::
110	The content of the file specified with this option will be included
111	verbatim at the top of all pages. Default value: none.
112
113include::
114	Name of a configfile to include before the rest of the current config-
115	file is parsed. Default value: none.
116
117index-header::
118	The content of the file specified with this option will be included
119	verbatim above the repository index. This setting is deprecated, and
120	will not be supported by cgit-1.0 (use root-readme instead). Default
121	value: none.
122
123index-info::
124	The content of the file specified with this option will be included
125	verbatim below the heading on the repository index page. This setting
126	is deprecated, and will not be supported by cgit-1.0 (use root-desc
127	instead). Default value: none.
128
129local-time::
130	Flag which, if set to "1", makes cgit print commit and tag times in the
131	servers timezone. Default value: "0".
132
133logo::
134	Url which specifies the source of an image which will be used as a logo
135	on all cgit pages.
136
137logo-link::
138	Url loaded when clicking on the cgit logo image. If unspecified the
139	calculated url of the repository index page will be used. Default
140	value: none.
141
142max-commit-count::
143	Specifies the number of entries to list per page in "log" view. Default
144	value: "50".
145
146max-message-length::
147	Specifies the maximum number of commit message characters to display in
148	"log" view. Default value: "80".
149
150max-repo-count::
151	Specifies the number of entries to list per page on the	repository
152	index page. Default value: "50".
153
154max-repodesc-length::
155	Specifies the maximum number of repo description characters to display
156	on the repository index page. Default value: "80".
157
158max-stats::
159	Set the default maximum statistics period. Valid values are "week",
160	"month", "quarter" and "year". If unspecified, statistics are
161	disabled. Default value: none. See also: "repo.max-stats".
162
163mimetype.<ext>::
164	Set the mimetype for the specified filename extension. This is used
165	by the `plain` command when returning blob content.
166
167module-link::
168	Text which will be used as the formatstring for a hyperlink when a
169	submodule is printed in a directory listing. The arguments for the
170	formatstring are the path and SHA1 of the submodule commit. Default
171	value: "./?repo=%s&page=commit&id=%s"
172
173nocache::
174	If set to the value "1" caching will be disabled. This settings is
175	deprecated, and will not be honored starting with cgit-1.0. Default
176	value: "0".
177
178noplainemail::
179	If set to "1" showing full author email adresses will be disabled.
180	Default value: "0".
181
182noheader::
183	Flag which, when set to "1", will make cgit omit the standard header
184	on all pages. Default value: none. See also: "embedded".
185
186renamelimit::
187	Maximum number of files to consider when detecting renames. The value
188	 "-1" uses the compiletime value in git (for further info, look at
189	  `man git-diff`). Default value: "-1".
190
191repo.group::
192	A value for the current repository group, which all repositories
193	specified after this setting will inherit. Default value: none.
194
195robots::
196	Text used as content for the "robots" meta-tag. Default value:
197	"index, nofollow".
198
199root-desc::
200	Text printed below the heading on the repository index page. Default
201	value: "a fast webinterface for the git dscm".
202
203root-readme::
204	The content of the file specified with this option will be included
205	verbatim below the "about" link on the repository index page. Default
206	value: none.
207
208root-title::
209	Text printed as heading on the repository index page. Default value:
210	"Git Repository Browser".
211
212snapshots::
213	Text which specifies the default (and allowed) set of snapshot formats
214	supported by cgit. The value is a space-separated list of zero or more
215	of the following values:
216		"tar"		uncompressed tar-file
217		"tar.gz"	gzip-compressed tar-file
218		"tar.bz2"	bzip-compressed tar-file
219		"zip"		zip-file
220	Default value: none.
221
222source-filter::
223	Specifies a command which will be invoked to format plaintext blobs
224	in the tree view. The command will get the blob content on its STDIN
225	and the name of the blob as its only command line argument. The STDOUT
226	from the command will be included verbatim as the blob contents, i.e.
227	this can be used to implement e.g. syntax highlighting. Default value:
228	none.
229
230summary-branches::
231	Specifies the number of branches to display in the repository "summary"
232	view. Default value: "10".
233
234summary-log::
235	Specifies the number of log entries to display in the repository
236	"summary" view. Default value: "10".
237
238summary-tags::
239	Specifies the number of tags to display in the repository "summary"
240	view. Default value: "10".
241
242virtual-root::
243	Url which, if specified, will be used as root for all cgit links. It
244	will also cause cgit to generate 'virtual urls', i.e. urls like
245	'/cgit/tree/README' as opposed to '?r=cgit&p=tree&path=README'. Default
246	value: none.
247	NOTE: cgit has recently learned how to use PATH_INFO to achieve the
248	same kind of virtual urls, so this option will probably be deprecated.
249
250REPOSITORY SETTINGS
251-------------------
252repo.about-filter::
253	Override the default about-filter. Default value: <about-filter>.
254
255repo.clone-url::
256	A list of space-separated urls which can be used to clone this repo.
257	Default value: none.
258
259repo.commit-filter::
260	Override the default commit-filter. Default value: <commit-filter>.
261
262repo.defbranch::
263	The name of the default branch for this repository. If no such branch
264	exists in the repository, the first branch name (when sorted) is used
265	as default instead. Default value: "master".
266
267repo.desc::
268	The value to show as repository description. Default value: none.
269
270repo.enable-log-filecount::
271	A flag which can be used to disable the global setting
272	`enable-log-filecount'. Default value: none.
273
274repo.enable-log-linecount::
275	A flag which can be used to disable the global setting
276	`enable-log-linecount'. Default value: none.
277
278repo.max-stats::
279	Override the default maximum statistics period. Valid values are equal
280	to the values specified for the global "max-stats" setting. Default
281	value: none.
282
283repo.name::
284	The value to show as repository name. Default value: <repo.url>.
285
286repo.owner::
287	A value used to identify the owner of the repository. Default value:
288	none.
289
290repo.path::
291	An absolute path to the repository directory. For non-bare repositories
292	this is the .git-directory. Default value: none.
293
294repo.readme::
295	A path (relative to <repo.path>) which specifies a file to include
296	verbatim as the "About" page for this repo. Default value: none.
297
298repo.snapshots::
299	A mask of allowed snapshot-formats for this repo, restricted by the
300	"snapshots" global setting. Default value: <snapshots>.
301
302repo.source-filter::
303	Override the default source-filter. Default value: <source-filter>.
304
305repo.url::
306	The relative url used to access the repository. This must be the first
307	setting specified for each repo. Default value: none.
308
309
310EXAMPLE CGITRC FILE
311-------------------
312
313....
314# Enable caching of up to 1000 output entriess
315cache-size=1000
316
317
318# Specify some default clone prefixes
319clone-prefix=git://foobar.com ssh://foobar.com/pub/git http://foobar.com/git
320
321# Specify the css url
322css=/css/cgit.css
323
324
325# Show extra links for each repository on the index page
326enable-index-links=1
327
328
329# Show number of affected files per commit on the log pages
330enable-log-filecount=1
331
332
333# Show number of added/removed lines per commit on the log pages
334enable-log-linecount=1
335
336
337# Add a cgit favicon
338favicon=/favicon.ico
339
340
341# Use a custom logo
342logo=/img/mylogo.png
343
344
345# Enable statistics per week, month and quarter
346max-stats=quarter
347
348
349# Set the title and heading of the repository index page
350root-title=foobar.com git repositories
351
352
353# Set a subheading for the repository index page
354root-desc=tracking the foobar development
355
356
357# Include some more info about foobar.com on the index page
358root-readme=/var/www/htdocs/about.html
359
360
361# Allow download of tar.gz, tar.bz2 and zip-files
362snapshots=tar.gz tar.bz2 zip
363
364
365##
366## List of common mimetypes
367##
368
369mimetype.git=image/git
370mimetype.html=text/html
371mimetype.jpg=image/jpeg
372mimetype.jpeg=image/jpeg
373mimetype.pdf=application/pdf
374mimetype.png=image/png
375mimetype.svg=image/svg+xml
376
377
378##
379## List of repositories.
380## PS: Any repositories listed when repo.group is unset will not be
381##     displayed under a group heading
382## PPS: This list could be kept in a different file (e.g. '/etc/cgitrepos')
383##      and included like this:
384##        include=/etc/cgitrepos
385##
386
387
388repo.url=foo
389repo.path=/pub/git/foo.git
390repo.desc=the master foo repository
391repo.owner=fooman@foobar.com
392repo.readme=info/web/about.html
393
394
395repo.url=bar
396repo.path=/pub/git/bar.git
397repo.desc=the bars for your foo
398repo.owner=barman@foobar.com
399repo.readme=info/web/about.html
400
401
402# The next repositories will be displayed under the 'extras' heading
403repo.group=extras
404
405
406repo.url=baz
407repo.path=/pub/git/baz.git
408repo.desc=a set of extensions for bar users
409
410repo.url=wiz
411repo.path=/pub/git/wiz.git
412repo.desc=the wizard of foo
413
414
415# Add some mirrored repositories
416repo.group=mirrors
417
418
419repo.url=git
420repo.path=/pub/git/git.git
421repo.desc=the dscm
422
423
424repo.url=linux
425repo.path=/pub/git/linux.git
426repo.desc=the kernel
427
428# Disable adhoc downloads of this repo
429repo.snapshots=0
430
431# Disable line-counts for this repo
432repo.enable-log-linecount=0
433
434# Restrict the max statistics period for this repo
435repo.max-stats=month
436....
437
438
439BUGS
440----
441Comments currently cannot appear on the same line as a setting; the comment
442will be included as part of the value. E.g. this line:
443
444	robots=index  # allow indexing
445
446will generate the following html element:
447
448	<meta name='robots' content='index  # allow indexing'/>
449
450
451
452AUTHOR
453------
454Lars Hjemli <hjemli@gmail.com>