| Age | Commit message (Collapse) | Author | Lines |
|
The old file was a complete nginx.conf with TLS, compression, catch-all
hosts and security headers, and it had to be taken apart before it ran
beside a distribution's own nginx.conf. A server block included from
the http block leaves the user, the MIME types and the logs to the
distribution. Its header gives one default path per thing, adjusted
where a system differs, which leaves packagers a plain base to adapt
rather than a table for each distribution.
HTTPS and git-http-backend are commented examples, so the file serves
plain HTTP as shipped. The backend takes only the three smart HTTP
paths at cgit's own repository urls, so every page still reaches cgit.
git refuses a repository another user owns, which failed every clone
until safe.directory was set for the backend, and a 3 MB push got 413
until the location lifted nginx's body limit.
The split empties SCRIPT_NAME because a second SCRIPT_NAME after the
include reaches fcgiwrap as well, and cgit reads the first one, which
put every link under the request path.
cgit sends nosniff and a locked policy on raw output itself, so the
configs no longer carry one. The t0004 check that all three agree goes
here, with the first of them to drop it.
|
|
|
|
|
|
Without one a repository has no about tab and its about url redirects
to the summary, so a site that sets only about-filter never sees the
renderer run.
|
|
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.
|
|
It scrolls sideways like the hex dump, with nothing inside a keyboard
can reach, so it takes focus and the shared focus ring the same way.
|
|
|
|
Chrome and Firefox already let an overflowing box take focus, with
their own ring, but WebKit does not. The table takes focus on a mouse
click as well, where focus-visible keeps the ring off.
|
|
The file view's table only sets the line numbers beside the code, and
the unified diff's is a single cell holding every file.
|
|
|
|
|
|
|
|
LuaJIT and Lua 5.1 leave print's line in stdio's buffer until cgit
exits, after the end of the page.
|
|
|
|
cgit.conf was read only after Git's Makefile, which had already settled
NO_REGEX and the other options it tests as it read them, so setting one
there changed nothing in Git's part of the build. The second read stays
for the defaults Git assigns outright, such as CC and CFLAGS. A "+="
there now appends twice to a variable nothing resets in between, such
as CGIT_CFLAGS, which only repeats the flag.
|
|
|
|
A scanned repository is read back from the cached list under the global
settings, so a setting that only differed from them by being off, or by
naming the default value, came back as the global one. branch-sort was
written only for age, per-path module links not at all, and a filter a
repository turned off left no line behind.
Writing an empty value for a filter turned off makes the list depend on
whether each global filter is set, so the scan key names that too.
|
|
The cached list wrote "[no description]" like any other description,
so once read back it no longer counted as the placeholder and became
the meta description of every repository without one. Repositories
read back from the list are also marked as having had their
description file read, since the scan already did, so the index does
not open those files again on every request.
|
|
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 header asked for write access for the pushing user, but MANUAL.txt
keeps the cache root at mode 0700 for the web server and cgit writes
its slots at 0600, so a pusher could at best drop every page rather
than only its own.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Without the trailing slash the rules also matched any path segment that
starts with blame or snapshot, such as /repo/tree/blame.c. Every link
cgit makes to the two pages ends the name with a slash.
|
|
Debian, Ubuntu, Fedora and Alpine package luaossl, luaposix and lpeg
for the Lua versions they ship, which leaves LuaRocks for the rest.
Scintillua comes as a release zip whose lexers directory is what the
filter looks for, so its steps say where to put that.
|
|
|
|
The login posts outside any repository, so the log line names the
repository by the page its signed way back leads to.
|
|
Only HTTPS=on counts, the same test cgit makes before it writes an
https link of its own.
|