| Age | Commit message (Collapse) | Author | Lines |
|
|
|
|
|
|
|
|
|
|
|
The sample's example passed only because its path holds a slash, which
the pattern for plain keys leaves out. A path without one was read as a
key of its own and reported as undocumented, and a mimetype extension
holding a character outside the pattern would have been dropped.
|
|
|
|
|
|
|
|
Both open with the same sentence, so a grep for it passed on either.
|
|
The small file test also read the page the test before it left, so it
renders the commit itself now.
|
|
One branch and one tag stood for the whole listing, so a count of 0
that dropped the rest still passed, and -1 is only compared with it.
|
|
The test read the page the test before it left and looked for the bare
path, which other links on the page also hold.
|
|
|
|
The status check now also fails on a second status line, which a page
that dies after its headers puts out, so every request is held to one
answer rather than the few that counted.
|
|
They take a plain tar, which needs no compressor on the machine.
|
|
|
|
The notes test had borrowed its repository, so it now builds one.
|
|
Its message came from a here-document with a dash, which stripped the
tab git knows a Conflicts path by. git then found no trailer block at
all, so the test passed with the guard it is about removed. The message
is now written with printf.
|
|
repos/rob took commits, refs, tags, a repack and a moved HEAD from test
after test, so what a test checked hung on the ones before it. A test
that changes a repository, or needs one in a shape of its own, now
builds it, and rob is only read. The tests that leaned on a config or a
scanned repository an earlier test left build their own too.
|
|
Each now writes a types file and config of its own rather than
rewriting the one the test before it left.
|
|
Grouping folders first is tree page behaviour rather than a security
fix, so it joins the tree tests on a repository of its own.
|
|
The commit named is the one Git's v2.56.0 tag peels to upstream.
|
|
Each repository is built tree for tree as before. A helper that lost
the caller's change would still fail t0107, where following no path
shows file-1, but t0108 passed without its added line, so it now looks
for that line.
|
|
The configs a run of t0101 writes are byte for byte what they were. The
scan configs name no repository and descrc adds one to a copy of the
shared config, so those keep their own form.
|
|
A build without Lua left the eight tests of that pass out of the run,
where the rest of the script counts its Lua tests as skipped.
|
|
The id was written as 40 hex digits, which failed the test in a run
with GIT_TEST_DEFAULT_HASH=sha256.
|
|
|
|
|
|
A value cgit does not know as a period turns the statistics page off,
so a typo such as "decade" read the same as leaving stats off on
purpose. The empty value stays quiet because a cached repolist writes
it for a repository that turned stats off.
|
|
No test gave a file name invalid UTF-8 or a control byte, which APFS
refuses on disk, so the tree is built through the index.
|
|
The test ran gzip without the GZIP prerequisite t0110 uses for the same
need, and it took a file-1 anywhere in the listing rather than under the
tag's own prefix.
|
|
An unquoted $cgitbin breaks in a checkout whose path holds a space,
and head -c and head -1 are not POSIX. The status of the disconnected
request is still read right after its pipeline, which assumes the
shell waits for the left side as dash, bash, ksh and busybox ash all
do.
|
|
A loose ref written by hand needs the files backend, so under
GIT_TEST_DEFAULT_REF_FORMAT=reftable the broken tree test failed, and
the die test after it with it, since it borrowed that clone. It now
makes its own. Both index tests that stat a path through refs/heads
also passed there with their checks gone, as reftable keeps
refs/heads as a file. The commit is rewritten through files rather
than a pipeline that hid cat-file failing.
|
|
The expected content was "more" only because an earlier test had
rewritten file-1, and the next test reused that file and the tag. The
tag.gpgsign override did nothing, since test-lib already keeps the
user's config out.
|
|
The expected count of 2 held only because earlier tests had made
a.git and b.git and one of them had dropped b.git's cgitrc.
|
|
The count was bounded only from above, and loosely, so a page listing
no directories passed, as would a limit of 16. t0104's long directory
chain test already pins the bound exactly.
|
|
The blob came out of a pipeline whose failure would have left it empty
and the test passing, and nothing looked at the row itself. head -c is
not POSIX either.
|
|
HEAD was put back inside the && chain after cgit ran, so a failure left
repos/rob on a missing branch for every later test. The switcher check
also read the page this test left, and now runs in the same test.
|
|
Unlike its siblings the test never counted status lines, so a second
page after the first went unnoticed. The headers are out by the time
the diff is collected, so the one answer stays a 200 holding the
error.
|
|
cache_process bypasses a ttl of 0 and fails quietly in many ways, so
with a dead cache the test passed whatever ttl the page got. A second
config that keeps the same page for ever now has to replay it, from a
cache of its own, since slots are keyed on the request alone.
|
|
Every page ends in </html>, the 404 for no repositories included, and
an index, an error page or a page cut short lacks most things, so the
path-less repository, the empty url, the page without an auth filter
and the refused id each now show the page that was meant to render.
|
|
The loop asserted only absences, so a 404 or any error but the die
text passed, and the final 404 is also what a name that resolves to
nothing gets.
|
|
The test opened the inner tag by id and never looked at the outer
tag's page or the link the title is about.
|
|
The log walks the history before it prints a row, so nothing ahead of
the gap ever renders and the title promised more than the page shows.
The test also took its gap from the shared repository, where HEAD~2
was a given commit only because of tests run before it.
|
|
The email filter was handed a few bytes, which usually sit in the pipe
before the filter has even exited, so a cgit that died of SIGPIPE
passed most runs. A source filter handed more than a pipe holds has to
see the write fail.
|
|
git's read_mailmap_blob inflates the whole blob, so a pusher could make
every page of a repository read as much as they liked. git reads a
note and the .gitmodules file whole as well, and capping those would
mean bounding the lookups where the log, commit and tree pages make
them, so the manual names them instead. Nothing tested that
mailmap.file and mailmap.blob are ignored either.
|
|
A scanned repository sets its description, owner and section without
trust, and no test gave them any markup.
|
|
t0104's binary fixture never turns blame on, so neither the blame
page's own refusal nor the missing link on the file's page had a test.
|
|
The defbranch check had a test while its twin for a crafted HEAD,
which the index reads the same way to date a repository, had none.
|