summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-03-22Add support for environment variable expansionLars Hjemli
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>
2010-02-28ui-tree: add link to plain view for blobs in tree listingLars Hjemli
Suggested-by: Robert Weidlich <mail@robertweidlich.de> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-02-27Use GIT-1.7.0Lars Hjemli
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-02-27Merge branch 'html-updates' of git://github.com/MarkLodato/cgitLars Hjemli
2010-02-27Merge branch 'stable'Lars Hjemli
2010-02-27Clear the whole contextDaniel Milde
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-02-27ui-shared.c: fix segfault when repo is emptyFlorian Pritz
PATH_INFO="/$REPONAME/commit/?id=1" QUERY_STRING="id=1" ./cgit.cgi triggers segfault when the repository is empty and therefore ctx.qry.head is unset Signed-off-by: Florian Pritz <bluewind@xssn.at> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-02-09html: properly percent-escape URLsMark Lodato
The only valid characters for a URL are unreserved characters a-zA-Z0-9_-.~ and the reserved characters !*'();:@&=+$,/?%#[] , as per RFC 3986. Everything else must be escaped. Additionally, the # and ? always have special meaning, and the &, =, and + have special meaning in a query string, so they too must be escaped. To make this easier, a table of escapes is now used so that we do not have to call fmt() for each character; if the entry is 0, no escaping is needed. Signed-off-by: Mark Lodato <lodatom@gmail.com>
2010-02-08html: make all strings 'const char *'Mark Lodato
None of the html_* functions modify their argument, so they can all be 'const char *' instead of a simple 'char *'. This removes the need to cast (or copy) when trying to print a const string. Signed-off-by: Mark Lodato <lodatom@gmail.com>
2009-12-12Merge branch 'stable'Lars Hjemli
2009-12-12CGIT 0.8.3.1Lars Hjemli
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2009-12-12Fix segfault on ppc when browsing treeMartins Polakovs
2009-12-08Add .tar.xz-snapshot supportAndreas Wiese
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2009-12-08Merge branch 'lh/remote-branches'Lars Hjemli
2009-12-08Merge branch 'ro/ssdiff'Lars Hjemli
2009-12-08Merge branch 'master' of http://op-co.de/cgitLars Hjemli
2009-12-08Merge branch 'stable'Lars Hjemli
2009-12-08Don't crash when a repo-specific readme file is usedSami Kyöstilä
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2009-11-28"max-blob-size" config var to limit generated HTML sizeGeorg Lukas
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-28cgit.css: highlight directories in treeGeorg Lukas
2009-11-19syntax highlighting for all formats supported by "highlight"Georg Lukas
The highlight tool can be given any of the supported file extensions as its -S parameter. This patch replaces the case-switch by extracting the extension from the supplied file name and passing it to highlight. However, this requires a shell supporting the ${var##pattern} syntax, like dash or bash. Unknown extensions cause a fall-back to plain text using the --force switch. Error messages are redirected to /dev/null. A special case maps Makefile and Makefile.* to the "mk" extension. The total overhead is reduced by calling "exec highlight". No forks are needed during script execution. Signed-off-by: Georg Lukas <georg@op-co.de>
2009-11-07Add support for remote branchesLars Hjemli
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2009-11-07Merge branch 'stable'Lars Hjemli
2009-11-07shared.c: return original errnoLars Hjemli
Noticed-by: Andreas Schwab <schwab@linux-m68k.org> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2009-11-07Add NO_OPENSSL optionMikhail Gusarov
Linking with OpenSSL is not always desirable. Add NO_OPENSSL option to use SHA-1 code bundled with Git. Signed-off-by: Mikhail Gusarov <dottedmag@dottedmag.net>
2009-11-07In side-by-side diff, add support for marking individual characters.Ragnar Ouchterlony
Refuses to do so if the left hand side of the diff has different amount of differing lines to the right hand side to avoid confusion. Note that I use the naive dynamic programming approach for calculating the longest common subsequence. We could probably be more efficient by using a better algorithm. The LCS calculating function is O(n*m) and uses up n*m amount of memory too (so if we we compare two strings of length 100, I use an array of 10000 for calculating the LCS). Might want to not calculate LCS if the length of the line is too large. Signed-off-by: Ragnar Ouchterlony <ragnar@lysator.liu.se>
2009-11-07Merge branch 'stable'Lars Hjemli
2009-11-07Close fd on error in readfile()Rys Sommefeldt
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2009-11-07Nov is the correct abbreviationDanijel Tašov
2009-10-16ui-shared.c: prettify download links when generated from tag pageLars Hjemli
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2009-10-06ui-tag: make output more similar to commit viewLars Hjemli
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2009-10-06ui-tag: add snapshot linksAlexey Nezhdanov
Signed-off-by: Alexey Nezhdanov <snakeru@gmail.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2009-10-06Skip leading "/" in url querystring valueStefan Bühler
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>
2009-09-20Fix repolist search links with virtual rootGeoff Johnstone
Signed-off-by: Geoff Johnstone <geoff.johnstone@googlemail.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2009-09-16Fixed side-by-side diff bugs related to binary diff and more.Ragnar Ouchterlony
The fixed bugs: * "Binary files differ" did not show up either in unidiff or side-by-side-diff. * Subproject diffs did not work for side-by-side diffs. * The ssdiff link on diff pages did not conserve the path. Signed-off-by: Ragnar Ouchterlony <ragnar@lysator.liu.se> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2009-09-16Polishing of how the side-by-side diff looks.Ragnar Ouchterlony
Aligned all different files, so that all side-by-side tables look the same. Also made sure that the tables take up the whole browser width. Also various changes to the css to make things easier on the eye. Signed-off-by: Ragnar Ouchterlony <ragnar@lysator.liu.se> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2009-09-16Add possibility to switch between unidiff and side-by-side-diff.Ragnar Ouchterlony
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-16First version of side-by-side diff.Ragnar Ouchterlony
This constitutes the first prototype of a side-by-side diff. It is not possible to switch between unidiff and side-by-side diff at all at this stage. 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 Chang
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 Chang
This prevents FIXMEs from appearing. Signed-off-by: Loui Chang <louipc.ist@gmail.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2009-09-13CGIT 0.8.3Lars Hjemli
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2009-09-13Merge branch 'stable'Lars Hjemli
2009-09-13CGIT 0.8.2.2Lars Hjemli
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2009-09-13Merge branch 'lh/repo-scan'Lars Hjemli
2009-09-13Merge branch 'fp/linenumbers'Lars Hjemli
2009-09-13Use GIT-1.6.4.3Lars Hjemli
Signed-off-by: Lars Hjemli <larsh@slackbox.hjemli.net>
2009-09-06Merge branch 'stable'Lars Hjemli
2009-09-06ui-plain.c: only return the blob with the specified pathLars Hjemli
When a path to a directory was specified for the 'plain' view, each blob in the directory used to be returned to the client. This patch fixes the issue by matching the path of each blob against the requested path. Noticed-by: Lars Stoltenow <penma@penma.de> Signed-off-by: Lars Hjemli <larsh@slackbox.hjemli.net>
2009-08-24cgit.c: respect repo-local 'snapshots' option for --scan-pathLars Hjemli
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>
2009-08-24cgit.c: only print first line of repo.desc in print_repo()Lars Hjemli
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>