| Age | Commit message (Collapse) | Author | Lines |
|
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.
|
|
|
|
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.
|
|
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.
|
|
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.
|
|
|
|
|
|
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.
|
|
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.
|
|
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.
|
|
|
|
LuaJIT and Lua 5.1 leave print's line in stdio's buffer until cgit
exits, after the end of the page.
|
|
|
|
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.
|
|
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.
|
|
|
|
The advice was only in the v2.11.0 upgrade notes in CHANGE.txt.
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
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.
|
|
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.
|
|
A list keyed on the name the index shows matched nothing, so the
repository it meant to protect stayed public.
|
|
|
|
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.
|
|
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.
|
|
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.
|
|
"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.
|
|
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.
|
|
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.
|
|
|
|
|
|
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.
|
|
section_slash counts the repository's own directory as the first
element back from the end, so "-1" takes nothing above it away.
|
|
|
|
Each takes the form its option name or most of the prose already uses,
as in case-sensitive-sort and side-by-side-diffs.
|
|
The head section loses its capitals too, since HEAD elsewhere in the
manual is git's.
|
|
Names keep their own spelling, so the URL trailer and CGIT_REPO_URL
stay in capitals.
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|