AgeCommit message (Collapse)AuthorLines
Find Lua under the BSDs' package namesBryce Kwon-1/+4
Keep the repository title in one static bufferBryce Kwon-2/+6
Free the revision walks' arguments and stateBryce Kwon-6/+13
Spell non-zero the way the rest of the tree doesBryce Kwon-1/+1
Drop a query value check that cannot fireBryce Kwon-3/+0
Check a ref path without copying itBryce Kwon-10/+4
Share one lock-file helper between the cachesBryce Kwon-64/+58
Keep the script name local to prepare_contextBryce Kwon-5/+1
Print line number anchors through one helperBryce Kwon-39/+31
Print the commit and tag dates through one helperBryce Kwon-10/+21
Print each person through one helperBryce Kwon-44/+30
The log, refs and tag pages no longer open a filter of their own, so they stop including filter.h.
Refuse pathspec magic through one helperBryce Kwon-21/+19
Start each history walk through one helperBryce Kwon-18/+20
Order shared.c the way shared.h declares itBryce Kwon-147/+144
The header's blob and pathspec checks move after the diff wrappers so each group reads as one, and each static helper now sits directly above its only user.
Free commit and tag records beside their parsersBryce Kwon-34/+30
With the frees gone from shared.h, five page files need nothing else from it, so they stop including it.
Keep the cache's trailing slash helper in cache.cBryce Kwon-10/+12
Move cgit.c's own helpers out of shared.cBryce Kwon-86/+78
Move the mimetype lookup into ui-plain.cBryce Kwon-52/+50
Move the ref list code into ui-refs.cBryce Kwon-88/+85
Move the die wrappers into filter.cBryce Kwon-34/+30
Drop the hidden form fields' unused page argumentBryce Kwon-6/+6
Leave the log's history simplification to gitBryce Kwon-1/+0
Spell the version banner cgitBryce Kwon-1/+1
Build a literal pathspec in one placeBryce Kwon-62/+35
Git's pathspec item holds a const string now, so a path needs no writable copy to be matched.
Look up a request's commit in one placeBryce Kwon-88/+56
The diff page now names a revision that is no commit the way the request wrote it, as the other pages already did, rather than as the full id it resolved to. The helpers sit beside the error page in ui-shared.c, since shared.c prints nothing.
Count the log's columns in ui-log.c aloneBryce Kwon-22/+21
Spell the signature suffix once for both filesBryce Kwon-4/+5
Drop ui-blob's constant file_only argumentsBryce Kwon-13/+13
Keep a commit's encoding local to its parserBryce Kwon-11/+11
Keep the query string parser beside its one callerBryce Kwon-19/+17
Drop cgit_read_first_line's unread size outputBryce Kwon-9/+5
Write the repository list's description link inlineBryce Kwon-24/+4
Return nothing from html_includeBryce Kwon-15/+4
No caller reads the result, and a void html_include fits the Lua binding's callback as it is, so the wrapper that dropped it goes too.
Open and close each page through the layout callsBryce Kwon-51/+37
Sort with git's QSORTBryce Kwon-21/+9
QSORT skips a list of fewer than two entries, so an empty list's null base never reaches qsort, which is what cgit_qsort was written for.
Allocate formatted strings with git's xstrfmtBryce Kwon-30/+15
Let go of a slot lock that cannot take its keyBryce Kwon-0/+3
A failed truncate or key write returned with the descriptor still open, so the lock was held while the page rendered uncached and the file was left behind. It is removed before its last close, as every holder does.
Keep lock contention out of the error logBryce Kwon-11/+25
process_slot logged every failure to lock, so each request that found its slot being filled left a line, while refresh_slot logged none, so an expired slot in a directory the server cannot write was served stale for good without a word. lock_slot now logs the step that failed, as the scan does, and leaves out only another request at work.
Lock the cached repolist with flockBryce Kwon-9/+4
The slot lock has to be an flock, since an exec filter drops a record lock when it closes the stdout a fill writes through. The scan only got by with fcntl because nothing reopens its file while it runs. One kind of lock lets the two share their code, and on Linux, where the kinds never see each other, an flock on the scan's file now holds a scan off like any other.
Open the lock files close-on-execBryce Kwon-2/+4
Each exec filter and snapshot compressor a fill runs inherited the slot's lock descriptor beside the stdout it writes into. An flock lasts until its last copy closes and nothing waits for a process a filter leaves behind, so a fill killed before its rename could leave the slot locked, and served stale or uncached, for as long as such a process lived. The scan holds its lock across no exec and opens the same way so that the two stay alike.
Declare the repository variables' struct in placeBryce Kwon-6/+4
Build cgit_ensure_end's copy in one expressionBryce Kwon-9/+1
Leave the zeroed repository fields to the memsetBryce Kwon-3/+0
Grow the repository and ref lists with ALLOC_GROWBryce Kwon-24/+6
Join a diff line's pieces within one callBryce Kwon-32/+8
Xdiff hands out_line a whole line each time, as the prefix, the record and any no-newline marker, and the fragment was already flushed before the call returned, so nothing ever carried over to the next call.
Cut two comments that repeat the header or a nameBryce Kwon-5/+3
Explain the encoded ampersand and plus at the tableBryce Kwon-6/+5
Map the markup characters to entities in one placeBryce Kwon-28/+34
Keep the permission triplet beside its one callerBryce Kwon-13/+8
Keep the clone row and title docs in the headerBryce Kwon-11/+15