about summary refs log tree commit diff
path: root/html.c (unfollow)
Commit message (Collapse)Author
2010-02-27Use GIT-1.7.0Lars Hjemli
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
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-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-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-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-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-13CGIT 0.8.2.2Lars Hjemli
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2009-09-13Use GIT-1.6.4.3Lars Hjemli
Signed-off-by: Lars Hjemli <larsh@slackbox.hjemli.net>
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>
2009-08-24Add and use cgit_find_stats_periodname() in print_repo()Lars Hjemli
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2009-08-24cgit.c: generate repo.snapshots in print_repo()Lars Hjemli
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2009-08-24cgit.c: add missing options to print_repo()Lars Hjemli
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>
2009-08-24shared.c: initialize cgit_repo structs properlyLars Hjemli
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2009-08-24Add config option 'enable-filter-overrides'Lars Hjemli
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 Hjemli
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2009-08-24ui-repolist: handle empty sections similar to NULL sectionsLars Hjemli
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2009-08-24Add support for repo-local cgitrc fileLars Hjemli
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-24cgit.c: refactor repo_config() from config_cb()Lars Hjemli
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>
2009-08-24ui-repolist.c: sort by section name, repo name as defaultLars Hjemli
When no sorting is requested by the client, cgit will now sort by section name followed by repo name. This allows repos to be registered/ discovered independently of their display order. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2009-08-24Add config option 'repo.section'Lars Hjemli
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 Hjemli
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>
2009-08-24Add support for --scan-path command line optionLars Hjemli
This is an alias for --scan-tree (which might be deprecated in the future). Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2009-08-24Rename 'repo.scan' to 'scan-path'Lars Hjemli
The 'repo.' prefix will soon be reserved for repo-specific config options. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2009-08-24cgitrc.5.txt: document repo.scan and cache-scanrc-ttlLars Hjemli
Signed-off-by: Lars Hjemli <hjemli@gmail.com>