aboutsummaryrefslogtreecommitdiffstats
path: root/cgit.c
Commit message (Collapse)AuthorAgeLines
* Add support for 'project-list' optionGravatar Jason A. Donenfeld2010-08-04-5/+22
| | | | | | | | | 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>
* Merge branch 'jh/ignorews'Gravatar Lars Hjemli2010-07-18-0/+2
|\
| * Add URL parameter 'ignorews' for optionally ignoring whitespace in diffsGravatar Johan Herland2010-07-18-0/+2
| | | | | | | | | | | | | | | | The new ctx.qry.ignorews variable is passed via cgit_diff_files() and cgit_diff_tree() to Git's diff machinery. This is equivalent to passing --ignore-all-space to 'git diff'. Signed-off-by: Johan Herland <johan@herland.net>
* | Merge branch 'lh/macros'Gravatar Lars Hjemli2010-07-18-5/+5
|\ \
| * | Add support for environment variable expansionGravatar Lars Hjemli2010-03-22-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch teaches cgit to expand environment variables in certain cgitrc option values (cache_root, scan-path, include) plus when finding the location of cgitrc itself. One use case for this feature is virtual hosting - e.g. by setting $CGIT_CONFIG='/etc/cgitrc/$HTTP_HOST' in httpd.conf, all virtual hosts automatically gets their own cgitrc. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | Merge branch 'jh/context-lines'Gravatar Lars Hjemli2010-06-22-0/+2
|\ \ \ | | |/ | |/| | | | | | | | | | Conflicts: cgit.c cgit.h
| * | Add URL parameter 'context' for changing the number of context lines in diffsGravatar Johan Herland2010-06-19-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | The new ctx.qry.context variable is picked up by cgit_print_diff(), and passed via cgit_diff_files() to Git's diff machinery. Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | Merge branch 'jh/path-limit'Gravatar Lars Hjemli2010-06-22-0/+6
|\ \ \ | |/ / | | | | | | | | | | | | Conflicts: cgit.h ui-commit.c
| * | struct cgit_cmd: Differentiate between various usages of ctx.qry.pathGravatar Johan Herland2010-06-19-0/+6
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For many commands/pages (e.g. 'tree', 'diff', 'plain', etc.), the ctx.qry.path argument is interpreted as a path within the "virtual" project directory structure. However, for some other commands (notably 'refs', and the clone-related commands) ctx.qry.path is used in a different context (as a more or less "real" path within the '.git' directory). This patch differentiates between these two usages of ctx.qry.path, by introducing a new variable - ctx.qry.vpath - which is equal to ctx.qry.path in the former case, and NULL in the latter. This will become useful in future patches when we want various pages and the links between them to preserve existing in-project paths. Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Merge branch 'ag/atom-fixes'Gravatar Lars Hjemli2010-06-19-0/+5
|\ \
| * | Add 'max-atom-items' config variableGravatar Aaron Griffin2010-03-23-0/+3
| | | | | | | | | | | | | | | | | | | | | 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>
| * | Add all=1 query param for atom feedsGravatar Aaron Griffin2010-03-23-0/+2
| |/ | | | | | | | | | | | | Displays all items from all branches in one feed Signed-off-by: Aaron Griffin <agriffin@datalogics.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Optionally generate verbose parent linksGravatar Lars Hjemli2010-02-27-0/+4
|/ | | | | | | 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>
* Merge branch 'stable'Gravatar Lars Hjemli2010-02-27-1/+1
|\
| * Clear the whole contextGravatar Daniel Milde2010-02-27-1/+1
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Merge branch 'lh/remote-branches'Gravatar Lars Hjemli2009-12-09-0/+4
|\ \
| * | Add support for remote branchesGravatar Lars Hjemli2009-11-08-0/+4
| | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | Merge branch 'ro/ssdiff'Gravatar Lars Hjemli2009-12-09-0/+5
|\ \ \
| * | | Add possibility to switch between unidiff and side-by-side-diff.Gravatar Ragnar Ouchterlony2009-09-17-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | | Merge branch 'master' of http://op-co.de/cgitGravatar Lars Hjemli2009-12-09-0/+3
|\ \ \ \
| * | | | "max-blob-size" config var to limit generated HTML sizeGravatar Georg Lukas2009-11-28-0/+3
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | | Merge branch 'stable'Gravatar Lars Hjemli2009-12-09-2/+2
|\ \ \ \ | |/ / / |/| | / | | |/ | |/|
| * | Don't crash when a repo-specific readme file is usedGravatar Sami Kyöstilä2009-12-09-2/+2
| |/ | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Skip leading "/" in url querystring valueGravatar Stefan Bühler2009-10-07-0/+2
|/ | | | | | | | 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>
* Merge branch 'lh/repo-scan'Gravatar Lars Hjemli2009-09-14-54/+211
|\
| * cgit.c: respect repo-local 'snapshots' option for --scan-pathGravatar Lars Hjemli2009-08-24-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * cgit.c: only print first line of repo.desc in print_repo()Gravatar Lars Hjemli2009-08-24-2/+14
| | | | | | | | | | | | | | | | 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>
| * Add and use cgit_find_stats_periodname() in print_repo()Gravatar Lars Hjemli2009-08-24-0/+3
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * cgit.c: generate repo.snapshots in print_repo()Gravatar Lars Hjemli2009-08-24-0/+25
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * cgit.c: add missing options to print_repo()Gravatar Lars Hjemli2009-08-24-0/+18
| | | | | | | | | | | | | | | | 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>
| * Add config option 'enable-filter-overrides'Gravatar Lars Hjemli2009-08-24-6/+9
| | | | | | | | | | | | | | 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>
| * ui-repolist: handle empty sections similar to NULL sectionsGravatar Lars Hjemli2009-08-24-0/+1
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * Add support for repo-local cgitrc fileGravatar Lars Hjemli2009-08-24-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * cgit.c: refactor repo_config() from config_cb()Gravatar Lars Hjemli2009-08-24-41/+48
| | | | | | | | | | | | | | | | | | | | 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>
| * Add config option 'repo.section'Gravatar Lars Hjemli2009-08-24-0/+2
| | | | | | | | | | | | | | This option can be used to specify the section name for the current repository. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * Introduce 'section' as canonical spelling for 'repo.group'Gravatar Lars Hjemli2009-08-24-2/+2
| | | | | | | | | | | | | | | | 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>
| * Add support for --scan-path command line optionGravatar Lars Hjemli2009-08-24-1/+2
| | | | | | | | | | | | | | This is an alias for --scan-tree (which might be deprecated in the future). Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * Rename 'repo.scan' to 'scan-path'Gravatar Lars Hjemli2009-08-24-5/+5
| | | | | | | | | | | | | | The 'repo.' prefix will soon be reserved for repo-specific config options. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * cgit.c: add support for caching autodetected repositoriesGravatar Lars Hjemli2009-08-24-1/+74
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * cgit.c: make print_repolist() and print_repo() reusable for cachingGravatar Lars Hjemli2009-08-24-12/+12
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * cgit.c: add support for cgitrc option 'repo.scan'Gravatar Lars Hjemli2009-08-24-0/+2
| | | | | | | | | | | | When specified, the specified path will be scanned for repositories. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Rename "linenumbers" to "enable-tree-linenumbers", change default to "1"Gravatar Lars Hjemli2009-08-21-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Add 'linenumbers' config optionGravatar Florian Pritz2009-08-21-0/+2
|/ | | | | Signed-off-by: Florian Pritz <bluewind@xssn.at> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* cgit.c: fix caching keyed on PATH_INFO with no QUERY_STRINGGravatar Lars Hjemli2009-08-20-1/+1
| | | | | | | | 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>
* Merge branch 'stable'Gravatar Lars Hjemli2009-08-17-0/+3
|\
| * cgit.c: do not segfault on unexpected query-string formatGravatar Lars Hjemli2009-08-17-0/+3
| | | | | | | | | | | | | | | | 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>
* | Merge branch 'lh/embedded'Gravatar Lars Hjemli2009-08-11-10/+27
|\ \
| * | ui-shared: add support for NO_HTTP=1/--nohttpGravatar Lars Hjemli2009-08-10-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | Cleanup handling of environment variablesGravatar Lars Hjemli2009-08-10-10/+23
| | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | cgit.c: make '/cgit.png' the default value for 'logo' optionGravatar Lars Hjemli2009-08-11-1/+1
|/ / | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>