AgeCommit message (Collapse)AuthorLines
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
Point repo overrides at their global entriesBryce Kwon-15/+5
Leave the filter contracts to the Filter APIBryce Kwon-35/+26
Each global filter entry restated the arguments and the stdin and stdout contract that "Filter API" gives in full. commit-filter and email-filter now name their shipped filters, as the others do.
Describe project-list as the file it namesBryce Kwon-1/+1
Say which versions enable-version-info namesBryce Kwon-2/+2
Only the footer carries the git version. The reason the versions stay out by default is left to MANUAL, which already gives it.
Document virtual-root's default of SCRIPT_NAMEBryce Kwon-3/+3
cgit falls back to SCRIPT_NAME followed by a slash when virtual-root is unset, so its links always take the path form and none take the ?url= form the docs described.