AgeCommit message (Collapse)AuthorLines
Test a cache-max-slot-size of 0 and belowBryce Kwon-2/+3
No test set either value, so a size check that took 0 as a limit of no bytes, or a parser that ignored such a value, passed. Under the 64 MB default an ignored value still keeps the big page, so each one follows a limit the page is past.
Say logins need virtual-root to be a pathBryce Kwon-1/+3
Report a max-stats value that names no periodBryce Kwon-2/+3
A value cgit does not know as a period turns the statistics page off, so a typo such as "decade" read the same as leaving stats off on purpose. The empty value stays quiet because a cached repolist writes it for a repository that turned stats off.
Hold the mailmap to max-blob-sizeBryce Kwon-3/+5
git's read_mailmap_blob inflates the whole blob, so a pusher could make every page of a repository read as much as they liked. git reads a note and the .gitmodules file whole as well, and capping those would mean bounding the lookups where the log, commit and tree pages make them, so the manual names them instead. Nothing tested that mailmap.file and mailmap.blob are ignored either.
Say the message and description limits count bytesBryce Kwon-7/+7
The code has always measured both in bytes, and the tests pin that, so the entries change rather than the behaviour. A limit of 10 shows three of a nine character description in Japanese.
List the manual's sections at the topBryce Kwon-0/+12
Say where the commit-filter appliesBryce Kwon-2/+5
State which section a scanned repository takesBryce Kwon-4/+8
add_repo reads the git config before it applies section-from-path, and the repository's cgitrc after both. A repository too shallow for the count takes no section from its path and keeps its gitweb.category.
Point the ordered log at the commit-graph hookBryce Kwon-2/+8
Without generation numbers, git can sort the log topologically only after walking the whole history. On a 20,000-commit scratch repository the graph and both commit-sort orders took the log page from 5 ms to between 56 and 64 ms, and the split graph post-receive.commit-graph writes brought all three back to 5 ms.
Note what the log's count columns costBryce Kwon-4/+7
On a scratch repository with 400-line files, the line count took a 50-row log from 5 ms to 38 ms, while the file count alone added 3 ms. A commit-graph file changes neither, since the diffs read trees and blobs rather than commits.
Note what blame of a long file costsBryce Kwon-2/+4
Put a Lua filter's print output where it runsBryce Kwon-0/+3
LuaJIT and Lua 5.1 leave print's line in stdio's buffer until cgit exits, after the end of the page.
Report a snapshot format name that matches nothingBryce Kwon-1/+4
Leave the scan uncached with a negative cache-sizeBryce Kwon-3/+4
The page cache counts a cache-size of 0 or less as off, but scan-path cached its list for any value other than 0, so a negative one still wrote a list into cache-root.
Say which trailers the shipped filter linksBryce Kwon-4/+5
link-trailers.lua has shipped its Closes and Bug rules commented out since b4e780a, as they need a tracker address, but both docs still promised those links.
Use https in the clone-url exampleBryce Kwon-1/+1
Warn against one cache-root shared over NFSBryce Kwon-3/+5
The advice was only in the v2.11.0 upgrade notes in CHANGE.txt.
Define the cache slotBryce Kwon-3/+7
Say what an embedding page has to supplyBryce Kwon-2/+9
Say that cached pages outlive a cgitrc editBryce Kwon-0/+4
Warn that a repository listed twice shows twiceBryce Kwon-1/+3
Say what 0 and negative values doBryce Kwon-21/+32
The entries disagreed on what 0 means, a limit lifted for max-message-length but a description reduced to an ellipsis for max-repodesc-length, and most did not say at all.
Point global entries at their repo.* formsBryce Kwon-15/+18
Say strict-export applies only to a scanBryce Kwon-1/+3
Say which settings must precede scan-pathBryce Kwon-4/+7
State once that cgitrc is read in orderBryce Kwon-0/+8
The rule was written down only under scan-path, so a setting such as enable-blame=1 added at the end of cgitrc silently did nothing.
List a theme after cgit.cssBryce Kwon-3/+6
Any css or js line replaces the default rather than adding to it, so a theme set with a single css line, as the README implied, left every page unstyled.
Say the auth filters match a repository's urlBryce Kwon-1/+3
A list keyed on the name the index shows matched nothing, so the repository it meant to protect stayed public.
Dump only the first 64 KB of a binary fileBryce Kwon-2/+4
Link snapshots of a slash ref by a dashed nameBryce Kwon-2/+3
The snapshot page refuses to work a revision out of a name holding a slash, since that name becomes the top directory of the archive, so every link for a ref like release/2.0 answered 404. The ref now goes in the link as the id, and the archive unpacks into the repository's own prefix, as any snapshot asked for by id does.
Log the path of a repository that will not openBryce Kwon-1/+3
The 404 page names only the repository and nothing reached the log, so a mistyped repo.path left no trace of the path cgit had tried.
Read the description file without repo.descBryce Kwon-4/+4
Only a scanned repository fell back to its description file, so one listed in cgitrc without repo.desc showed "[no description]" however its file read. repo.desc may follow repo.path, so the file is read where a page shows the description, which also spares every other request the reads.
Keep a scan with a negative ttl for goodBryce Kwon-2/+4
"The cache" promises that a negative ttl never expires, but no age was ever below a negative cache-scan-ttl, so every request started a background rescan.
List scanned repositories in path orderBryce Kwon-4/+8
readdir hands entries back in whatever order the filesystem keeps them, so proj111 could come before proj105 and a section could start twice. section-sort is off by default to keep the order written in cgitrc, and a scan has none to keep.
Key the cached scan on every setting it usesBryce Kwon-3/+5
Two cgitrc files sharing a cache-root read one list, so strict-export and trust-scan-config set in one applied to the other, and a changed setting stayed stale until the list expired. The first request after an upgrade scans again, and the files under the old names are never read.
Name every page max-blob-size coversBryce Kwon-3/+5
Spell CSS and JavaScript as cgitrc doesBryce Kwon-4/+4
Describe the cache's scan files and its lockingBryce Kwon-7/+13
The background rebuild points its stderr at /dev/null so the web server does not wait on it, which is why its failures never reach the log.
Correct what a negative section-from-path dropsBryce Kwon-2/+3
section_slash counts the repository's own directory as the first element back from the end, so "-1" takes nothing above it away.
Name module-link.<path> among the guarded keysBryce Kwon-5/+5
Write five compound terms one way in the docsBryce Kwon-7/+7
Each takes the form its option name or most of the prose already uses, as in case-sensitive-sort and side-by-side-diffs.
Spell HTML in capitals as most of the docs doBryce Kwon-4/+4
The head section loses its capitals too, since HEAD elsewhere in the manual is git's.
Spell url the way the tree mostly doesBryce Kwon-7/+7
Names keep their own spelling, so the URL trailer and CGIT_REPO_URL stay in capitals.
Trim the trailer and cache-list entriesBryce Kwon-7/+4
The commit page finds the trailer block with git's own parser, and the entry's retelling of git's rule left out the cherry-pick lines.
Leave the mime.types format to its own docsBryce Kwon-4/+1
Quote every name under See alsoBryce Kwon-11/+14
End each MANUAL entry with its defaultBryce Kwon-41/+41
Trim the enable-http-clone entryBryce Kwon-12/+6
Say once which variables a macro can nameBryce Kwon-9/+5
Name the guarded settings in one placeBryce Kwon-4/+1