| Age | Commit message (Collapse) | Author | Lines |
|
A signature is a note a pusher stored, and the download read it whole
without the size check every other blob a page inflates goes through.
|
|
The refs listing offers a tag's snapshot under the stem of its name, and
the lookup back from that name settled on whatever ref matched first, so
a branch spelled like the stem was archived in the tag's place.
|
|
With no PATH in the environment, the check that a compressor exists
gave up and refused every compressed snapshot, though execvp would have
found it on the system's default path.
|
|
A name that was all suffix, such as .tar, settled on a ref called v
with an empty prefix, and an empty snapshot-prefix did the same for a
snapshot asked for by id, so every member of the archive started at /.
|
|
Archives, packs and the HEAD file went out as octet-stream or gzip with
a UTF-8 charset on the end, since only the plain and about pages cleared
it.
|
|
|
|
compose_snapshot_prefix dropped the leading v of a tag only when just
one of the names 1.2, v1.2 and V1.2 resolved as a tag, so that the
shorter snapshot name could always be traced back to one tag. Those
probes went through ref lookups, and on a case-insensitive filesystem a
lookup for V1.2 finds the loose file of v1.2, so every freshly made tag
counted as ambiguous and kept its v. Once git packed the refs the
lookups became exact and the same tag quietly changed its snapshot
names.
The claimants on a stripped name are now counted over the tag list
itself with exact string comparison, so the answer no longer depends on
how a ref is stored or on the filesystem underneath. Two tags that
really differ only by the letter's case still both keep it.
|
|
|
|
|
|
|
|
The numbering walks outward from the ground the suite stands on.
- t000x for the git version, html validity and the cache
- t01xx for page content, one script per page
- t02xx for filters, submodule links, dates and limits, which cut
across pages
- t03xx for defence, the security regressions and the $HOME promise
- t04xx for the helper tools under tools/
|
|
|
|
|
|
The untar tests for various compression algorithms use shortcut options
from GNU tar to handle decompression. These options may not be provided
by non-GNU tar nor even by slightly older GNU tar versions which ship on
many systems.
An example of the latter case is the --zstd option. This was added in
GNU tar-1.32 (2019-02-23)¹. This version of tar is not provided by
CentOS/RHEL, in particular. In Debian, --zstd has been backported to
the tar-1.30 release.
Avoid the requirement on any specific implementations or versions of tar
by piping decompressed output to tar. This is compatible with older GNU
tar releases as well as tar implementations from other vendors. (It may
also be a slight benefit that this more closely matches what the
snapshot creation code does.)
¹ Technically, the --zstd option was first released in tar-1.31
(2019-01-02), but this release was very short-lived and is no longer
listed on the GNU Tar release page.
Signed-off-by: Todd Zullinger <tmz@pobox.com>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
|
|
No idea why this was added... Possibly to inspect the snapshot manually?
Let's drop it.
Signed-off-by: Christian Hesse <mail@eworm.de>
|
|
This patch adds support for zstd [0] compressed snapshots (*.tar.zst).
We enable multiple working threads (-T0), but keep default compression
level. The latter can be influenced by environment variable.
[0] https://www.zstd.net/
Signed-off-by: Christian Hesse <mail@eworm.de>
|
|
Signed-off-by: Christian Hesse <mail@eworm.de>
|
|
This patch adds support for lzip [1] compressed snapshots (*.tar.lz)
[1] https://www.nongnu.org/lzip/
Signed-off-by: Hanspeter Portner <dev@open-music-kontrollers.ch>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
|
|
This means that we can avoid hardcoding the number of headers we expect
CGit to generate in test cases and simply remove whatever headers happen
to by there when we are checking body content.
Signed-off-by: John Keeping <john@keeping.me.uk>
|
|
Note that we cannot use skip_all here since some tests have already been
executed when ZIP tests are reached. Use test prerequisites to skip
everything using unzip(1) if the binary is not available instead.
Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
|
|
Some tar(1) versions do not support auto detection of the compression
type. Explicitly specify "-z" to decompress a ".tar.gz" archive.
Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
|
|
This allows tests to run in parallel as well as letting us use "prove"
or another TAP harness to run the tests.
Git's test framework requires Git to be fully built before letting any
tests run, so add a new target to the top-level Makefile which builds
all of Git instead of just libgit.a and make the "test" target depend on
that.
Signed-off-by: John Keeping <john@keeping.me.uk>
|
|
Signed-off-by: John Keeping <john@keeping.me.uk>
|
|
Signed-off-by: John Keeping <john@keeping.me.uk>
|
|
The "-e" option to grep is not needed unless specifying more than one
pattern, which we don't do. Remove it to avoid restricting the tests on
platforms that do not have a grep that recognises "-e".
Signed-off-by: John Keeping <john@keeping.me.uk>
|
|
Since cgit now returns a 404 error when the snapshot filename cannot be
resolved to a commit object, the testscript needs to request a valid
snapshot name.
Also, the script assumed that the toplevel directory in the snapshot
would get the name of the repository but it's now named similar to
the requested snapshot.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
|
The updated mime-types seems to work better than the old ones with both
safari and firefox.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
|
The struct member was introduces in git commit d53fe8187c38, but the cgit
testsuite failed to detect that cgit always generated archives without
prefixes, i.e. the result from cgit_repobasename was ignored.
This fixes the bug and the testsuite.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|
|
This creates a simple testsuite, heavily inspired by the testsuite in git.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
|