aboutsummaryrefslogtreecommitdiffstats
path: root/cgitrc.5.txt
AgeCommit message (Collapse)AuthorFilesLines
2016-01-14ui-plain: add enable-html-serving flagJason A. Donenfeld1-0/+11
Unrestricts plain/ to contents likely to be executed by browser.
2015-08-12log: allow users to follow a fileJohn Keeping1-0/+4
Teach the "log" UI to behave in the same way as "git log --follow", when given a suitable instruction by the user. The default behaviour remains to show the log without following renames, but the follow behaviour can be activated by following a link in the page header. Follow is not the default because outputting merges in follow mode is tricky ("git log --follow" will not show merges). We also disable the graph in follow mode because the commit graph is not simplified so we end up with frequent gaps in the graph and many lines that do not connect with any commits we're actually showing. We also teach the "diff" and "commit" UIs to respect the follow flag on URLs, causing the single-file version of these UIs to detect renames. This feature is needed only for commits that rename the path we're interested in. For commits before the file has been renamed (i.e. that appear later in the log list) we change the file path in the links from the log to point to the old name; this means that links to commits always limit by the path known to that commit. If we didn't do this we would need to walk down the log diff'ing every commit whenever we want to show a commit. The drawback is that the "Log" link in the top bar of such a page links to the log limited by the old name, so it will only show pre-rename commits. I consider this a reasonable trade-off since the "Back" button still works and the log matches the path displayed in the top bar. Since following renames requires running diff on every commit we consider, I've added a knob to the configuration file to globally enable/disable this feature. Note that we may consider a large number of commits the revision walking machinery no longer performs any path limitation so we have to examine every commit until we find a page full of commits that affect the target path or something related to it. Suggested-by: René Neumann <necoro@necoro.eu> Signed-off-by: John Keeping <john@keeping.me.uk>
2015-01-29Add repo.hide and repo.ignoreLukas Fleischer1-0/+10
These options can be used to hide a repository from the index or completely ignore a repository, respectively. They are particularly useful when used in combination with scan-path. Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
2014-12-24repolist: add owner-filterChris Burroughs1-0/+18
This allows custom links to be used for repository owners by configuring a filter to be applied in the "Owner" column in the repository list.
2014-08-01cgitrc.5: we mean a cgi response, not requestJason A. Donenfeld1-1/+1
2014-04-17remove trailing whitespaces from source filesChristian Hesse1-1/+1
2014-02-21Clean up cache documentation.Jason A. Donenfeld1-22/+25
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2014-02-21Skip cache slot when time-to-live is zeroLukas Fleischer1-8/+14
If time-to-live is set to zero, we don't need to regenerate the cache slots on every request. Instead, just skip the caching process and immediately provide the dynamically generated version of the page. Setting time-to-live to zero is useful when you want to disable caching for certain pages. Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
2014-02-20Add a cache-snapshot-ttl configuration variableLukas Fleischer1-0/+5
This can be used to specify the TTL for snapshots. Snapshots are usually static and do not ever change. On the other hand, tarball generation is CPU intensive. One use case of this setting (apart from increasing the lifetime of snapshot cache slots) is caching of snapshots while disabling the cache for static/dynamic HTML pages (by setting TTL to zero for everything except for snapshot requests). Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
2014-01-16auth: have cgit calculate login addressJason A. Donenfeld1-2/+3
This way we're sure to use virtual root, or any other strangeness encountered. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2014-01-16authentication: use hidden form instead of refererJason A. Donenfeld1-1/+2
This also gives us some CSRF protection. Note that we make use of the hmac to protect the redirect value. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2014-01-16auth: add basic authentication filter frameworkJason A. Donenfeld1-1/+35
This leverages the new lua support. See filters/simple-authentication.lua for explaination of how this works. There is also additional documentation in cgitrc.5.txt. Though this is a cookie-based approach, cgit's caching mechanism is preserved for authenticated pages. Very plugable and extendable depending on user needs. The sample script uses an HMAC-SHA1 based cookie to store the currently logged in user, with an expiration date. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2014-01-14filter: allow returning exit code from filterJason A. Donenfeld1-1/+2
Filters can now indicate a status back to cgit by means of the exit code for exec, or the return value from close for Lua. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2014-01-14cgitrc.5.txt: Fix documentation of the snapshot maskLukas Fleischer1-6/+7
Mention that the snapshot setting only specifies the formats that links are generated for and not the set of formats that are accessible via HTTP. Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
2014-01-14filter: add page source to email filterJason A. Donenfeld1-7/+8
Since the email filter is called from lots of places, the script might benefit from knowing the origin. That way it can modify its contents and/or size depending. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2014-01-14filter: add support for email filterJason A. Donenfeld1-0/+18
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2014-01-14filter: add lua supportJason A. Donenfeld1-0/+29
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2014-01-14filter: introduce "filter type" prefixJohn Keeping1-0/+9
This allows different filter implementations to be specified in the configuration file. Currently only "exec" is supported, but it may now be specified either with or without the "exec:" prefix. Signed-off-by: John Keeping <john@keeping.me.uk>
2014-01-08Add a suggestion to the manpagePřemysl Janouch1-2/+3
So that people wishing to use "enable-http-clone" don't have to find out the correct settings on their own. Signed-off-by: Přemysl Janouch <p.janouch@gmail.com>
2014-01-08Fix the example configurationPřemysl Janouch1-1/+1
"enable-git-clone" doesn't exist, replaced with "enable-http-clone". Signed-off-by: Přemysl Janouch <p.janouch@gmail.com>
2014-01-08Fix some spelling errorsPřemysl Janouch1-5/+5
Signed-off-by: Přemysl Janouch <p.janouch@gmail.com>
2013-08-16Fix silly spelling error.Jason A. Donenfeld1-1/+1
2013-08-12add a note about generating agefile in hookChristian Hesse1-1/+2
2013-08-12cache: document negative ttls and add about ttlJason A. Donenfeld1-10/+18
We've long supported negative ttls, for infinite cache, except the documentation incorrectly showed one of our defaults as being 5 and not -1. As well, with a negative ttl, we were actually making the HTTP expired header go backwards. This changes it to go ahead ten years instead. Further, we add an cache-about-ttl option to set a different ttl for about pages, which are now increasingly being filtered through markdown or just sent statically anyway. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2013-08-12use favicon by defaultChristian Hesse1-3/+3
2013-05-27cgitrc.5: improve example configJason A. Donenfeld1-0/+53
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2013-05-26readme: use string_list instead of space deliminationsJason A. Donenfeld1-2/+3
Now this is possible in cgitrc - readme=:README.md readme=:readme.md readme=:README.mkd readme=:readme.mkd readme=:README.rst readme=:readme.rst readme=:README.html readme=:readme.html readme=:README.htm readme=:readme.htm readme=:README.txt readme=:readme.txt readme=:README readme=:readme readme=:INSTALL.txt readme=:install.txt readme=:INSTALL readme=:install Suggested-by: John Keeping <john@keeping.me.uk> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2013-05-25cgitrc.5: information on directory traversal and multiple readme filesJason A. Donenfeld1-6/+11
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2013-05-25ui-summary: Pass filename to about-filterJason A. Donenfeld1-3/+5
This gives the about-filter API the same semantics as source-filter, where the filter receives the filename so it can decide what to do next with it. While we're at it, plug a memory leak. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2013-05-25ui-summary: Use default branch for readme if : prefixJason A. Donenfeld1-1/+3
If the readme value begins with ":", and has no specified branch before it, use the repository's default branch. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2013-04-10cgitrc.5.txt: Specify when scan-path must be defined before.Jason A. Donenfeld1-9/+11
Several options must be specified prior to scan-path. This is consistant source of user confusion. Document these facts. Suggested-by: Lukas Fleischer <cgit@cryptocrack.de> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2013-04-10Add branch-sort and repo.branch-sort options.Jason A. Donenfeld1-18/+28
When set to "name", branches are sorted by name, which is the current default. When set to "age", branches are sorted by the age of the repository. This feature was requested by Konstantin Ryabitsev for use on kernel.org. Proposed-by: Konstantin Ryabitsev <mricon@kernel.org>
2013-02-01Make "owner" column on index page configurableFlorian Pritz1-0/+4
This is not really needed for personal sites where all repos belong to the same person. Since it is pretty useful for shared sites however, it should be configurable. Signed-off-by: Florian Pritz <bluewind@xinu.at> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2012-11-15man: fix up default value duplicationJason A. Donenfeld1-2/+2
2012-11-15man: show mime type default valueJason A. Donenfeld1-0/+1
2012-10-18Fix man page typo.Jason A. Donenfeld1-2/+2
2012-10-17ui-log: Add "commit-sort" option for controlling commit orderingTobias Bieniek1-0/+12
This makes it possible to use strict commit date ordering or strict topological ordering by passing the corresponding flags to "git log". Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2012-10-17ui-repolist: Add "section-sort" flag to control section sorting.Tobias Bieniek1-2/+8
Flag which, when set to "1", will sort the sections on the repository listing by name. Set this flag to "0" if the order in the cgitrc file should be preserved. Default value: "1". Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2012-10-17scan-tree: Unify gitweb.* and cgit.* settings into one config option.Jason A. Donenfeld1-18/+10
After some back and forth with Jamie and René, it looks like the git config semantics are going to be like this: - gitweb.category maps to the cgit repo config key "section" - gitweb.description maps to the cgit repo config key "desc" - gitweb.owner maps to the cgit repo config key "owner" - cgit.* maps to all cgit repo config keys This option can be enabled with "enable-git-config=1", and replaces all previous "enable-gitweb-*" config keys. The order of operations is as follows: - git config settings are applied in the order that they exist in the git config file - if the owner is not set from git config, get the owner using the usual getpwuid call - if the description is not set from git config, look inside the static $path/description file - if section-from-path=1, override whatever previous settings were inside of git config using the section-from-path logic - parse $path/cgitrc for local repo.* settings, that override all previous settings
2012-10-16ui-repolist: Rename section-sort to repository-sort.Jason A. Donenfeld1-2/+2
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2012-07-12ui-repolist: Case insensitive sorting and age sortJason A. Donenfeld1-1/+11
Add two options, one for doing the ordinary name sorts in a case-insensitive manner, and another for choosing to sort repos in each section by age instead of by name.
2012-07-12scan-tree: Support gitweb.category.Jason A. Donenfeld1-0/+6
Use gitweb.category from git config to determine repo's section, if option is enabled.
2012-07-12scan-tree: Support gitweb.description.Jason A. Donenfeld1-0/+7
Use gitweb.description instead of description file to determine description, if option is enabled.
2012-03-18Merge branch 'fh/mimetypes'Lars Hjemli1-0/+11
2012-03-18Merge branch 'jp/defbranch'Lars Hjemli1-1/+2
2012-03-18Merge branch 'lh/module-links'Lars Hjemli1-1/+7
2012-01-03shared.c: Only setenv() if value is non-nullLukas Fleischer1-1/+1
Some setenv() implementations (e.g. the one in OpenBSD's stdlib) segfault if we pass a NULL value. Only set environment variables if the corresponding settings are defined to avoid this. Note that this is a minor behaviour change as environment variables were supposed to be set to an empty string if a setting was undefined. Given that this feature isn't part of any official release yet, there's no need to worry about backwards compatibility, really. Change the documentation accordingly. Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
2011-07-19ui_plain: automatically lookup mimetype when mimetype-file is setFerry Huberts1-0/+11
For sites that do not want to configure mime types by hand but still want the correct mime type for 'plain' blobs, configuring a mime type file is made possible. This is handy since such a file is normally already provided (at least on Linux systems). Also, this reflects the gitweb option '$mimetypes_file' Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2011-06-20guess default branch from HEADJulius Plenz1-1/+2
This is a saner alternative than hardcoding the default branch to be "master". The add_repo() function will now check for a symbolic ref in repo_path/HEAD. If there is a suitable one, overwrite repo->defbranch with it. Note that you'll need to strip the newline from the file (-> len-17). If HEAD is a symbolic link pointing directly to a branch below refs/heads/, do a readlink() instead to find the ref name. Signed-off-by: Julius Plenz <plenz@cis.fu-berlin.de> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2011-06-15Do not provide a default value for `module-link`Lars Hjemli1-1/+1
The old default value was an abomination which never should have been allowed to see the light of day. This patch removes the default, which is a backwards incompatible change with low probability of causing anyone any real trouble (a repo with submodules, displayed by cgit using the default value of `module-link`, is very unlikely to actually generate working links). Signed-off-by: Lars Hjemli <hjemli@gmail.com>