| Age | Commit message (Collapse) | Author | Lines |
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
Only the footer carries the git version. The reason the versions stay
out by default is left to MANUAL, which already gives it.
|
|
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.
|