aboutsummaryrefslogtreecommitdiffstats
path: root/cgit.c
Commit message (Expand)AuthorAgeFilesLines
* Add support for remote branches•••Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2009-11-071-0/+4
* Skip leading "/" in url querystring value•••Makes it easier to rewrite :) lighttpd-sandbox: rewrite "/cgit.cgi?url=%{enc:request.path}&%{request.query}"; Signed-off-by: Stefan Bühler <source@stbuehler.de> Signed-off-by: Lars Hjemli <hjemli@gmail.com> Stefan Bühler2009-10-061-0/+2
* Merge branch 'lh/repo-scan'Lars Hjemli2009-09-131-54/+211
|\
| * cgit.c: respect repo-local 'snapshots' option for --scan-path•••The repo-specific 'snapshots' option is bitwise AND'ed with the global 'snapshots' option during parsing, and since the global cgitrc hasn't been parsed when --scan-path is processed the global 'snapshots' will always be 0 (i.e. no repo-specific 'snapshots' setting will have any effect). This patch fixes the issue by setting the global 'snapshots' mask to 0xFF (hence relying on later parsing of the generated cgitrc repolist to do the right thing). Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2009-08-241-0/+10
| * cgit.c: only print first line of repo.desc in print_repo()•••Since repo.desc might have been populated by reading the 'description' file in GIT_DIR, it may contain newlines. And by printing the literal value, we may then generate an invalid cgitrc include-file. Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2009-08-241-2/+14
| * Add and use cgit_find_stats_periodname() in print_repo()•••Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2009-08-241-0/+3
| * cgit.c: generate repo.snapshots in print_repo()•••Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2009-08-241-0/+25
| * cgit.c: add missing options to print_repo()•••Note: print_repo() still ignores repo.max-stats and repo.snapshots, which both requires additional work since these settings are represented internally as an enum and a bitmap. Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2009-08-241-0/+18
| * Add config option 'enable-filter-overrides'•••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> Lars Hjemli2009-08-241-6/+9
| * ui-repolist: handle empty sections similar to NULL sections•••Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2009-08-241-0/+1
| * Add support for repo-local cgitrc file•••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> Lars Hjemli2009-08-241-4/+4
| * cgit.c: refactor repo_config() from config_cb()•••The new function repo_config() is used to handle all 'simple' repo options, for the following reasons: * code readability * parser performance * upcoming support for repo-local cgitrc files during scanning Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2009-08-241-41/+48
| * Add config option 'repo.section'•••This option can be used to specify the section name for the current repository. Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2009-08-241-0/+2
| * Introduce 'section' as canonical spelling for 'repo.group'•••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> Lars Hjemli2009-08-241-2/+2
| * Add support for --scan-path command line option•••This is an alias for --scan-tree (which might be deprecated in the future). Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2009-08-241-1/+2
| * Rename 'repo.scan' to 'scan-path'•••The 'repo.' prefix will soon be reserved for repo-specific config options. Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2009-08-241-5/+5
| * cgit.c: add support for caching autodetected repositories•••Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2009-08-241-1/+74
| * cgit.c: make print_repolist() and print_repo() reusable for caching•••Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2009-08-241-12/+12
| * cgit.c: add support for cgitrc option 'repo.scan'•••When specified, the specified path will be scanned for repositories. Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2009-08-241-0/+2
* | Rename "linenumbers" to "enable-tree-linenumbers", change default to "1"•••This makes the name of the cgitrc option more descriptive and at the same time changes the default from "0" to "1" in an attempt to stay backwards compatible - prior to the introduction of "source-filter" and "linenumbers", cgit always generated linenumber links in the tree view, but now this feature can be turned off (one might want to do this if the source-filter performs line-wrapping etc). While at it, the documentation is updated to match the surrounding descriptions. Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2009-08-211-2/+3
* | Add 'linenumbers' config option•••Signed-off-by: Florian Pritz <bluewind@xssn.at> Signed-off-by: Lars Hjemli <hjemli@gmail.com> Florian Pritz2009-08-211-0/+2
|/
* cgit.c: fix caching keyed on PATH_INFO with no QUERY_STRING•••When generating a hash for caching, ctx.qry.raw is used as key. And since cgit_parse_url() zero-terminates it's argument (after the repo path), ctx.qry.raw must xstrdup(ctx.qry.url). Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2009-08-201-1/+1
* Merge branch 'stable'Lars Hjemli2009-08-171-0/+3
|\
| * cgit.c: do not segfault on unexpected query-string format•••The querystring_cb() function will be invoked with a NULL value when the querystring contains a name not followed by a '='. Such a value used to cause a segfault, which this patch fixes. Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2009-08-171-0/+3
* | Merge branch 'lh/embedded'Lars Hjemli2009-08-111-10/+27
|\ \
| * | ui-shared: add support for NO_HTTP=1/--nohttp•••cgit_print_http_headers() used to do nothing if 'embedded' was specified in cgitrc, but that was wrong - we never want to skip the headers when invoked as a CGI app. Sadly, there's no easy way to detect if we're invoked as a CGI app or if we're invoked by another CGI app, so for the latter case cgit needs to be invoked with either --nohttp on the command line or NO_HTTP=1 in the environment. Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2009-08-101-0/+4
| * | Cleanup handling of environment variables•••Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2009-08-101-10/+23
* | | cgit.c: make '/cgit.png' the default value for 'logo' option•••Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2009-08-101-1/+1
|/ /
* | Merge branch 'lh/about'•••Conflicts: cgit.h Lars Hjemli2009-08-091-0/+4
|\ \
| * | Add 'about-filter' and 'repo.about-filter' options•••These options can be used to execute a filter command on each about-page, both top-level and for each repository (repo.about-filter can be used to override the current about-filter). Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2009-08-091-0/+4
* | | Merge branch 'lh/plugins'•••Conflicts: cgit.c cgit.h Lars Hjemli2009-08-091-0/+23
|\| |
| * | cgit.c: allow repo.*-filter options to unset the current default•••If e.g. repo.commit-filter is specified as an empty string, this is now properly handled as disabling the global commit-filter setting for the current repository. Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2009-08-091-1/+1
| * | Add support for repo.commit-filter and repo.source-filter•••These options can be used to override the default commit- and source- filter settings per repository. Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2009-08-091-0/+4
| * | ui-commit: add support for 'commit-filter' option•••This new option specifies a filter which is executed on the commit message, i.e. the commit message is written to the filters STDIN and the filters STDOUT is included verbatim as the commit message. This can be used to implement commit linking by creating a simple shell script in e.g. /usr/bin/cgit-commit-filter.sh like this: #/bin/sh sed -re 's|\b([0-9a-fA-F]{6,40})\b|<a href="./?id=\1">\1</a>|g' Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2009-07-311-0/+2
| * | ui-tree: add support for source-filter option•••This new option is used to specify an external command which will be executed when displaying blob content in the tree view. Blob content will be written to STDIN of the filter and STDOUT from the filter will be included verbatim in the html output from cgit. The file name of the blob will be passed as the only argument to the filter command. Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2009-07-311-0/+2
| * | Add generic filter/plugin infrastructure•••The functions cgit_open_filter() and cgit_close_filter() can be used to execute filters on the output stream from cgit. Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2009-07-311-0/+15
* | | Merge branch 'lh/mimetypes'Lars Hjemli2009-08-091-0/+11
|\ \ \
| * | | Add support for mime type registration and lookup•••This patch makes it possible to register mappings from filename extension to mime type in cgitrc and use this mapping when returning blob content in `plain` view. The reason for adding this mapping to cgitrc (as opposed to parsing something like /etc/mime.types) is to allow quick lookup of a limited number of filename extensions (/etc/mime-types on my machine currently contains over 700 entries). NB: A nice addition to this patch would be to parse /etc/mime.types when `plain` view is requested for a file with an extension for which there is no mapping registered in cgitrc. Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2009-07-251-0/+11
| |/ /
* / / Introduce noplainemail option to hide email adresses from spambots•••Signed-off-by: Martin Szulecki <opensuse@sukimashita.com> Martin Szulecki2009-08-081-0/+2
|/ /
* | Merge branch 'lh/embedded'•••Conflicts: cgitrc.5.txt ui-shared.c Lars Hjemli2009-07-251-0/+4
|\ \
| * | Add support for 'noheader' option•••This option can be used to disable the standard cgit page header, which might be useful in combination with the 'embedded' option. Suggested-by: Mark Constable <markc@renta.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2009-07-251-0/+2
| * | Add support for an 'embedded' option in cgitrc•••When activated, cgit will neither generate http headers nor any 'framing' html elements (like <html> and <body>). Also, all page content is now wrapped in a <div id='cgit'> element to make it easier to select the correct cgit classes when embedded/themed. Suggested-by: Matt Sealey <matt@genesi-usa.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2009-02-021-0/+2
| |/
* | Merge branch 'ml/head-include'Lars Hjemli2009-07-251-0/+2
|\ \
| * | Add head-include configuration option.•••This patch adds an option to the configuration file, "head-include", which works just like "header" or "footer", except the content is put into the HTML's <head> tag. Mark Lodato2009-06-071-0/+2
| |/
* | Merge branch 'plain-etag'•••Conflicts: ui-shared.c Lars Hjemli2009-07-251-0/+4
|\ \
| * | Add support for HEAD requests•••This is a quick 'n dirty hack which makes cgit honor HEAD requests. Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2009-02-191-0/+3
| * | Add support for ETag in 'plain' view•••When downloading a blob identified by its path, the client might want to know if the blob has been modified since a previous download of the same path. To this end, an ETag containing the blob SHA1 seems to be ideal. Todo: add support for HEAD requests... Suggested-by: Owen Taylor <otaylor@redhat.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2009-02-191-0/+1
| |/
* / Return http statuscode 404 on unknown branch•••Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2009-06-071-0/+2
|/
* Add support for a custom header•••Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2009-01-291-0/+2
* Merge branch 'lh/stats'•••Conflicts: cgit.c cgit.css cgit.h ui-tree.c Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2009-01-271-0/+8
|\