summaryrefslogtreecommitdiff
path: root/cgitrc.5.txt (unfollow)
Commit message (Collapse)AuthorFilesLines
2013-04-20log: allow users to follow a filenecoroJohn 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>
2013-04-10Add branch-sort and repo.branch-sort options.HEADmasterJason 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-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>
2011-06-15ui-tree.c: add support for path-selected submodule linksLars Hjemli1-0/+6
The current 'repo.module-link' option is sufficient when all gitlinks in a repository can be converted to commit links in a uniform way, but not when different submodules/paths needs different settings. This patch adds support for 'repo.module-link.<path>', which will be used for linking to submodules at paths matching one such entry. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2011-06-15cgitrc.5.txt: document repo.module-linkLars Hjemli1-0/+6
The global module-link option can be overridden per repo, but this has never been documented. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2011-06-13cgit.c: add 'clone-url' setting with support for macro expansionLars Hjemli1-3/+14
The current 'clone-prefix' setting has some known issues: * All repos get the same 'clone-prefix' value since the setting is not adopted during repo registration (in cgitrc, or during scan-path traversal), but only when the setting is used. * The generated clone-urls for a repo is a combination of 'clone-prefix', a slash and the repo url. This doesn't work well with e.g. ssh-style urls like 'git@example.org:repo.git', since the inserted slash will make the repo relative to the filesystem root. * If 'remove-suffix' is enabled, the generated clone-urls will not work for cloning (except for http-urls to cgit itself) since they miss the '.git' suffix. The new 'clone-url' setting is designed to avoid the mentioned issues: * Each repo adopts the default 'clone-url' when the repo is defined. This allows different groups of repos to adopt different values. * The clone-urls for a repo is generated by expanding environment variables in a string template without inserting arbitrary characters, hence any kind of clone-url can be generated. * Macro expansion also eases the 'remove-suffix' pain since it's now possible to define e.g. 'clone-url=git://foo.org/$CGIT_REPO_URL.git' for a set of repos. A furter improvement would be to define e.g. $CGIT_REPO_SUFFIX to '.git' for all repos which had their url prettified, or to store the original $CGIT_REPO_URL in e.g. $CGIT_REPO_REAL_URL before suffix removal. Reviewed-by: Ferry Huberts <mailings@hupie.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2011-06-13cgitrc.5.txt: reformat the "FILTER API" sectionLars Hjemli1-26/+24
This patch makes the generated man-page for the filer api section more similar to the other sections. Also, the bulleted list of environment variables wasn't rendered correctly (with asciidoc 8.5.2), without an empty line before the first item. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2011-06-13cgitrc.5.txt: describe macro expansion of cgitrc optionsLars Hjemli1-4/+26
This is a new feature in cgit-0.9 which was formerly undocumented. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2011-03-26Add advice about scan-path in cgitrc.5.txtJulius Plenz1-2/+3
Signed-off-by: Julius Plenz <plenz@cis.fu-berlin.de> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2011-03-26cgitrc.5: tar.xz is a supported snapshot formatLars Hjemli1-1/+2
When tar.xz support was added in 0642435fed (2009-12-08: Add .tar.xz-snapshot support), cgitrc.5 was not updated to match. This patch fixes the issue. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2011-03-26filters: document environment variables in filter scriptsFerry Huberts1-5/+42
Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2011-02-19Allow disabling of HTTP clone URLsDan McGee1-0/+5
If advertising other URLs to your users, you may not want to make this available through cgit (e.g. if you have the smart HTTP transport set up elsewhere). Allow disabling the three magic commands that simulate the git server, but default it to enabled. Signed-off-by: Dan McGee <dpmcgee@gmail.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2011-02-19implement repo.logo and repo.logo-linkBernhard Reutner-Fischer1-0/+9
Allow for per repo logo and logo-link; Use global logo and logo-link per default. Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2011-02-19scan_path(): Do not recurse into hidden directories by defaultJohan Herland1-0/+8
Paths that start with a period ('.') are considered hidden in the Unix world. scan_path() should arguably not recurse into these directories by default. This patch makes it so, and introduces the "scan-hidden-path" config variable for overriding the new default and revert to the old behaviour (scanning _all_ directories, including hidden .directories). Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <larsh@prediktor.no>
2010-11-16ui-log: Implement support for commit graphsJohan Herland1-1/+14
Teach CGit to print an ASCII art commit graph to the left of the commit message, similar to 'git log --graph'. The graph adds extra lines (table rows) to the log when needed to add/remove/shuffle edges in the graph. When 'showmsg' is enabled, the graph is automatically padded to account for the extra lines added by the commit message/notes. This feature is controlled by a new config variable: "enable-commit-graph" (disabled by default), and individual repos can control it by setting "repo.enable-commit-graph". Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-11-08Add `strict-export` optionFelix Hanley1-0/+7
This option is used to specify a filename which needs to be present in the repositories found during `scan-path` processing. By setting this option to 'git-daemon-export-ok', only repositories explicitly marked for git daemon export will be included in the cgit configuration. Signed-off-by: Felix Hanley <felix@seconddrawer.com.au> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-09-19Use example.com in documentation, per RFC 2606Todd Zullinger1-5/+5
Signed-off-by: Todd Zullinger <tmz@pobox.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-08-22Add support for 'section-from-path' optionLars Hjemli1-0/+6
This option can be used to autogenerate section names during scan-path processing. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-08-22Add support for "readme" optionLars Hjemli1-1/+5
The value of this option is used as the default value for repo.readme. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-08-20Support refspecs in about-filter.Jason A. Donenfeld1-1/+3
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-08-04Add support for 'enable-gitweb-owner' optionJason A. Donenfeld1-0/+5
When this option is enabled (which it is by default), cgit will lookup the 'gitweb.owner' setting in each git config file found when processing the 'scan-path' option. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-08-04Add support for 'remove-suffix' optionJason A. Donenfeld1-0/+6
When this option is enabled, the '.git' suffix of repository directories found while processing the 'scan-path' option will be removed. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-08-04Add support for 'project-list' optionJason A. Donenfeld1-1/+9
This option specifies the location of a projectlist file as used by gitweb - when 'scan-tree' is later specified, only the projects listed in the projectlist file will be added. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-06-19Fix small typo in cgitrc exampleJohan Herland1-1/+1
Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-03-22Add 'max-atom-items' config variableAaron Griffin1-0/+4
This allows one to specify the items in the RSS feeds Signed-off-by: Aaron Griffin <agriffin@datalogics.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-02-27Optionally generate verbose parent linksLars Hjemli1-0/+10
The new option 'enable-subject-links' must be used to enable the verbose parent-links in commit view. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2009-11-28"max-blob-size" config var to limit generated HTML sizeGeorg Lukas1-0/+4
Sometimes it is not feasible to generate the HTML pretty-print for large files, especially if a source-filter is involved or binary data is to be displayed. The "max-blob-size" config var allows to disable HTML output for blobs bigger than X KBytes. Plain downloads are not affected. Signed-off-by: Georg Lukas <georg@op-co.de>
2009-11-07Add support for remote branchesLars Hjemli1-0/+9
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2009-09-16Add possibility to switch between unidiff and side-by-side-diff.Ragnar Ouchterlony1-0/+4
A new config option side-by-side-diffs added, defaulting to 0, meaning unidiff. Also a query option (ss) is used toggle this. In the commit page you can switch between the two diff formats by clicking on the link on the "commit"-row, to the right of (patch). In the diff page you can switch by using the link at the start of the page. All commit-links and diff-links will remember the choice. Signed-off-by: Ragnar Ouchterlony <ragnar@lysator.liu.se> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2009-09-14cgitrc.5.txt: Change repo.group to section in example config.Loui Chang1-4/+4
Signed-off-by: Loui Chang <louipc.ist@gmail.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2009-09-14cgitrc.5.txt: Add mansource and manmanual.Loui Chang1-0/+3
This prevents FIXMEs from appearing. Signed-off-by: Loui Chang <louipc.ist@gmail.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2009-08-24Add config option 'enable-filter-overrides'Lars Hjemli1-5/+16
This option must be enabled if repo-specific cgitrc files should be allowed to override any of the 'filter' options. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2009-08-24cgitrc.5.txt: fix markup errorsLars Hjemli1-9/+10
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2009-08-24Add support for repo-local cgitrc fileLars Hjemli1-0/+9
When recursively scanning a directory tree looking for git repositories, cgit will now parse cgitrc files found within such repositories. The repo-specific config files can include any repo-specific options except 'repo.url' and 'repo.path'. Also, in such config files the 'repo.' prefix can not be used, i.e. the valid options then becomes: * name * clone-url * desc * ower * defbranch * snapshots * enable-log-filecount * enable-log-linecount * max-stats * module-link * section * about-filter * commit-filter * source-filter * readme Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2009-08-24Add config option 'repo.section'Lars Hjemli1-0/+3
This option can be used to specify the section name for the current repository. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2009-08-24Introduce 'section' as canonical spelling for 'repo.group'Lars Hjemli1-2/+7
The 'repo.' prefix should be reserved for repo-specific options, but the option 'repo.group' must still be honored to stay backwards compatible. Signed-off-by: Lars Hjemli <hjemli@gmail.com>