depot revisions are not recognised by git as a specific type of
"decoration" (i.e. fall into `DECORATION_NONE`), which means that cgit
skips them by default.
Displaying them on code.tvl.fyi would be quite nice, so to work around
this we check for the `refs/r/` prefix on skipped decorations and
display them (without the `refs/` prefix) on commits.
Change-Id: Ia9cece3876db471f93ab787258be527739af046b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5891
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
This saves 10MB which seems useful for a CGI binary that is started a
lot.
Change-Id: I9536955d3962647a3fce2821bbdc4c3826fb4a91
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5639
Autosubmit: sterni <sternenseemann@systemli.org>
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
We don't use these filters, utilizing cheddar instead. They don't work
as it stands anyway, since they require wrapping to find their (mostly
Python) dependencies.
Change-Id: I19a690dca4fbfc03784850597752ab617f0c0522
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5638
Autosubmit: sterni <sternenseemann@systemli.org>
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
This code is copied from the cgit derivation in nixpkgs, seems like we
missed when these new compression methods were added.
Change-Id: I2d4118785abc173c86ac92e3007cd7027a1e0496
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5637
Autosubmit: sterni <sternenseemann@systemli.org>
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
cgit-pink is a maintained fork of cgit that follows upstream git more
closely and already contains a lot of patches we already had applied.
Consequently, it seems sensible it becomes our future upstream, we may
even be able to upstream some of our custom, less invasive patches.
Change-Id: Ia081e4508866f32298986c7160f4890c8a7c8922
Since git commit 244c27242f44e6b88e3a381c90bde08d134c274b,
> diff.[ch]: have diff_free() call clear_pathspec(opts.pathspec)
calling diff_flush calls free(3) on opts.pathspec.items, so it can't
be a pointer to a stack variable.
(cherry-picked from commit
https://git.causal.agency/cgit-pink/commit/?id=cc167887f1ee6907103533187ff9679f01006a1f)
Change-Id: I3054b0839f46465e8a5ce0da52a87357c7d77128
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5631
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
This was vendored a long time ago under the expectation that keeping
it in sync with cgit would be easier this way, but it has proven not
to be a big issue.
On the other hand, a vendored copy of git is an annoying maintenance
burden. It is much easier to rebase the single (dottime) patch that we
have.
This removes the vendored copy of git and instead passes the git
source code to cgit via `pkgs.srcOnly`, which includes the applied
patch so that cgit can continue rendering dottime.
Change-Id: If31f62dea7ce688fd1b9050204e9378019775f2b
Update to git version v2.32.0, this requires changes for these
upstream commits:
* 47957485b3b731a7860e0554d2bd12c0dce1c75a
tree.h API: simplify read_tree_recursive() signature
Signed-off-by: Christian Hesse <mail@eworm.de>
Change-Id: I9c37205af2e67d03f9cdd3d39e4fbd611bfa7288
Update to git version v2.31.1, no additional changes required.
Signed-off-by: Christian Hesse <mail@eworm.de>
Change-Id: I3e0312e59b065ec39906d00ffa8e762f82b7305f
This addressed a non-existent background image and made the element
invisible. Drop the style and use something sane.
Signed-off-by: Christian Hesse <mail@eworm.de>
Change-Id: I4f94466742008b9cdb231358199074de6e4424ee
Update to git version v2.31.0, this requires changes for these
upstream commits:
* 36a317929b8f0c67d77d54235f2d20751c576cbb
refs: switch peel_ref() to peel_iterated_oid()
Signed-off-by: Christian Hesse <mail@eworm.de>
Change-Id: Idb3abf22eb68ba5219f22075811884bbce786c3b
Update to git version v2.30.1, no additional changes required.
Signed-off-by: Christian Hesse <mail@eworm.de>
Change-Id: I9c8a572fcef2dbb3164ecc397dc071240eba8480
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>
Change-Id: Ib65412cd1d23312ddd4cf840c09efc32512d3122
This allows for cleaner nesting semantics and matches github more
closely.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Change-Id: I93dacc0c276fefb28d67379ef38b8647c584244b
Update to git version v2.30.0, this requires changes for these
upstream commits:
* 88894aaeeae92e8cb41143cc2e045f50289dc790
blame: simplify 'setup_scoreboard' interface
* 1fbfdf556f2abc708183caca53ae4e2881b46ae2
banned.h: mark non-reentrant gmtime, etc as banned
Signed-off-by: Christian Hesse <mail@eworm.de>
Change-Id: I6076ef250102010b601c92e9ea5bab2061b77006
Update to git version v2.29.2.
No changes required.
Signed-off-by: Christian Hesse <mail@eworm.de>
Change-Id: I8a3c12fdaa492ede79a750eea4b78f750dbfa18f
Update to git version v2.29.1. No functional change, but we want latest
and greated version number, no? 😜
Signed-off-by: Christian Hesse <mail@eworm.de>
Change-Id: Ie890ace2e88dca0d7defb1cac5a2723699f794db
In preparation for the solution of b/108, we need to consistently use
`depot.third_party` for packages that are only packed in the TVL depot
and `pkgs` for things that come from nixpkgs.
This commit cleans up a huge chunk of these uses in //third_party
Change-Id: Ic382c0cdea7330a84d5f0b7d109c824ddceb94e7
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2912
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Having a space between the number and the unit is not valid CSS.
I was aware of this problem, but apparently forgot to amend the fix.
Change-Id: I74936db515799763038669d0a11da53f28f722be
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2867
Tested-by: BuildkiteCI
Reviewed-by: lukegb <lukegb@tvl.fyi>
Decreased text width for the /about pages should increase readability
considerably as jumping back to the beginning is hard for longer
lines. The result is still not perfect as the font size for the /about
pages is rather small and many lines thus get broken somewhat awkwardly.
We could probably migitate that using a larger font size.
The implementation choice of adding a tvl-extra.css which we inject into
cgit.css in preBuild is for simplicity: We don't need to worry about
routing an extra CSS file and loading it from the right location via
extra cgit head entries and serving it at the correct location using
either nginx or thttpd.
A drawback of this is however that iteration is slowed down by cgit's
compilation time.
Additionally, this should be the basis for implementing a bubblegum
themed cgit for Profpatsch.
Change-Id: I18060f735167acd623cef7a17c83408978461249
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2756
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
This gives a decent compilation speedup even on slow machines, so seems
worth it. Let's hope the cgit build process is not racy.
Change-Id: Ic4ae72789da2ccae16fd48e46aec624244b25035
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2755
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
I got these the wrong way round, fixed them in the patch in my Nix
configuration, and then neglected to fix them in the version for
depot.
Fixes: be98295dc2
Change-Id: Ib7d4e433887f474ae9675e9948ab38f640181095
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1383
Reviewed-by: tazjin <mail@tazj.in>
Reviewed-by: kanepyork <rikingcoding@gmail.com>
Tested-by: BuildkiteCI
Branches are grouped into their own section to make the "this commit"
option visually distinct.
Adding this option will result in two options being marked as selected
if a branch has the same name as a commit oid. But that would cause
all sorts of other problems anyway (attempting to switch to the branch
would actually give you the commit, etc.), so let's not worry about
that.
A "permalink" link on the blob view next to the "plain" link would
probably be more discoverable, but that would only work for the blob
view. The switch UI is visible everywhere.
This patch is in use already at <https://git.qyliss.net/> and
<https://spectrum-os.org/git/>.
Signed-off-by: Alyssa Ross <hi@alyssa.is>
Message-Id: <20200723204820.16776-1-hi@alyssa.is>
Cc: Profpatsch <mail@profpatsch.de>
Change-Id: I7e88d1231dd402e0ad764e16b28e9a51964c6293
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1382
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
Clang treats function-like macros "correctly", in that, per the C11 spec:
"Each subsequent instance of the function-like macro name followed by a (
[...] is replaced by the replacement list [...]".
Additionally, fprintf is also permitted to be defined as a function-like
macro rather than as a true function: "Any function declared in a header
may be additionally implemented as a function-like macro defined in the
header [...]". The specification then suggests surrounding the name of the
function in parens to avoid this, which is the technique we use here to avoid
the function-like macro being invoked.
The other fix here is to use uintptr_t for some arithmetic, since Git
is expecting an int as the value here and not a pointer.
This change makes cgit pass the current repo and vpath inside of the
repo on to the about cmd, which makes it possible for it to correctly
render `tree`, `log` and other links to the same vpath.
This is pretty much exactly the derivation from nixpkgs, with some
things removed to reduce the closure size (e.g. the various formatters
used in the default cgit version, which are replaced by cheddar in my
setup).
If you're on tree/foo/bar, the about link will now point to
about/foo/bar.
Currently the annoying thing about this is that it will also do it for
files.
This means that individual subtrees of a repository will also have
their READMEs rendered on the about page, for example:
/foo/bar/README.md
Will render on:
/about/foo/bar/
This is useful for monorepo setups in which subtrees represent
individual projects.
Generates URLs that do not include the repository name.
On git.tazj.in, only one repository (depot) is served - hence URLs
generated by cgit need not include the name.