aboutsummaryrefslogtreecommitdiffstats
path: root/cgit.h
Commit message (Expand)AuthorAgeFilesLines
* Merge branch 'lh/binary'Lars Hjemli2009-02-011-1/+3
|\
| * Handle binary files in diffs•••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> Lars Hjemli2009-01-311-1/+3
* | Add support for a custom header•••Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2009-01-291-0/+1
|/
* Merge branch 'lh/stats'•••Conflicts: cgit.c cgit.css cgit.h ui-tree.c Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2009-01-271-0/+3
|\
| * ui-stats: replace 'enable-stats' setting with 'max-stats'•••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> Lars Hjemli2008-12-071-2/+2
| * Add a 'stats' page to each repo•••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> Lars Hjemli2008-12-061-0/+3
* | Merge branch 'full-log'•••Conflicts: cgit.c cgit.h Lars Hjemli2008-12-061-0/+1
|\ \
| * | ui-log: add support for showing the full commit message•••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> Lars Hjemli2008-11-291-0/+1
| |/
* | Merge branch 'lh/sort-repolist'Lars Hjemli2008-12-061-0/+2
|\ \
| * | ui-repolist: implement lazy caching of repo->mtime•••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> Lars Hjemli2008-11-291-0/+1
| * | Add support for sorting by Age in the repolist•••Signed-off-by: Lars Hjemli <hjemli@gmail.com> Benjamin Close2008-11-291-0/+1
| |/
* / Extra cygwin-specific changes•••Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk> Signed-off-by: Lars Hjemli <hjemli@gmail.com> Ramsay Jones2008-12-031-6/+0
|/
* Add cgit_query.nohead flag•••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> Lars Hjemli2008-10-111-0/+1
* Teach cgit how to use PATH_INFO•••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> Lars Hjemli2008-09-151-0/+1
* parsing.c: be prepared for unexpected content in commit/tag objects•••When parsing commits and tags cgit made too many assumptions about the formatting of said objects. This patch tries to make the code be more prepared to handle 'malformed' objects. Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2008-09-151-1/+1
* Merge branch 'lh/plain'•••* lh/plain: Supply status description to html_status() ui-tree: link to plain view instead of blob view Implement plain view Lars Hjemli2008-09-011-0/+1
|\
| * Implement plain view•••This implements a way to access plain blobs by path (similar to the tree view) instead of by sha1. Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2008-08-061-0/+1
* | Add atom-support•••This enables a page which generates atom feeds for the current branch and path, heavily inspired by the atom-support in gitweb. Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2008-08-011-0/+1
|/
* Added `local-time` option to cgitrc•••When `local-time` is set, commit, tag and patch timestamps will be printed in the servers timezone. Also, regardless of the value of `local-time`, these timestamps will now always show the timezone. Signed-off-by: Stefan Naewe <stefan.naewe@atlas-elektronik.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com> Stefan Naewe2008-08-011-1/+2
* Add a favicon option to cgitrc•••This option is used to specify a shortcut icon on all cgit pages. Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2008-07-191-0/+1
* Add support for including a footer on all pages•••The new cgitrc option `footer` can be used to include a html-file which replaces the standard 'generated by cgit' message at the bottom of each page. Suggested-by: Peter Danenberg <pcd@wikitex.org> Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2008-06-261-0/+1
* allow specification of directly linked blobs mimetypes•••Signed-off-by: Michael Krelin <hacker@klever.net> Michael Krelin2008-06-241-0/+1
* Add a pager on the repolist•••This enables a pager on the repolist which restricts the number of entries displayed per page, controlled by the new option `max-repo-count` (default value 50). Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2008-05-031-0/+1
* Merge branch 'lh/cache'•••* lh/cache: Add page 'ls_cache' Redesign the caching layer Lars Hjemli2008-05-031-0/+1
|\
| * Redesign the caching layer•••The original caching layer in cgit has no upper bound on the number of concurrent cache entries, so when cgit is traversed by a spider (like the googlebot), the cache might end up filling your disk. Also, if any error occurs in the cache layer, no content is returned to the client. This patch redesigns the caching layer to avoid these flaws by * giving the cache a bound number of slots * disabling the cache for the current request when errors occur The cache size limit is implemented by hashing the querystring (the cache lookup key) and generating a cache filename based on this hash modulo the cache size. In order to detect hash collisions, the full lookup key (i.e. the querystring) is stored in the cache file (separated from its associated content by ascii 0). The cache filename is the reversed 8-digit hexadecimal representation of hash(key) % cache_size which should make the filesystem lookup pretty fast (if directory content is indexed/sorted); reversing the representation avoids the problem where all keys have equal prefix. There is a new config option, cache-size, which sets the upper bound for the cache. Default value for this option is 0, which has the same effect as setting nocache=1 (hence nocache is now deprecated). Included in this patch is also a new testfile which verifies that the new option works as intended. Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2008-04-281-0/+1
* | Prepare for 'about site' page / add 'root-readme' option to cgitrc•••The new option names a file which will be included on a new page, next to the current 'index' page. Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2008-04-291-0/+1
* | Re-enable 'index-info' and add support for 'root-desc' in cgitrc•••The 'index-info' option got lost when the layout was converted from sidebar to old-fashioned header (noticed by Harley Laue, thanks!), and this commit re-enables it. But there is now also an alternative in the 'root-desc' option; where 'index-info' specifies a file to include, 'root-desc' specifies the text literally. This might be nicer for the one-liner descriptions which these options typically provides. Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2008-04-291-0/+1
|/
* Make repository search case insensitive•••This reuses the strcasestr() compiled or linked by libgit.a to implement a case insensitive variation of the repository search. Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2008-04-131-0/+7
* Move cgit_parse_query() from parsing.c to html.c as http_parse_querystring()•••This is a generic http-function. Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2008-04-081-2/+0
* Move function for configfile parsing into configfile.[ch]•••This is a generic function which wanted its own little object file. Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2008-03-281-1/+0
* Add cache.h•••The functions found in cache.c are only used by cgit.c, so there's no point in rebuilding all object files when the cache interface is changed. Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2008-03-271-14/+0
* Remove global and obsolete cgit_cmd•••This variable was obsoleted by cmd.c. Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2008-03-251-1/+0
* Move non-generic functions from shared.c to cgit.c•••Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2008-03-241-3/+1
* Add ui-shared.h•••This is finally a proper headerfile for the shared ui-functions which used to reside in cgit.h Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2008-03-241-32/+0
* Add separate header-files for each page/view•••Yet another step towards removing cgit.h. Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2008-03-241-17/+0
* Refactor snapshot support•••The snapshot support needs to be split between output- and config-related functions to get the layering between shared.c and ui-*.c right. There is also some codestyle-issues which needs fixing to make the snapshot functions more similar to the rest of the cgit code. Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2008-03-241-0/+8
* Add command dispatcher•••This simplifies the code in cgit.c and makes it easier to extend cgit with new pages/commands. Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2008-03-241-14/+0
* Remove obsolete cacheitem parameter to ui-functions•••This parameter hasn't been used for a very long time... Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2008-03-241-6/+6
* Add struct cgit_page to cgit_context•••This struct is used when generating http headers, and as such is another small step towards the goal of the whole cleanup series; to invoke each page/view function with a function pointer. Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2008-03-241-5/+13
* Introduce html.h•••All html-functions can be quite easily separated from the rest of cgit, so lets do it; the only issue was html_filemode which uses some git-defined macros so the function is moved into ui-shared.c::cgit_print_filemode(). Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2008-03-181-14/+1
* Move cgit_repo into cgit_context•••This removes the global variable which is used to keep track of the currently selected repository, and adds a new variable in the cgit_context structure. Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2008-02-161-6/+6
* Add all config variables into struct cgit_context•••This removes another big set of global variables, and introduces the cgit_prepare_context() function which populates a context-variable with compile-time default values. Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2008-02-161-35/+37
* Introduce struct cgit_context•••This struct will hold all the cgit runtime information currently found in a multitude of global variables. The first cleanup removes all querystring-related variables. Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2008-02-161-14/+21
* Add plain patch view•••The new view mimics the output from `git format-patch`, making it possible to cherry-pick directly from cgit with something like `curl $url | git am`. Inspired by a patch to `git-apply` by Mike Hommey: http://thread.gmane.org/gmane.comp.version-control.git/67611/focus=67610 Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2007-12-111-0/+2
* Add support for automatic and custom clone urls•••This adds support for two new parameters to cgitrc: clone-prefix and repo.clone-url. If clone-prefix is specified, all repos will get a clone url printed in the sidebar; the url is generated by clone-prefix + repo.url. Additionally, each repo can specify repo.clone-url which will override any such auto-generated url. Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2007-12-031-0/+2
* Add support for "robots" meta-tag•••With this change, cgit will start to generate the "robots" meta-tag, using a default value of "index, nofollow". The default value can be modified with a new cgitrc variable, "robots". Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2007-11-111-0/+1
* Use utf8::reencode_string from git•••This replaces the iconv-support in cgit with similar functions already existing in git. Signed-off-by: Lars Hjemli <hjemli@gmai.com> Lars Hjemli2007-11-051-0/+1
* Add commit->msg_encoding, allocate msg dynamicly.Jonathan Bastien-Filiatrault2007-11-051-0/+6
* Add search parameters to cgit_log_link•••This makes the [prev] and [next] links work correctly on search results. Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2007-11-031-1/+2
* Change the cgit layout•••This modifies and hopefully improves the layout of all cgit pages: * Remove the header from all pages and replace it with a sidebar; most pages have sufficient width but many needs more height. * Add a dropdown-box to switch between branches, using a one-liner javascript to reload the current page in context of the selected branch. * Include refs found below refs/archives in the sidebar, appearing as a set of menuitems below a 'download' heading. * Include the brand new cgit logo Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2007-10-301-0/+2