| Age | Commit message (Collapse) | Author | Lines |
|
|
|
|
|
|
|
|
|
The about check already finds the div right before the filtered text, so
its copy went, and the tree page is flattened where it was first read.
|
|
|
|
|
|
The trash directory starts empty and setup.sh already made the cache, the
clamp check already fails on a short query, and the commit the setup
named is still there to pin.
|
|
t0103 already renders foo/log and finds commit 5, and its search for a
bracket fails the same way this literal search did if --fixed-strings
ever goes.
|
|
t0204 asks the tree, plain, blob and blame pages for one oversized blob
and checks the exact status and message, so the looser copy here went.
|
|
|
|
|
|
|
|
Git's pathspec item holds a const string now, so a path needs no
writable copy to be matched.
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
The From, Date, Subject and signature lines are part of what the next
test compares in full against git format-patch, for the single commit
and for the range alike.
|
|
|
|
The library has read TEST_RESULTS_SAN_DIR for the last time by the
time it returns, and the trash directory it makes is empty, so there
is no cache to remove.
|
|
Every page holds foo in its footer element, the foo+bar row holds bar,
the branch switcher holds master, and commit 1 and file-1 also match
commits 10 to 19 and file-10 to file-19. A search page repeats its term
in the search box. So these checks passed on pages that lacked what
they look for, and each now matches the link itself.
|
|
When a filter cannot run, cgit dies mid-page with its Status line
already out, so the check passed with no filter at all. That is the
case wherever true lives only in /bin, as on busybox. true now comes
from the PATH, and the page has to reach its end.
|
|
The check asked for the summary page, which never runs an about filter,
so it passed with exec:/bin/true on macOS, which has no such file, and
with a filter that does not exist at all. Its first line read the
stderr the previous test left behind. execvp searches the PATH, so a
plain true runs the same on macOS, Debian and busybox.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
The header's last sentence named two of the many later subjects, so it
goes too. The second request's stderr is still kept, for the lock tests
that come next.
|
|
The library's check also lists whatever was left behind when it fails.
|
|
filter_close already runs highlight under pcall and serves the escaped
text when it fails, so the pcalls around detect, load and lex inside it
only turned a raise into the same fallback a step earlier.
|
|
On Lua 5.3 and later a length worked out with a fraction, such as
1.5 * 24 * 60 * 60, is a float, so the signed expiry came out as
1793609024.0, which validate_value refuses, and every login failed.
Max-Age took the same .0, which makes a browser ignore it.
|
|
|
|
setup.sh already asks the binary, so the seven scripts that each turned
the answer into a prerequisite now share one. test-lib names the
missing prerequisite beside every test it skips, so the notes that cgit
lacks Lua go, while the ones announcing a fallback stay. The list of
standalone interpreters moves into lib.sh and matches the versions the
extensions claim directly.
|
|
t0502 owns the shipped highlighter and already writes a cgitrc naming
it, so the check needs no config of its own there. t0204's header still
called it the last case long after it stopped being one.
|
|
The two identical posts for an unknown user become one, and no two
checks share a name, so a failure report points at a single check.
|
|
|
|
Every check replaces get_secret, the only caller of posix.sys.stat,
link and unlink, and nothing outside the harness calls preload.
|
|
|