| Commit message (Collapse) | Author | Age | Lines |
... | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Normally when html_include cannot open the file it fails silently and
things can be a bit hard to figure out from just looking at apache's
log. This will be beneficial for those initially setting up their server
with cgit.
Signed-off-by: Harley Laue <losinggeneration@aim.com>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* lh/about:
Add 'about site' and 'about repo' pages
Prepare for 'about site' page / add 'root-readme' option to cgitrc
Make it possible for a single cmd to work both with and without a repo
Re-enable 'index-info' and add support for 'root-desc' in cgitrc
Move included header-file out of repolist table
Prepare for 'about repo' page
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This commit uses the options and changes from the last few commits to
implement a new 'about' command which works both with and without a
repo.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When cgit_cmd.want_repo was 0, we used to assume that the cmd would never
be invoked for a repo. But soon this will become untrue (the 'about' cmd
is rapidly approching), so from now on we will initialize any requested
repo even if want_repo==0 (and return an error if want_repo==1 but no repo
is specified).
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When the 'index-header' option is specified in cgitrc we used to print
the included file content inside the repolist table, which is bad style.
This commit makes the included file be printed before the table.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
|/ /
| |
| |
| |
| |
| |
| | |
Each repo can include an external file which used to be included on the
top of the summary page, but it will now soon get a page of it own.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
| |
| |
| |
| |
| |
| |
| | |
By removing the test for commit objects it's now possible to specify a
tag name for the id query-string parameter (it already worked for id2).
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
|/
|
|
|
|
|
|
| |
This creates a generic diffstat function in ui-diff, which then is
invoked from cgit_print_diff with the result that both commit and diff-
view gets a diffstat.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
|
|
|
|
|
|
|
|
| |
Someone were a bit sloppy when the commitdiff got included 'inline' in
commit 89aa3c0d0a4c6d9885272602005975b763ea1604. This patch deletes a
stray `)` and makes sure the diffstat summary `<div>` is closed before
the full diff is printed.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
|
|
|
|
|
| |
Fix some invalid html, remove dead code.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
|
|
|
|
|
|
| |
The repository index page needed to include the querystring in the cache
filename.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
|
|
|
|
|
| |
Less mouse movement is nice.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
|
|
|
| |
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
|
|
|
| |
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
|
|
|
|
|
|
|
| |
According to the css2 spec, htmlforms have 1.12em top and bottom margins. That
doesn't play well with the placement of the search form, so lets force it to
use 0em margins.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
|
|
|
|
|
|
| |
When the sidebar was introduced in v0.7 the default font-family property
got messed up, but this commit should fix the issue.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* lh/layout:
Make repository search case insensitive
Remove 'patch' link from tab, add to commit view
Implement minimal freetext search in the repolist
More layout fixes
Minor fixup in tree-view css
Reintroduce the branch switcher
Add fixed link to index page from repo header
Include diff in commit view
Replace sidebar/logo
|
| |
| |
| |
| |
| |
| |
| | |
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>
|
|