aboutsummaryrefslogtreecommitdiffstats
path: root/cgit.c
Commit message (Collapse)AuthorAgeFilesLines
* Allow disabling of HTTP clone URLsDan McGee2011-02-191-0/+8
| | | | | | | | | | 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>
* Add `strict-export` optionFelix Hanley2010-11-081-0/+2
| | | | | | | | | | 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>
* Merge branch 'ml/bugfix'Lars Hjemli2010-09-191-1/+1
|\
| * fix errors in printf-style format stringsMark Lodato2010-09-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There were many places where the arguments to a printf-like function did not match the format string. Mostly, these were a missing 'l' flag, but there were three exceptions: - In ui-stats.c, a size_t argument must be printed. C99 has the "%zu" flag for this purpose, but not all compilers support this. Therefore, we mimic what git does - use a NO_C99_FORMAT Makefile variable. - In ui-stats.c, cgit_print_error() was called with a pointer instead of a character. - In ui-log.c, the "columns" argument was never used. Signed-off-by: Mark Lodato <lodatom@gmail.com>
* | Merge branch 'lh/section-from-path'Lars Hjemli2010-09-191-0/+2
|\ \ | | | | | | | | | | | | Conflicts: scan-tree.c
| * | Add support for 'section-from-path' optionLars Hjemli2010-08-221-0/+2
| |/ | | | | | | | | | | | | This option can be used to autogenerate section names during scan-path processing. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* / Add support for "readme" optionLars Hjemli2010-08-221-5/+3
|/ | | | | | The value of this option is used as the default value for repo.readme. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Use GIT-1.7.2.2Lars Hjemli2010-08-221-1/+1
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Support refspecs in about-filter.Jason A. Donenfeld2010-08-201-1/+3
| | | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add support for 'enable-gitweb-owner' optionJason A. Donenfeld2010-08-041-0/+3
| | | | | | | | | 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>
* Add support for 'remove-suffix' optionJason A. Donenfeld2010-08-041-0/+3
| | | | | | | | 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>
* Add support for 'project-list' optionJason A. Donenfeld2010-08-041-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'Lars Hjemli2010-07-181-0/+2
|\
| * Add URL parameter 'ignorews' for optionally ignoring whitespace in diffsJohan Herland2010-07-181-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'Lars Hjemli2010-07-181-5/+5
|\ \
| * | Add support for environment variable expansionLars Hjemli2010-03-221-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'Lars Hjemli2010-06-221-0/+2
|\ \ \ | | |/ | |/| | | | | | | | | | Conflicts: cgit.c cgit.h
| * | Add URL parameter 'context' for changing the number of context lines in diffsJohan Herland2010-06-191-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'Lars Hjemli2010-06-221-0/+6
|\| | | | | | | | | | | | | | | | | Conflicts: cgit.h ui-commit.c
| * | struct cgit_cmd: Differentiate between various usages of ctx.qry.pathJohan Herland2010-06-191-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'Lars Hjemli2010-06-191-0/+5
|\ \
| * | Add 'max-atom-items' config variableAaron Griffin2010-03-221-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 feedsAaron Griffin2010-03-221-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 linksLars Hjemli2010-02-271-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'Lars Hjemli2010-02-271-1/+1
|\
| * Clear the whole contextDaniel Milde2010-02-271-1/+1
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Merge branch 'lh/remote-branches'Lars Hjemli2009-12-081-0/+4
|\ \
| * | Add support for remote branchesLars Hjemli2009-11-071-0/+4
| | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | Merge branch 'ro/ssdiff'Lars Hjemli2009-12-081-0/+5
|\ \ \
| * | | Add possibility to switch between unidiff and side-by-side-diff.Ragnar Ouchterlony2009-09-161-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/cgitLars Hjemli2009-12-081-0/+3
|\ \ \ \
| * | | | "max-blob-size" config var to limit generated HTML sizeGeorg Lukas2009-11-281-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'Lars Hjemli2009-12-081-2/+2
|\ \ \ \ | |/ / / |/| | / | | |/ | |/|
| * | Don't crash when a repo-specific readme file is usedSami Kyöstilä2009-12-081-2/+2
| |/ | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* / Skip leading "/" in url querystring valueStefan Bühler2009-10-061-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'Lars Hjemli2009-09-131-54/+211
|\
| * cgit.c: respect repo-local 'snapshots' option for --scan-pathLars Hjemli2009-08-241-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()Lars Hjemli2009-08-241-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()Lars Hjemli2009-08-241-0/+3
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * cgit.c: generate repo.snapshots in print_repo()Lars Hjemli2009-08-241-0/+25
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * cgit.c: add missing options to print_repo()Lars Hjemli2009-08-241-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'Lars Hjemli2009-08-241-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 sectionsLars Hjemli2009-08-241-0/+1
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * Add support for repo-local cgitrc fileLars Hjemli2009-08-241-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()Lars Hjemli2009-08-241-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'Lars Hjemli2009-08-241-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'Lars Hjemli2009-08-241-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 optionLars Hjemli2009-08-241-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'Lars Hjemli2009-08-241-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 repositoriesLars Hjemli2009-08-241-1/+74
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>