| Age | Commit message (Collapse) | Author | Lines |
|
The side-by-side view writes its note as a td.truncated, which the
stylesheet already styles together with the unified view's div, but
only the div's link was underlined.
|
|
The anchors' scroll margin of half the window already centres a line
scrolled to the top of the view, which is where the browser puts a
single line. Asking to centre a range as well centred the margin with
it, and in Chromium, WebKit and Firefox the first line of a range
landed 73% of the way down the window against 49% for a single line.
|
|
getElementsByClassName returns a live collection, so an age moved to
the next unit dropped out of it mid-loop and the age after it was
skipped until the next pass, which can be a day away. On a cached page
that has crossed a unit boundary every second age stayed stale.
querySelectorAll returns a static list of the same elements.
|
|
Nothing passes parse_args an argv, since t0401 imports only
split_cgi_output.
|
|
The release script described a -Wformat-nonliteral run it does not
make, and the development script's header retold the flags below it.
|
|
Its message also spells the project's name as cgit.
|
|
The test rule's note on ordering predates .NOTPARALLEL, which covers
it. The install paths are not compiled in, and a lowercase name is no
easier to override than another.
|
|
CGIT_SCRIPT_PATH and CGIT_DATA_PATH are install paths, read only by the
install and uninstall rules here.
|
|
|
|
|
|
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.
|
|
|
|
|
|
The cache hook named only the age-file hook, from before the
commit-graph hook came.
|
|
|
|
|
|
The preamble above the filters explains lua: and exec:, and the repo.*
filter entries already read "Value is a command."
|
|
|
|
The filter section names about-render.lua and the source-filter itself.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Each config listed every header cgit sends, where only its own nosniff
and strict policy on raw bytes bear on the headers set there. The list
also missed Vary, and the Apache one called Apache a proxy.
|
|
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.
|
|
|
|
|
|
A snapshot's format comes from the suffix of its filename in the path,
not from the query string.
|
|
The nginx sub-path recipe moved only the stylesheet and the logo, and
left the script and the icon pointing at the domain root.
|
|
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.
|
|
The quick start says to uncomment scan-path, and in its old place a
scanned repository missed every setting below it, among them the
filters, the snapshots and the enable flags.
|
|
|
|
|
|
|
|
|
|
A list at the end of the file is easy to miss when a target is added
or renamed.
|
|
Named like build-development.sh, so the two sort together in tools/.
|
|
cgit's objects are compiled by its own rule rather than git's, so they
took no -MJ flag and a compilation database held only git's sources.
|
|
gen-version.sh was only ever run by this one recipe, so tools/ now
holds just the scripts a person runs.
|
|
A blob header's hash and a commit's download names are single words
wider than a phone's content area, so the whole main area scrolled
sideways. The hash may now break anywhere, and below 640px a download
name may too, while wider screens keep each name on one line with its
signature.
|
|
cgit's log, blame and graph pages read commits from the commit-graph
when a repository has one, and its changed path filters let a walk
limited to one file skip the commits that never touched it. git gc
writes a graph only now and then and starts those filters only when a
write asks for them, so the hook writes a split layer with them after
each push.
|
|
The hook cleared every slot on a push to any repository. cgit writes the
request a slot answers at its head, so the hook now reads it back and
drops only the pushed repository's pages and the index. It finds the
repository's url from scan-path or hooks.cgiturl, and with neither it
clears everything as before.
|
|
Each names the branch it was written for and the release current at its
last review, nginx 1.30.6 stable, Apache httpd 2.4.69 and lighttpd
1.4.85, as the projects' own sites listed them on 2026-10-29.
|
|
|
|
DocBook, pod2man and hand written pages leaked roff onto the page: font
escapes inside no fill blocks, comments, layout escapes such as \% and
\c, the colours and half line moves around DocBook's links, and the
requests and macro definitions their preambles open with. Those now
draw nothing, the common named characters and strings render, .EX and
pod2man's .Vb read as code, a .TP tag takes a line of its own and the
alternating font macros switch fonts between their arguments. Anything
rarer still falls back to its text.
|
|
A line of equals signs or dashes under a paragraph now makes a heading
of it, as on GitHub, instead of running into its text, and any other
rule ends the paragraph. Four spaces or a tab start a code block, and an
escaped pipe stays in its table cell. A link opening with two slashes
or backslashes in any mix leads to another site, so it renders as text
like the plain scheme relative one already did.
|
|
cgit takes filter output through a C string sink that stops at the
first NUL, so a readme holding one lost everything after it. Each NUL
now shows as U+FFFD, as a browser would show it.
|