| Age | Commit message (Collapse) | Author | Lines |
|
|
|
|
|
The table already records what each page needs, and a second list of
page names in cgit.c had to be kept in step with it by hand.
|
|
|
|
Summary, about, log, refs, tag and stats pages shared one title, so
tabs, history and search results could not tell them apart. Titles now
read page, repository and site, with root-title as the site, and the
description stays in the meta description, where search engines read
it.
|
|
The ref rows always spanned five columns and the log three to five, so
with the default config the log and clone rows stopped 160px short of
the table's edge, and with any config the log rows did on a phone,
where they alone lost their counts. A column no cell began in also
made the summary and refs pages invalid HTML.
|
|
The about page served every file beside the readme as a page of its
own, through the about filter, and answered 200 for directories and
missing files alike. Images it passed through came from the root of the
default branch whatever the readme's own directory and ref. A readme on
disk exposed its whole directory this way.
|
|
The hop to the trailing-slash form of the about page, and the hop back
to the summary of a repository without a readme, were built from the
path alone, so a request for the about page of another branch landed
on the default one. The query goes into the Location line as the
client sent it, with any byte a header cannot carry percent-encoded.
|
|
The dumb transport reads files that already sit on the disk, so a pack
copied into a slot cost that disk twice and the request a second write
of every byte. A snapshot took a slot whatever its size, so a visitor
naming distinct refs and ids could fill the cache root with archives.
cache-max-slot-size, 64 MB unless set, now serves a larger response from
the lock file and drops it, along with any expired copy it would have
replaced.
|
|
|
|
|
|
A max-stats period enables the page again, as it did before v2.2.0, so
one key does both jobs.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The max-stats setting now only bounds the selectable periods and no
longer doubles as the enable switch.
The tree walk runs before the history walk on purpose. Releasing commit
memory while walking history resets each commit slab index, and a commit
graph lookup afterwards would read another commit slot and walk the
wrong tree. The stats fixture writes a commit graph so the tests cover
that path. The history walk bounds the window in process rather than
passing a formatted since date to setup_revisions, and parses each
commit once.
|
|
|
|
AUTHORS now records the upstream developers as the project's history
rather than as maintainers of the fork.
|
|
trim_end() returns NULL when a repo url is empty or all slashes, and the
later newline trim dereferenced it. The legacy r= and p=about path also
read the last byte of the url without checking it was set.
|
|
The ls_cache page printed the cache directory path and the urls other
visitors had requested, with no gate at all.
|
|
Everything the build generates now lands in build/, so a clean is a
single remove and the source tree stays free of build output.
|