| Age | Commit message (Collapse) | Author | Lines |
|---|---|---|---|
| Move the mimetype lookup into ui-plain.c | Bryce Kwon | -52/+50 | |
| Move the ref list code into ui-refs.c | Bryce Kwon | -88/+85 | |
| Move the die wrappers into filter.c | Bryce Kwon | -34/+30 | |
| Drop the hidden form fields' unused page argument | Bryce Kwon | -6/+6 | |
| Leave the log's history simplification to git | Bryce Kwon | -1/+0 | |
| Spell the version banner cgit | Bryce Kwon | -1/+1 | |
| Build a literal pathspec in one place | Bryce 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 place | Bryce 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 alone | Bryce Kwon | -22/+21 | |
| Spell the signature suffix once for both files | Bryce Kwon | -4/+5 | |
| Drop ui-blob's constant file_only arguments | Bryce Kwon | -13/+13 | |
| Keep a commit's encoding local to its parser | Bryce Kwon | -11/+11 | |
| Keep the query string parser beside its one caller | Bryce Kwon | -19/+17 | |
| Drop cgit_read_first_line's unread size output | Bryce Kwon | -9/+5 | |
| Write the repository list's description link inline | Bryce Kwon | -24/+4 | |
| Return nothing from html_include | Bryce 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 calls | Bryce Kwon | -51/+37 | |
| Sort with git's QSORT | Bryce 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 xstrfmt | Bryce Kwon | -30/+15 | |
| Let go of a slot lock that cannot take its key | Bryce 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 log | Bryce 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 flock | Bryce 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-exec | Bryce 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 place | Bryce Kwon | -6/+4 | |
| Build cgit_ensure_end's copy in one expression | Bryce Kwon | -9/+1 | |
| Leave the zeroed repository fields to the memset | Bryce Kwon | -3/+0 | |
| Grow the repository and ref lists with ALLOC_GROW | Bryce Kwon | -24/+6 | |
| Join a diff line's pieces within one call | Bryce 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 name | Bryce Kwon | -5/+3 | |
| Explain the encoded ampersand and plus at the table | Bryce Kwon | -6/+5 | |
| Map the markup characters to entities in one place | Bryce Kwon | -28/+34 | |
| Keep the permission triplet beside its one caller | Bryce Kwon | -13/+8 | |
| Keep the clone row and title docs in the header | Bryce Kwon | -11/+15 | |
| Keep three helpers beside their only callers | Bryce Kwon | -62/+62 | |
| Build cgit_date_mode's result on the stack | Bryce Kwon | -2/+1 | |
| Write the meta description in one place | Bryce Kwon | -6/+4 | |
| Read a title's path from the end with strrchr | Bryce Kwon | -20/+7 | |
| Trim trailing slashes with git's strbuf helper | Bryce Kwon | -12/+4 | |
| Build the full current url from the current url | Bryce Kwon | -8/+3 | |
| Fold the va_list error page into its one caller | Bryce Kwon | -13/+4 | |
| Ask head_is_named before carrying the branch | Bryce Kwon | -1/+1 | |
| Let self_link's fallback be a plain reporevlink | Bryce Kwon | -8/+2 | |
| Escape a submodule link's class like the others | Bryce Kwon | -6/+6 | |
| Open site and repository links through one helper | Bryce Kwon | -24/+17 | |
| Write each query argument through one helper | Bryce Kwon | -49/+30 | |
| Return repolink's delimiter without copying it | Bryce Kwon | -1/+1 | |
| Drop the query-string form of every link | Bryce Kwon | -86/+31 | |
| cgit falls back to SCRIPT_NAME for virtual_root whenever cgitrc leaves it out, so the ?url= and ?r= forms only ever reached an error page raised while cgitrc was still being read. The page argument of cgit_add_hidden_formfields fed only the url field, so it is unused until its callers stop passing it. | |||
| Stop leaking the host on an embedded page | Bryce Kwon | -3/+3 | |
| Stop leaking the short hash of an object link | Bryce Kwon | -7/+4 | |
| Trim a snapshot name without reading out of bounds | Bryce Kwon | -29/+12 | |
| For a url of .git, or an empty one, repo_basename stepped its index to the byte before its buffer, read it, and would have cleared it had it held a slash. Git's strbuf trims take the same steps safely, and they lift the 1024-byte cap that failed the page for a longer url. | |||
