AgeCommit message (Collapse)AuthorLines
Make two branch conditions say what they rely onBryce Kwon-1/+1
cgit_parse_url tested ctx.repo where the loop sets repo_end alongside it, and the log's closing link kept a commit it never read. Clang's analyzer tripped on both.
Page a followed log by the name asked forBryce Kwon-5/+6
Each row of a followed log moves ctx.qry.vpath to the name its commit knew the file by, and the pager built its links from that, so past a rename both links named the old file and led to an empty page.
Show the root commit in a followed logBryce Kwon-13/+12
A followed log diffs each commit against its parent to learn whether the file changed there, and a root commit was skipped rather than diffed against the empty tree, so a file created in the first commit never showed that commit.
Hold object sizes in size_t as git 2.55 doesBryce Kwon-2/+2
Git 2.55 moved object sizes from unsigned long to size_t. The two are the same type on 64-bit hosts, but not on a 32-bit one, where GCC 14 rejects the mismatched pointers, so cgit stopped compiling there.
Pass callbacks to git by addressBryce Kwon-1/+3
ISO C has no conversion between a function pointer and void *, so the callbacks handed through git's data pointers and the write found by dlsym stopped the pedantic half of a DEVELOPER=1 build.
Add stable markup hooks for site themesBryce Kwon-19/+22
Harden the page renderersBryce Kwon-26/+71
Apply the mailmap at HEAD to every identBryce Kwon-0/+2
Clean up the whole treeBryce Kwon-76/+49
Trim the comments and dead code across the treeBryce Kwon-10/+8
Use standard HTTP reason phrasesBryce Kwon-1/+1
Replace non-ASCII output glyphs with ASCIIBryce Kwon-6/+5
Log scan lock failures that are not contentionBryce Kwon-1/+1
Tidy the structure of the generated markupBryce Kwon-1/+1
Omit the pager on a single log pageBryce Kwon-3/+7
Give the stub and tag rows their full widthBryce Kwon-3/+7
Let the listings wrap and the diff tables scrollBryce Kwon-1/+1
Restyle the sources and fix the audit's findingsBryce Kwon-233/+274
Settle the names, types and layout of the sourcesBryce Kwon-4/+4
Declutter the interface on small screensBryce Kwon-6/+6
Point the fork's links and credits at itselfBryce Kwon-1/+1
AUTHORS now records the upstream developers as the project's history rather than as maintainers of the fork.
Reject option-like revisions in the log walkBryce Kwon-0/+12
The log page passed the `id` query parameter to git's revision parser without resolving it and ahead of the end-of-options marker. A value like `id=--output=/path` was then parsed as an option, so an unauthenticated request could create or truncate any file the server user could write. No valid ref or object name begins with a dash.
Cast signed chars before ctype callsBryce Kwon-2/+2
A plain char is undefined in the ctype functions for negative values, which a high byte produces wherever char is signed.
Reorganize into source, assets and librariesBryce Kwon-0/+553
The C sources move to source/, the served files to assets/, the bundled Git submodule to libraries/git and the filter scripts to extensions/. Everything the build generates now lands in build/, so a clean is a single remove and the tree stays clean.