about summary refs log tree commit diff
Commit message (Collapse)AuthorAgeFilesLines
...
* | Add .tar.xz-snapshot supportAndreas Wiese2009-12-081-4/+10
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Merge branch 'lh/remote-branches'Lars Hjemli2009-12-085-0/+18
|\ \
| * | Add support for remote branchesLars Hjemli2009-11-075-0/+18
| | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | Merge branch 'ro/ssdiff'Lars Hjemli2009-12-0813-25/+586
|\ \ \
| * | | In side-by-side diff, add support for marking individual characters.Ragnar Ouchterlony2009-11-072-25/+130
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | | Fixed side-by-side diff bugs related to binary diff and more.Ragnar Ouchterlony2009-09-162-6/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | | Polishing of how the side-by-side diff looks.Ragnar Ouchterlony2009-09-164-30/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | | Add possibility to switch between unidiff and side-by-side-diff.Ragnar Ouchterlony2009-09-169-16/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | | First version of side-by-side diff.Ragnar Ouchterlony2009-09-165-2/+325
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | | Merge branch 'master' of http://op-co.de/cgitLars Hjemli2009-12-086-17/+31
|\ \ \ \
| * | | | "max-blob-size" config var to limit generated HTML sizeGeorg Lukas2009-11-284-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | | | cgit.css: highlight directories in treeGeorg Lukas2009-11-281-0/+5
| | | | |
| * | | | syntax highlighting for all formats supported by "highlight"Georg Lukas2009-11-191-17/+12
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | | 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>
* | | Merge branch 'stable'Lars Hjemli2009-11-071-3/+5
|\| |
| * | shared.c: return original errnoLars Hjemli2009-11-071-3/+5
| | | | | | | | | | | | | | | Noticed-by: Andreas Schwab <schwab@linux-m68k.org> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | Add NO_OPENSSL optionMikhail Gusarov2009-11-071-3/+12
| | | | | | | | | | | | | | | | | | | | | 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>
* | | Merge branch 'stable'Lars Hjemli2009-11-072-3/+8
|\| |
| * | Close fd on error in readfile()Rys Sommefeldt2009-11-071-2/+7
| | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | Nov is the correct abbreviationDanijel Tašov2009-11-071-1/+1
| | |
* | | ui-shared.c: prettify download links when generated from tag pageLars Hjemli2009-10-161-2/+7
| | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | ui-tag: make output more similar to commit viewLars Hjemli2009-10-061-6/+6
| | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | ui-tag: add snapshot linksAlexey Nezhdanov2009-10-061-0/+12
| | | | | | | | | | | | | | | Signed-off-by: Alexey Nezhdanov <snakeru@gmail.com> 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>
* | Fix repolist search links with virtual rootGeoff Johnstone2009-09-202-1/+2
| | | | | | | | | | Signed-off-by: Geoff Johnstone <geoff.johnstone@googlemail.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | cgitrc.5.txt: Change repo.group to section in example config.Loui Chang2009-09-141-4/+4
| | | | | | | | | | Signed-off-by: Loui Chang <louipc.ist@gmail.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | cgitrc.5.txt: Add mansource and manmanual.Loui Chang2009-09-141-0/+3
|/ | | | | | | This prevents FIXMEs from appearing. Signed-off-by: Loui Chang <louipc.ist@gmail.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* CGIT 0.8.3 v0.8.3Lars Hjemli2009-09-131-1/+1
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Merge branch 'stable'Lars Hjemli2009-09-131-1/+1
|\
| * CGIT 0.8.2.2 v0.8.2.2Lars Hjemli2009-09-131-1/+1
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Merge branch 'lh/repo-scan'Lars Hjemli2009-09-1311-80/+329
|\ \
| * | 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-243-0/+12
| | | | | | | | | | | | 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>
| * | shared.c: initialize cgit_repo structs properlyLars Hjemli2009-08-241-0/+1
| | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | Add config option 'enable-filter-overrides'Lars Hjemli2009-08-243-11/+26
| | | | | | | | | | | | | | | | | | | | | 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>
| * | cgitrc.5.txt: fix markup errorsLars Hjemli2009-08-241-9/+10
| | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | ui-repolist: handle empty sections similar to NULL sectionsLars Hjemli2009-08-242-7/+12
| | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | Add support for repo-local cgitrc fileLars Hjemli2009-08-245-13/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | ui-repolist.c: sort by section name, repo name as defaultLars Hjemli2009-08-241-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | Add config option 'repo.section'Lars Hjemli2009-08-242-0/+5
| | | | | | | | | | | | | | | | | | | | | 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-246-17/+22
| | | | | | | | | | | | | | | | | | | | | | | | 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-242-10/+10
| | | | | | | | | | | | | | | | | | | | | The 'repo.' prefix will soon be reserved for repo-specific config options. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | cgitrc.5.txt: document repo.scan and cache-scanrc-ttlLars Hjemli2009-08-241-0/+9
| | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | cgit.c: add support for caching autodetected repositoriesLars Hjemli2009-08-242-1/+75
| | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | cgit.c: make print_repolist() and print_repo() reusable for cachingLars Hjemli2009-08-241-12/+12
| | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | cache.h: export hash_str()Lars Hjemli2009-08-241-0/+2
| | | | | | | | | | | | | | | | | | This function will be reused to cache the result of tree scanning. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | cgit.c: add support for cgitrc option 'repo.scan'Lars Hjemli2009-08-241-0/+2
| | | | | | | | | | | | | | | | | | When specified, the specified path will be scanned for repositories. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | scan-tree: detect non-bare repository and stop scanning earlyLars Hjemli2009-08-241-0/+4
| | | | | | | | | | | | | | | | | | | | | We don't want to descend into every subdirectory of a git repository with a workdir. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | Merge branch 'fp/linenumbers'Lars Hjemli2009-09-135-17/+32
|\ \ \
| * | | cgit.css: make the blob display in tree view a bit prettierLars Hjemli2009-08-211-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Adding some padding to the linenumbers while right-aligning them and removing the background color makes the page more readable. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | Rename "linenumbers" to "enable-tree-linenumbers", change default to "1"Lars Hjemli2009-08-214-8/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 optionFlorian Pritz2009-08-214-11/+23
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Florian Pritz <bluewind@xssn.at> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | ui-tree.c: show line numbers when highlightingFlorian Pritz2009-08-211-9/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When source-filter is enabled, cgit currently will not display linenumbers in the tree view. This patch restores the linenumber function. Signed-off-by: Florian Pritz <bluewind@xssn.at> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | | Use GIT-1.6.4.3Lars Hjemli2009-09-134-3/+3
| | | | | | | | | | | | | | | | Signed-off-by: Lars Hjemli <larsh@slackbox.hjemli.net>
* | | | Merge branch 'stable'Lars Hjemli2009-09-061-1/+2
|\ \ \ \ | |_|/ / |/| | / | | |/ | |/|
| * | ui-plain.c: only return the blob with the specified pathLars Hjemli2009-09-061-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | cgitrc.5.txt: fix description and markup for 'snapshots' optionLars Hjemli2009-08-241-8/+3
| |/ |/| | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | scan-tree: split the pw_gecos field at the ',' to get the real nameStefan Naewe2009-08-201-0/+3
| | | | | | | | | | Signed-off-by: Stefan Naewe <stefan.naewe@atlas-elektronik.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | cgit.c: fix caching keyed on PATH_INFO with no QUERY_STRINGLars Hjemli2009-08-201-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>
* | Add and use a common readfile() functionLars Hjemli2009-08-184-23/+34
| | | | | | | | | | | | | | | | | | | | | | | | This function is used to read the full content of a textfile into a newly allocated buffer (with zerotermination). It replaces the earlier readfile() in scan-tree.c (which was rather error-prone[1]), and is reused by read_agefile() in ui-repolist.c. 1: No checks for EINTR and EAGAIN, fixed-size buffer Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Merge branch 'stable'Lars Hjemli2009-08-182-0/+2
|\|
| * truncate buffer before reading empty filesSimon Arlott2009-08-182-0/+2
| | | | | | | | | | | | | | | | | | | | If readfile() reads an empty file, fgets() won't truncate the buffer and it'll still contain the contents of the previously read file. [lh: fixed similar issue in ui-repolist.c] Signed-off-by: Simon Arlott <simon@fire.lp0.eu> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Merge branch 'stable'Lars Hjemli2009-08-181-8/+11
|\|
| * ui-shared: don't print header <img/> if there isn't a logo definedMatthew Metnetsky2009-08-181-8/+11
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Merge branch 'stable'Lars Hjemli2009-08-172-1/+7
|\|
| * cgit.c: do not segfault on unexpected query-string formatLars Hjemli2009-08-171-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>
| * ui-tag.c: do not segfault when id is missing from query-stringLars Hjemli2009-08-171-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The purpose of the tag page is to print info about a specific tag, but if no tag was specified on the query-string cgit used to segfault. With this patch, cgit will fallback to the value of the 'h' parameter instead (which is never NULL due to prepare_repo_cmd() in cgit.c). It will now also verify that the specified tagname is in fact a valid ref in the 'refs/tags/' namespace, i.e. specifying 'id=master' will trigger a 'Bad tag reference' error. Noticed-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | ui-log.c: handle lightweight tags when printing commit decorationsLars Hjemli2009-08-161-0/+4
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | ui-refs.c: improve handling of lightweight tagsStefan Bühler2009-08-161-1/+18
| | | | | | | | | | | | | | | | | | | | When a lightweight tag is referencing a commit object, cgit now uses the commit date when comparing tag age. Also, the commitdate and author info is printed in the refs view, making lightweight tags appear similar to annotated tags. Signed-off-by: Stefan Bühler <lighttpd@stbuehler.de> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Use GIT-1.6.3.4Lars Hjemli2009-08-162-1/+1
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Merge branch 'lh/embedded'Lars Hjemli2009-08-113-39/+63
|\ \
| * | ui-shared: add support for header/footer options when embedded=1Lars Hjemli2009-08-111-5/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When embedded=1, cgit used to ignore the header and footer options. But honoring these options when embedded=1 makes it possible to "frame" the html fragment generated by cgit with any kind of static content, i.e. it should become easier to integrate cgit with site-specfic layouts. Original-patch-by: Mark Constable <markc@renta.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | ui-shared: add support for NO_HTTP=1/--nohttpLars Hjemli2009-08-103-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 variablesLars Hjemli2009-08-103-33/+45
| | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | cgitrc.5.txt: describe where/how cgit will locate cgitrcLars Hjemli2009-08-101-0/+7
| | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | cgit.c: make '/cgit.png' the default value for 'logo' optionLars Hjemli2009-08-102-2/+2
| | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | cgit.css: align commit message with subject in expanded log listingLars Hjemli2009-08-101-1/+1
|/ / | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Add some example filter scriptsLars Hjemli2009-08-092-0/+51
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Merge branch 'lh/about'Lars Hjemli2009-08-098-10/+48
|\ \ | | | | | | | | | | | | Conflicts: cgit.h
| * | Add 'about-filter' and 'repo.about-filter' optionsLars Hjemli2009-08-096-2/+28
| | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | ui-summary: enable arbitrary paths below repo.readmeLars Hjemli2009-08-093-8/+20
| | | | | | | | | | | | | | | | | | | | | | | | This change makes it possible to include any number of pages below the 'about' tab for a repository. The path is assumed to be located in the same directory as the 'repo.readme' file. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | Merge branch 'lh/plugins'Lars Hjemli2009-08-097-32/+125
|\| | | | | | | | | | | | | | | | | Conflicts: cgit.c cgit.h
| * | cgit.c: allow repo.*-filter options to unset the current defaultLars Hjemli2009-08-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | Add support for repo.commit-filter and repo.source-filterLars Hjemli2009-08-096-21/+35
| | | | | | | | | | | | | | | | | | | | | These options can be used to override the default commit- and source- filter settings per repository. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | ui-commit: add support for 'commit-filter' optionLars Hjemli2009-07-314-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | ui-tree: add support for source-filter optionLars Hjemli2009-07-314-4/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | ui-snapshot: use cgit_{open|close}_filter() to execute compressorsLars Hjemli2009-07-311-28/+7
| | | | | | | | | | | | | | | | | | | | | This simplifies the code in ui-snapshot.c and makes the test-suite verify the new filter-functions. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | Add generic filter/plugin infrastructureLars Hjemli2009-07-313-0/+62
| | | | | | | | | | | | | | | | | | | | | 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>
* | | Merge branch 'lh/mimetypes'Lars Hjemli2009-08-094-5/+45
|\ \ \
| * | | Add support for mime type registration and lookupLars Hjemli2009-07-254-5/+45
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Expose file extension in tree lists as class to allow nicer tree stylingMartin Szulecki2009-08-081-1/+7
| | | | | | | | | | | | Signed-off-by: Martin Szulecki <opensuse@sukimashita.com>
* | | Introduce noplainemail option to hide email adresses from spambotsMartin Szulecki2009-08-087-7/+22
|/ / | | | | | | Signed-off-by: Martin Szulecki <opensuse@sukimashita.com>
* | Merge branch 'lh/embedded'Lars Hjemli2009-07-254-6/+37
|\ \ | | | | | | | | | | | | | | | Conflicts: cgitrc.5.txt ui-shared.c
| * | cgit.h: keep config flags sortedLars Hjemli2009-07-251-2/+2
| | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | cgitrc.5.txt: document 'embedded' and 'noheader'Lars Hjemli2009-07-251-0/+9
| | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | Add support for 'noheader' optionLars Hjemli2009-07-253-7/+16
| | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | Add support for an 'embedded' option in cgitrcLars Hjemli2009-02-023-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Merge branch 'ml/head-include'Lars Hjemli2009-07-254-1/+10
|\ \ \
| * | | cgitrc.5.txt: document 'head-include'Lars Hjemli2009-07-251-0/+4
| | | | | | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | Add head-include configuration option.Mark Lodato2009-06-073-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Merge branch 'plain-etag'Lars Hjemli2009-07-254-0/+12
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Conflicts: ui-shared.c
| * | | | Add support for HEAD requestsLars Hjemli2009-02-192-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a quick 'n dirty hack which makes cgit honor HEAD requests. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | | Add support for ETag in 'plain' viewLars Hjemli2009-02-194-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | | | Merge branch 'rt/plain-binary'Lars Hjemli2009-07-252-2/+11
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | | | ui-blob: return 'application/octet-stream' for binary blobsLars Hjemli2009-07-251-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | | | ui-plain: Return 'application/octet-stream' for binary files.Remko Tronçon2009-07-251-1/+4
| | |_|_|/ | |/| | | | | | | | | | | | | | | | | | Signed-off-by: Remko Tronçon <git@el-tramo.be> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | | | Merge branch 'do/https'Lars Hjemli2009-07-253-3/+18
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | | | use cgit_httpscheme() for atom feedDiego Ongaro2009-06-112-3/+6
| | | | | |
| * | | | | add cgit_httpscheme() -> http:// or https://Diego Ongaro2009-06-112-0/+12
| | |_|/ / | |/| | |
* / | | | Return http statuscode 404 on unknown branchLars Hjemli2009-06-073-0/+6
|/ / / / | | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | | Merge branch 'stable'Lars Hjemli2009-03-151-1/+1
|\| | |
| * | | CGIT 0.8.2.1 v0.8.2.1Lars Hjemli2009-03-151-1/+1
| | | | | | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | | Fix doc-related glitches in Makefile and .gitignoreLars Hjemli2009-03-152-1/+6
| | | | | | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | | Merge branch 'stable'Lars Hjemli2009-03-152-11/+25
|\| | |
| * | | ui-snapshot: avoid segfault when no filename is specifiedLars Hjemli2009-03-151-6/+17
| | | | | | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | fix segfault when displaying empty blobsEric Wong2009-03-151-5/+8
| |/ / | | | | | | | | | | | | | | | | | | | | | When size is zero, subtracting one from it turns it into ULONG_MAX which causes an out-of-bounds access on buf. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | Merge branch 'asciidoc'Lars Hjemli2009-03-153-58/+78
|\ \ \ | |/ / |/| |
| * | Makefile: add doc-related targetsLars Hjemli2009-02-121-2/+17
| | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | Add cgit-doc.cssLars Hjemli2009-02-121-0/+3
| | | | | | | | | | | | | | | | | | | | | This css is used to tweak the display of asciidoc-generated html for cgitrc.5.txt. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | cgitrc.5.txt: un-indent the name sectionLars Hjemli2009-02-121-1/+1
| | | | | | | | | | | | | | | | | | Otherwise, this section is treated as a preformatted, literal block. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | cgitrc.5.txt: wrap the example file in an asciidoc LiteralBlockLars Hjemli2009-02-121-0/+2
| | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | cgitrc.5.txt: make the cgitrc options a valid asciidoc labeled listLars Hjemli2009-02-121-51/+51
| | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | make cgitrc.5.txt asciidoc manpage compatibleMatt McCormick (thewtex)2009-02-121-4/+4
| |/ | | | | | | | | According to the instructions and requirements here: http://www.methods.co.nz/asciidoc/chunked/ar01s20.html
* / ui-tree: escape ascii-text properly in hexdump viewLars Hjemli2009-02-121-4/+9
|/ | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* CGIT 0.8.2 v0.8.2Lars Hjemli2009-02-011-1/+1
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Use GIT-1.6.1.1Lars Hjemli2009-02-012-1/+1
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Merge branch 'lh/binary'Lars Hjemli2009-02-017-30/+119
|\
| * shared.c: avoid SEGFAULT when checking for binary buffersLars Hjemli2009-02-011-2/+2
| | | | | | | | | | | | | | Before calling buffer_is_binary() we need to verify that the buffer is valid. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * ui-tree: show hexdump of binary blobsLars Hjemli2009-01-312-23/+67
| | | | | | | | | | | | | | This teaches ui-tree to detect binary blobs and display them similar to `hexdump -C` (only wider). Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * Handle binary files in diffsLars Hjemli2009-01-315-7/+52
| | | | | | | | | | | | | | This teaches all diff-related operations (i.e. ui-log, ui-diff and ui-patch) how to handle binary files. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Merge branch 'lh/header'Lars Hjemli2009-02-014-0/+9
|\ \ | |/ |/|
| * Add support for a custom headerLars Hjemli2009-01-294-0/+9
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Merge branch 'stable'Lars Hjemli2009-01-291-2/+4
|\ \ | |/ |/|
| * html.c: use correct escaping in html attributesLars Hjemli2009-01-291-2/+4
| | | | | | | | | | | | | | First, an apostrophe is not a quote. Second, we also need to escape quotes. And finally, quotes are encoded as '&quot;', not '&quote;'. Sighned-off-by: Lars Hjemli <hjemli@gmail.com>
* | Merge branch 'stable'Lars Hjemli2009-01-271-1/+1
|\|
| * CGIT 0.8.1.1 v0.8.1.1Lars Hjemli2009-01-271-1/+1
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Merge branch 'jw/commit-decorations'Lars Hjemli2009-01-274-1/+12
|\ \ | | | | | | | | | | | | | | | | | | Conflicts: cgit.css Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | tests/t0105-commit.sh: expect commit decorationsLars Hjemli2009-01-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | When a commit is referenced by a branch or tag the commit subject- line will be suffixed with the proper decorations, hence the test for this line needs to be updated. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | cgit.css: minor adjustment of commit decorationsLars Hjemli2009-01-271-0/+5
| | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | Add decorations to commit pagesJustin Waters2009-01-272-0/+5
| | | | | | | | | | | | | | | | | | | | | This adds the tag and branch head decorations to the commit pages. This is similar to how commits are displayed in the standard gitweb interface. Signed-off-by: Justin Waters <justin.waters@timesys.com>
* | | Merge branch 'og/tree-view-selection'Lars Hjemli2009-01-273-28/+34
|\ \ \ | | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | changed objects are outputted, allowing for selections of code onlyOnne Gorter2009-01-103-28/+34
| | | |
* | | | Merge branch 'lh/stats'Lars Hjemli2009-01-2712-4/+569
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: cgit.c cgit.css cgit.h ui-tree.c Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | ui-stats.c: reuse cgit_add_hidden_formfields()Lars Hjemli2008-12-071-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes sure that the currect branch and path is preserved when changing the stats period or author count. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | ui-shared: externalize add_hidden_formfields()Lars Hjemli2008-12-072-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | This function will be reused by ui-stats.c in the next commit. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | ui-tree: add link to stats page per pathLars Hjemli2008-12-071-0/+3
| | | | | | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | ui-shared: add and use cgit_stats_link()Lars Hjemli2008-12-072-2/+10
| | | | | | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | ui-stats: replace 'enable-stats' setting with 'max-stats'Lars Hjemli2008-12-078-58/+104
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new 'max-stats' and 'repo.max-stats' settings makes it possible to define the maximum statistics period, both globally and per repo. Hence, it is now feasible to allow statistics on repositories with a high commit frequency, like linux-2.6, by setting repo.max-stats to e.g. 'month'. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | ui-stats: enable path-filtered statsLars Hjemli2008-12-071-3/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When a path is specified on the querystring the commit statistics will now be filtered by this path. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | Add a 'stats' page to each repoLars Hjemli2008-12-0610-0/+497
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This new page, which is disabled by default, can be used to print some statistics about the number of commits per period in the repository, where period can be either weeks, months, quarters or years. The function can be activated globally by setting 'enable-stats=1' in cgitrc and disabled for individual repos by setting 'repo.enable-stats=0'. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | | Merge branch 'stable'Lars Hjemli2009-01-122-8/+11
|\ \ \ \ | | |_|/ | |/| |
| * | | Makefile: install cgit.{css,png} in CGIT_DATA_PATHTodd Zullinger2009-01-121-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | CGIT_DATA_PATH defaults to CGIT_SCRIPT_PATH, but allows users to install the cgi and the data files in different locations. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | Makefile: add INSTALL var to set install commandTodd Zullinger2009-01-121-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This also explicitly sets the modes for installed files (755 for the .cgi, 644 for the .css and .png). Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | Fix tar.bz2 snapshot exampleTodd Zullinger2009-01-121-2/+2
| | | | | | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | | Merge branch 'stable'Lars Hjemli2009-01-112-2/+6
|\| | |
| * | | Avoid SEGFAULT on invalid requestsLars Hjemli2009-01-112-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When an unknown page is requested, either on the querystring or via PATH_INFO, we end up with a null-referencing cgit_cmd. This null- pointer is then used as argument to the hc() function (which decides what tab to render as 'active'), but this function failed to check if a valid cmd was specified and a SEGFAULT would occur. This patch fixes the issue by introducing a 'fallback-cmd' which specifies what tab to render as 'active' when no valid cmd is requested. While at it, we now also keep track of the active repository even if an invalid cmd was requested since we want to show the error message about the invalid request in the correct context. Noticed-by: Robin Redeker <elmex@ta-sa.org> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | | Make all tags viewableRobin Redeker2009-01-112-2/+11
| | | | | | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | | Merge branch 'stable'Lars Hjemli2009-01-111-2/+3
|\| | |
| * | | ui-tag: escape tagnames properlyLars Hjemli2009-01-111-2/+3
| | | | | | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | | Change toggle to more meaningful termJustin Waters2009-01-111-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the log interface, there is a toggle link at the top, but it isn't clear what's being toggled. I've changed it to "Expand" and "Collapse" to make it clear that you are getting more and less information, respectively. Signed-off-by: Justin Waters <justin.waters@timesys.com>
* | | | Merge branch 'snapshot-fixes'Lars Hjemli2009-01-112-13/+15
|\ \ \ \
| * | | | tests/t0107-snapshot.sh: make testscript match updated snapshot behaviorLars Hjemli2008-12-281-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since cgit now returns a 404 error when the snapshot filename cannot be resolved to a commit object, the testscript needs to request a valid snapshot name. Also, the script assumed that the toplevel directory in the snapshot would get the name of the repository but it's now named similar to the requested snapshot. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | | return 404 if snapshot is not foundNatanael Copa2008-12-281-3/+5
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | | | Merge branch 'lh/mimetypes'Lars Hjemli2009-01-112-3/+3
|\ \ \ \ \
| * | | | | ui-snapshot.c: change mime-type for tar.gz and tar.bz2Lars Hjemli2008-12-262-3/+3
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The updated mime-types seems to work better than the old ones with both safari and firefox. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | | | Merge branch 'lh/virtual-root'Lars Hjemli2009-01-111-20/+21
|\ \ \ \ \
| * | | | | Untie logic for SCRIPT_NAME and PATH_INFOLars Hjemli2008-12-261-20/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SCRIPT_NAME is used as fallback for virtual-root when virtual-root is unspecified in cgitrc and PATH_INFO is used as fallback for the query- string parameter 'url' when the latter is unspecified. But until now, the use of PATH_INFO depended on virtual-root also being unspecified, i.e. it was impossible to use PATH_INFO when virtual-root was specified. This commit makes the fallback on SCRIPT_NAME and PATH_INFO independent code paths, i.e. it is now possible to specify virtual-root in cgitrc while still using PATH_INFO (instead of rewrite rules) to get 'pretty urls'. Noticed-by: Jack Moffitt <jack@chesspark.com> Noticed-by: LiKai Liu <liulk@cs.bu.edu> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | | | | Merge branch 'stable'Lars Hjemli2009-01-111-2/+2
|\ \ \ \ \ \ | | |_|/ / / | |/| | | |
| * | | | | Makefile: avoid libcurl when building gitLars Hjemli2009-01-101-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We don't need support for fetching/pushing in libgit.a, hence we don't need to link with libcurl. Noticed-by: Robin Redeker <elmex@ta-sa.org> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | | | | ui-log: show name-decorations in log outputLars Hjemli2009-01-112-0/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commits are now decorated with a clickable 'label' for each ref pointing at it, similar to how gitweb and gitk displays commit decorations. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | | | | ui-refs: avoid SEGFAULT on lightweight tagsRobin Redeker2009-01-101-1/+1
| |_|_|_|/ |/| | | | | | | | | | | | | | | | | | | Signed-off-by: Robin Redeker <elmex@ta-sa.org> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | | | Merge branch 'stable'Lars Hjemli2009-01-062-3/+5
|\| | | |
| * | | | ui-tree.c: do not add blank line when displaying blobsLars Hjemli2009-01-062-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also, fix a related bug in the test-suite. Noticed-by: Jim Meyering <jim@meyering.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | | | Merge branch 'stable'Lars Hjemli2008-12-301-2/+2
|\| | | | | |_|/ / |/| | |
| * | | ui-patch: whitespace changes in the patch generation codeTomas Carnecky2008-12-301-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a space between the committer name and email, and remove superfluous spaces in the date header. This makes cgit-generated patches match the output from git-format-patch almost exactly, at least as far as the email headers go. Signed-off-by: Tomas Carnecky <tom@dbservice.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | | Use GIT-1.6.1Lars Hjemli2008-12-262-1/+1
| | | | | | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | | shared.c: future-proof usage of git diff-structuresLars Hjemli2008-12-261-1/+3
| |/ / |/| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | Merge branch 'stable'Lars Hjemli2008-12-062-2/+9
|\| |
| * | tests/setup.sh: allow testsuite to fail properly with POSIX standard shellsLars Hjemli2008-12-061-1/+1
| | | | | | | | | | | | | | | | | | | | | The "((expr))" construct is not implemented by e.g. dash, so this commit replaces the construct with a more portable one. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | tests/t0010-validate-html.sh: skip tests if 'tidy' is not availableLars Hjemli2008-12-061-1/+8
| | | | | | | | | | | | | | | Noticed-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | Merge branch 'full-log'Lars Hjemli2008-12-069-13/+61
|\ \ \ | | | | | | | | | | | | | | | | | | | | Conflicts: cgit.c cgit.h
| * | | ui-log: use css to make full-log prettierLars Hjemli2008-11-302-8/+21
| | | | | | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | ui-log: (ab)use extra columns for commit message when showmsg=1Lars Hjemli2008-11-291-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the commit message has extra long lines it's better to use the author/ files/lines columns to show those lines than to push the columns of screen and force the users to hscroll. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | ui-log: add support for showing the full commit messageLars Hjemli2008-11-298-11/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some users prefer to see the full message, so to make these users happy the new querystring parameter "showmsg" can be used to print the full commit message per log entry. A link is provided in the log heading to make this function accessible, and all links and forms tries to preserve the users preference. Note: the new link is not displayed on the summary page since the point of the summary page is to be a summary, but it is still obeyed if specified manually. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | | Merge branch 'lh/sort-repolist'Lars Hjemli2008-12-064-14/+126
|\ \ \ \
| * | | | ui-repolist: implement lazy caching of repo->mtimeLars Hjemli2008-11-293-4/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When sorting the list of repositories by their last modification time, cgit would (in the worst case) invoke fstat(3) four times and open(3) twice for each callback from qsort(3). This obviously scales very badly. Now, the calculated modtime for each repo is saved in repo->mtime, thus keeping the number of stat/open invocations identical for sorted and unsorted repo-listings. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | | ui-repolist: sort null values lastLars Hjemli2008-11-291-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When sorting on e.g. owner, it's not interesting to get all repos without owner at the top of the list. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | | ui-repolist: add support for sorting any columnLars Hjemli2008-11-291-9/+83
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | | ui-repolist: extract get_repo_modtime() from print_modtime()Lars Hjemli2008-11-291-27/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new function is then used by both print_modtime() and cgit_reposort_modtime(). Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | | Add support for sorting by Age in the repolistBenjamin Close2008-11-293-3/+39
| |/ / / | | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | | Merge branch 'snapshot-fixes'Lars Hjemli2008-12-065-60/+94
|\ \ \ \
| * | | | ui-shared: shorten the sha1 printed by cgit_object_linkLars Hjemli2008-12-011-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Such links was printed as the object type followed by the objects complete sha1. We still use the complete sha1 in the link but we no longer show it in all its glory; only the first 10 hex chars are printed. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | | ui-refs.c: show download links for all tags referring to commit objectsLars Hjemli2008-12-011-3/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The snapshot function has only been linked to from the commit page while users often would want to download a certain release. With this patch, direct download links will now be printed for each tagged release on the repo summary page. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | | ui-shared: exploit snapshot dwimmery in cgit_print_snapshot_linksLars Hjemli2008-12-011-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since we know that ui-snapshot.c is able to extract the revision from the filename, there's no longer necessary to specify the revision with a 'id' querystring argument. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | | ui-snapshot: improve extraction of revision from snapshot nameLars Hjemli2008-12-011-43/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The modified get_ref_from_filename() supports the following snapshot formats: * $REV.$EXT * $REPO[-_]*v?$REV.$EXT This implies that the following urls will retrieve the expected revision: * http://hjemli.net/git/cgit/snapshot/v0.8.1.tar.gz * http://hjemli.net/git/cgit/snapshot/0.8.1.tar.gz * http://hjemli.net/git/cgit/snapshot/cgit-0.8.1.tar.gz * http://hjemli.net/git/cgit/snapshot/cgit-140012d7a8.tar.gz Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | | Set prefix in snapshots when using dwimmeryNatanael Copa2008-11-303-6/+14
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch sets the directory prefix in archives to be the filename, excluding the suffix (.tar.gz, .tar.bz2 etc). The patch also removes the prefix parameter in cgit_print_snapshot() as the prefix might differ. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | | Merge branch 'stable'Lars Hjemli2008-12-065-8/+46
|\ \ \ \ | |/ / / |/| / / | |/ /
| * | Merge branch 'rj/buildtweaks' into stableLars Hjemli2008-12-054-6/+31
| |\ \
| | * | parsing.c: enable builds with NO_ICONV definedLars Hjemli2008-12-051-0/+4
| | | | | | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| | * | ui-repolist: avoid build warning for strcasestr(3)Lars Hjemli2008-12-051-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The non-standard function strcasestr is only defined if _GNU_SOURCE has also been defined. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| | * | Makefile: allow cgit.conf to override platform-specific tweaksLars Hjemli2008-12-051-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | If the makefile doesn't automatically define the correct build variables it is nice to be able to define them explicitly. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| | * | Extra cygwin-specific changesRamsay Jones2008-12-032-6/+23
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | ui-log: try to disambiguate ref namesLars Hjemli2008-12-031-2/+15
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The 'h' querystring parameter in cgit is normally used to specify a branch (i.e. a ref below refs/heads/), but if a repository contains a tag with the same name as a branch the output from ui-log would use the tag as start-revision. This patch tries to fix the issue by checking if the specified ref is valid as a branch name; if so, the full refname is used in the call to setup_revisions(). Noticed-by: Takamori Yamaguchi <akschar@gmail.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | Merge branch 'stable'Lars Hjemli2008-11-141-1/+2
|\| |
| * | ui-repolist: handle empty agefilesLars Hjemli2008-11-141-1/+2
| | | | | | | | | | | | | | | | | | | | | When the agefile was empty the old code would happily reuse the static buffer filled by a previous call to read_agefile(). Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | Merge branch 'stable'Lars Hjemli2008-11-061-2/+2
|\| |
| * | Use mode 0644 for non-executable filesKarl Chen2008-11-061-2/+2
| | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | Merge branch 'stable'Lars Hjemli2008-11-065-6/+8
|\| | | |/ |/|
| * Fix tests to work on Ubuntu (dash)Ramsay Jones2008-11-061-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | The system shell (/bin/sh) on Ubuntu is dash, which aims to be a POSIX standard shell. In particular, dash does not implement any of the common extensions to the standard that, say, bash and ksh do. Replace some non-POSIX constructs in setup.sh with more portable and mundane code. Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * Fix some warnings to allow -WerrorRamsay Jones2008-11-062-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The type used to declare the st_size field of a 'struct stat' can be a 32- or 64-bit sized type, which can vary from one platform to another, or even from one compilation to another. In particular, on linux, if you include the following define: #define _FILE_OFFSET_BITS 64 prior to including certain system header files, then the type used for the st_size field will be __off64_t, otherwise it will be an __off_t. Note that the above define is included at the top of git-compat-util.h. In cache.c, the "%zd" format specifier expects a "signed size_t", another type which can vary, when an __off64_t or a __off_t is provided. To supress the warning, use the PRIuMAX format specifier and cast the st_size field to uintmax_t. This should work an any platform for which git currently compiles. In ui-plain.c, the size parameter of sha1_object_info() and read_sha1_file() is defined to be "unsigned long *" not "size_t *". So, to supress the warning, simply declare size with the correct type. Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * Use GIT-1.6.0.3Lars Hjemli2008-11-062-1/+1
|/ | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* CGIT 0.8.1 v0.8.1Lars Hjemli2008-10-111-1/+1
|
* Merge branch 'stable'Lars Hjemli2008-10-111-0/+3
|\ | | | | | | | | * stable: Makefile: enable compilation on uclibc
| * Makefile: enable compilation on uclibcLars Hjemli2008-10-111-0/+3
| | | | | | | | | | Original-patch-by: Natanael Copa <natanael.copa@gmail.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | ui-snapshot: add dwimmeryLars Hjemli2008-10-113-15/+83
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When downloading a snapshot, the snapshot name will often contain the repo name combined with a tag. This patch tries to exploit this so that the correct revision is downloaded even if no specific revision is specified. PS: this only occurs if neither 'h' nor 'id' is specified in the query- string. PPS: this also fixes a bug which occurs when trying to download a filename with an unsupported suffix: it used to try to print an error message to the user but failed since it didn't prepare the output properly. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Add cgit_query.nohead flagLars Hjemli2008-10-112-0/+2
|/ | | | | | | | This flag is set when no HEAD is specified in the querystring. Currently it has no users, but it will be used by ui-snapshot to invoke a DWIM-mode where the revision is extracted from the snapshot name. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* ui-shared: specify correct css class for summary tabLars Hjemli2008-10-061-1/+2
| | | | | | | When introducing cgit_summary_link() in 49ecbbdd I forgot to specify the css class. This fixes it. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* CGIT 0.8 v0.8Lars Hjemli2008-10-051-1/+1
|
* ui-summary: use html_url_path()Lars Hjemli2008-10-051-1/+1
| | | | | | This makes the clone urls be properly escaped. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* ui-refs: use cgit_tag_link()Lars Hjemli2008-10-051-6/+2
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* ui-shared: add cgit_tag_link()Lars Hjemli2008-10-052-0/+8
| | | | | | | This function can be used to generate properly escaped links to the tag page. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* ui-shared: generate proper links in cgit_object_link()Lars Hjemli2008-10-051-15/+7
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* ui-shared: use html_url_path() to get properly escaped url in form actionLars Hjemli2008-10-051-2/+2
| | | | | | | When a repo uses an url with e.g. '#' or '?' characters this needs to be properly escaped when used as action in a form tag. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Use GIT-1.6.0.2Lars Hjemli2008-10-053-5/+3
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* ui-shared: reword the standard page footerLars Hjemli2008-10-051-2/+2
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* ui-shared: do not print repo name on the "summary" tabLars Hjemli2008-10-051-2/+1
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Replace cgitrc with cgitrc.5.txtLars Hjemli2008-10-052-202/+367
| | | | | | | | The new file describes all cgitrc options in a more structured manner then the cgitrc example file and it might also work as the source for a cgitrc man page. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Merge branch 'lh/escape-urls'Lars Hjemli2008-10-055-14/+32
|\ | | | | | | | | | | | | | | * lh/escape-urls: ui-repolist + ui-shared: Use cgit_summary_link() ui-shared.c: add cgit_summary_link() ui-shared.c: use html_url_path() in repolink() html.c: add html_url_path
| * ui-repolist + ui-shared: Use cgit_summary_link()Lars Hjemli2008-10-052-10/+5
| | | | | | | | | | | | | | This makes is possible to use cgit with repository urls containing special url characters like '#' and '?'. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * ui-shared.c: add cgit_summary_link()Lars Hjemli2008-10-052-0/+6
| | | | | | | | | | | | | | This function can be used to generate a link to the summary page for the currently active repo. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * ui-shared.c: use html_url_path() in repolink()Lars Hjemli2008-10-051-4/+4
| | | | | | | | | | | | | | This makes sure that reponames and paths are properly escaped when used as urls. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * html.c: add html_url_pathLars Hjemli2008-10-052-0/+17
| | | | | | | | | | | | | | This function can be used to generate properly escaped path-components for links. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Merge branch 'lh/escape-urls'Lars Hjemli2008-10-056-11/+53
|\| | | | | | | | | | | * lh/escape-urls: ui-shared.c: use html_url_arg() html.c: add html_url_arg
| * ui-shared.c: use html_url_arg()Lars Hjemli2008-10-054-11/+36
| | | | | | | | | | | | | | | | | | The link-generating functions are updated to use the new html_url_arg function, thereby fixing links to strange repos, branches and files. Also, the test-suite is updated to verify some cases of strange urls. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * html.c: add html_url_argLars Hjemli2008-10-052-0/+17
| | | | | | | | | | | | This function can be used to properly escape querystring parameter values. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | ui-snapshot.c: specify archiver_args.baselenLars Hjemli2008-10-052-2/+11
|/ | | | | | | | | | The struct member was introduces in git commit d53fe8187c38, but the cgit testsuite failed to detect that cgit always generated archives without prefixes, i.e. the result from cgit_repobasename was ignored. This fixes the bug and the testsuite. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* ui-diff: make diffstat header a link to the full diffLars Hjemli2008-09-231-1/+4
| | | | | | | | When printing a path-filtered diff it wasn't obvious how to get back to the full diff (clicking the 'diff' tab would do this). Making the diffstat heading into a link seems to improve the usability. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* ui-diff: fix links from diffstatLars Hjemli2008-09-231-4/+2
| | | | | | | | | | | The links in the diffstat is supposed to work as a filter for the diff, but this only worked when a single rev was supplied, i.e. the filtered diff was always against the parent of the specified rev. With this patch it is now possible to use the diffstat as a 'filter menu' for urls like http://hjemli.net/git/cgit/diff/?id=v0.7.2&id2=v0.7.1 Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add LDFLAGS to makefile.Harley Laue2008-09-201-1/+1
| | | | | | | | This will allow for creating static builds which is useful for chrooted environments. Signed-off-by: Harley Laue <losinggeneration@gmail.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* ui-repolist: enable filtering of repos by pathLars Hjemli2008-09-151-1/+10
| | | | | | | If a repo url is specified but no exact match is found in the list of repos the url will now be used as a prefix-filter. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add support for --scan-tree=<path> option to cgitLars Hjemli2008-09-154-3/+184
| | | | | | | This option makes cgit scan a directory tree looking for git repositories, generating suitable definitions for a cgitrc file on stdout. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Teach cgit how to use PATH_INFOLars Hjemli2008-09-152-0/+28
| | | | | | | | | | | This commit makes cgit use the cgi variables SCRIPT_NAME and PATH_INFO when virtual-root is unspecified in cgitrc and no url-parameter is specified on the querystring. This has two nice effects: * Virtual urls works out of the box, no more need for rewrite-rules in httpd. * Virtual urls with special querystring characters are handled correctly. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Merge branch 'lh/parsing'Lars Hjemli2008-09-153-64/+101
|\ | | | | | | | | | | * lh/parsing: ui-tag: show the taggers email parsing.c: be prepared for unexpected content in commit/tag objects
| * ui-tag: show the taggers emailLars Hjemli2008-09-151-0/+4
| | | | | | | | | | | | If it's specified there's no point in hiding it. Signed-off-by: Lars Hjemli <hjemli@gmail.com>