aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* css: change to be a listAndy Green2023-07-214-7/+22
| | | | | | | | | | | Without changing the default behaviour of including /cgit.css if nothing declared, allow the "css" config to be given multiple times listing one or more alternative URL paths to be included in the document head area. Signed-off-by: Andy Green <andy@warmcat.com> Signed-off-by: Christian Hesse <mail@eworm.de>
* cgitrc: handle value "0" for max-repo-countChristian Hesse2023-07-212-3/+6
| | | | | | | Setting max-repo-count to "0" makes cgit loop forever generating page links. Make this a special value to show all repositories. Signed-off-by: Christian Hesse <mail@eworm.de>
* cache: tolerate short writes in print_slotHristo Venev2023-07-211-20/+25
| | | | | | | | | | | sendfile() can return after a short read/write, so we may need to call it more than once. As suggested in the manual page, we fall back to read/write if sendfile fails with EINVAL or ENOSYS. On the read/write path, use write_in_full which deals with short writes. Signed-off-by: Hristo Venev <hristo@venev.name> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* global: use release_commit_memory()John Keeping2023-07-213-8/+4
| | | | | | | | | | | | | | | Instead of calling two separate Git functions to free memory associated with a commit object, use Git's wrapper which does this. This also counts as a potential future bug fix since release_commit_memory() also resets the parsed state of the commit, meaning any attempt to use it in the future will correctly fill out the fields again. release_commit_memory() does not set parents to zero, so keep that for additional safety in case CGit checks this without calling parse_commit() again. Signed-off-by: John Keeping <john@keeping.me.uk> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* css: reset font size for blame oidJohn Keeping2023-07-211-0/+4
| | | | | | | | | | | | In Firefox, the hashes in the blame UI are out of step with the line number and content leading to ever increasing vertical misalignment. This is caused by the .oid class setting font-size to 90%, so override this back to 100% for the blame case, bringing the height of lines in all three columns of the table back into step. Signed-off-by: John Keeping <john@keeping.me.uk> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* ui-blame: add a link to the parent commit in blameJohn Keeping2023-07-211-0/+9
| | | | | | | | | | | | | | | When walking through the history, it is useful to quickly see the same file at the previous revision, so add a link to do this. It would be nice to link to the correct line with an additional fragment, but this requires significantly more work so it can be done as an enhancement later. (ent->s_lno is mostly the right thing, but it is the line number in the post-image of the target commit whereas the link is to the parent of that commit, i.e. the pre-image of the target.) Suggested-by: Alejandro Colomar <alx.manpages@gmail.com> Signed-off-by: John Keeping <john@keeping.me.uk> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* about: allow to give head from queryChristian Hesse2023-07-212-8/+10
| | | | | | | | Reading the README from repository used to be limited to default branch or a branch given in configuration. Let's allow a branch from query if not specified explicitly. Signed-off-by: Christian Hesse <mail@eworm.de>
* html: fix handling of null bytePeter Prohaska2023-07-211-1/+1
| | | | | | | A return value of `len` or more means that the output was truncated. Signed-off-by: Peter Prohaska <pitrp@web.de> Signed-off-by: Christian Hesse <mail@eworm.de>
* ui-atom: generate valid Atom feedsJune McEnroe2023-07-211-11/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes several RFC 4287 violations: > 4.1.1. The "atom:feed" Element > o atom:feed elements MUST contain exactly one atom:id element. > o atom:feed elements SHOULD contain one atom:link element with a rel > attribute value of "self". This is the preferred URI for > retrieving Atom Feed Documents representing this Atom feed. > o atom:feed elements MUST contain exactly one atom:updated element. An atom:id element is generated from cgit_currentfullurl(), and an atom:link element with a rel attribute of "self" is generated with the same URL. An atom:updated element is generated from the date of the first commit in the revision walk. > 4.1.2. The "atom:entry" Element > o atom:entry elements MUST NOT contain more than one atom:content > element. The second atom:content element with the type of "xhtml" is removed. > 4.2.6. The "atom:id" Element > Its content MUST be an IRI, as defined by [RFC3987]. Note that the > definition of "IRI" excludes relative references. Though the IRI > might use a dereferencable scheme, Atom Processors MUST NOT assume it > can be dereferenced. The atom:id elements for commits now use URNs in the "sha1" or "sha256" namespaces. Although these are not registered URN namespaces, they see use in the wild, for instance as part of magnet URIs. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* ui-shared: use owner-filter for repo page headersJune McEnroe2023-07-211-1/+7
| | | | | | Previously it was only used if owners were displayed on the index. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* ui-commit: use git raw note formatChris Mayo2023-07-211-1/+1
| | | | | | | | | | | | | | | | | | Currently a commit note is shown as: Notes Notes: <note text> Change to: Notes <note text> Signed-off-by: Chris Mayo <aklhfex@gmail.com> Reviewed-by: Alyssa Ross <hi@alyssa.is> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* ui-repolist,ui-shared: remove redundant title on repo anchorsChris Mayo2023-07-212-2/+2
| | | | | | | | | | The title attribute was being set to the same value as the anchor element text. Signed-off-by: Chris Mayo <aklhfex@gmail.com> Reviewed-by: Eric Wong <e@80x24.org> Reviewed-by: Petr Vorel <petr.vorel@gmail.com> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* ui-commit: show subject in commit page titleJune McEnroe2023-07-211-0/+1
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* ui-tree: show symlink targets in tree listingJune McEnroe2023-07-211-2/+20
| | | | | | | | | Add links to symbolic link targets in tree listings, formatted like "ls -l". Path normalization collapses any ".." components of the link. Also fix up memory link on error path. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* ui-tree,ui-blame: bail from blame if blob is binaryJune McEnroe2023-07-213-2/+9
| | | | | | | This avoids piping binary blobs through the source-filter. Also prevent robots from crawling it, since it's expensive. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* git: update to v2.39.0Christian Hesse2023-07-212-1/+1
| | | | | | Update to git version v2.39.0, no additional changes required. Signed-off-by: Christian Hesse <mail@eworm.de>
* git: update to v2.38.2Christian Hesse2023-07-212-1/+1
| | | | | | Update to git version v2.38.2, no additional changes required. Signed-off-by: Christian Hesse <mail@eworm.de>
* git: update to v2.38.1Christian Hesse2023-07-212-1/+1
| | | | | | Update to git version v2.38.1, no additional changes required. Signed-off-by: Christian Hesse <mail@eworm.de>
* git: update to v2.38.0Christian Hesse2023-07-212-1/+1
| | | | | | Update to git version v2.38.0, no additional changes required. Signed-off-by: Christian Hesse <mail@eworm.de>
* git: update to v2.37.3Christian Hesse2023-07-212-1/+1
| | | | | | Update to git version v2.37.3, no additional changes required. Signed-off-by: Christian Hesse <mail@eworm.de>
* git: update to v2.37.2Christian Hesse2023-07-212-1/+1
| | | | | | Update to git version v2.37.2, no additional changes required. Signed-off-by: Christian Hesse <mail@eworm.de>
* git: update to v2.37.1Christian Hesse2023-07-212-1/+1
| | | | | | Update to git version v2.37.1, no additional changes required. Signed-off-by: Christian Hesse <mail@eworm.de>
* git: update to v2.37.0Christian Hesse2023-07-212-1/+1
| | | | | | Update to git version v2.37.0, no additional changes required. Signed-off-by: Christian Hesse <mail@eworm.de>
* git: update to v2.36.1Christian Hesse2023-07-212-1/+1
| | | | | | Update to git version v2.36.1, no additional changes required. Signed-off-by: Christian Hesse <mail@eworm.de>
* shared: fix bad free in cgit_diff_treeJune McEnroe2023-07-211-7/+5
| | | | | | | | | | | 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. Signed-off-by: Christian Hesse <mail@eworm.de>
* git: update to v2.36.0Christian Hesse2023-07-213-2/+2
| | | | | | | | | | Update to git version v2.36.0, this requires changes for these upstream commits: * 95433eeed9eac439eb21eb30105354b15e71302e diff: add ability to insert additional headers for paths Signed-off-by: Christian Hesse <mail@eworm.de>
* git: update to v2.35.3Christian Hesse2023-07-212-1/+1
| | | | | | Update to git version v2.35.3, no additional changes required. Signed-off-by: Christian Hesse <mail@eworm.de>
* git: update to v2.35.2Christian Hesse2023-07-212-1/+1
| | | | | | Update to git version v2.35.2, no additional changes required. Signed-off-by: Christian Hesse <mail@eworm.de>
* git: update to v2.35.1Christian Hesse2023-07-212-1/+1
| | | | | | Update to git version v2.35.1, no additional changes required. Signed-off-by: Christian Hesse <mail@eworm.de>
* git: update to v2.35.0Christian Hesse2023-07-212-1/+1
| | | | | | Update to git version v2.35.0, no additional changes required. Signed-off-by: Christian Hesse <mail@eworm.de>
* git: update to v2.34.1Christian Hesse2023-07-212-1/+1
| | | | | | Update to git version v2.34.1, no additional changes required. Signed-off-by: Christian Hesse <mail@eworm.de>
* git: update to v2.34.0Christian Hesse2023-07-213-2/+2
| | | | | | | | | | Update to git version v2.34.0, this requires changes for these upstream commits: * abf897bacd2d36b9dbd07c70b4a2f97a084704ee string-list.[ch]: remove string_list_init() compatibility function Signed-off-by: Christian Hesse <mail@eworm.de>
* git: update to v2.33.0Christian Hesse2023-07-212-1/+1
| | | | | | Update to git version v2.33.0, no additional changes required. Signed-off-by: Christian Hesse <mail@eworm.de>
* Serve jquery here and move copy on clickYigit Sever2023-07-213-4/+5
|
* reorder git clone tags a bitYigit Sever2021-10-291-3/+3
|
* include javascript onceYigit Sever2021-10-291-4/+4
|
* squueze content a bitYigit Sever2021-10-291-0/+6
|
* Lowercase everything, Rosé Pine, click to copyYigit Sever2021-10-2910-484/+455
| | | | And probably other little things I forgot about
* Initial customizationsYigit Sever2021-10-294-1/+7
| | | | favicon, cgit.png and installation path
* git: update to v2.32.0Christian Hesse2021-06-086-36/+23
| | | | | | | | | | 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>
* git: update to v2.31.1Christian Hesse2021-05-182-1/+1
| | | | | | Update to git version v2.31.1, no additional changes required. Signed-off-by: Christian Hesse <mail@eworm.de>
* md2html: use proper formatting for hrChristian Hesse2021-05-121-5/+1
| | | | | | | 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>
* git: update to v2.31.0Christian Hesse2021-03-163-4/+5
| | | | | | | | | | 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>
* git: update to v2.30.1Christian Hesse2021-02-102-1/+1
| | | | | | Update to git version v2.30.1, no additional changes required. Signed-off-by: Christian Hesse <mail@eworm.de>
* tests: t0107: support older and/or non-GNU tarTodd Zullinger2020-12-291-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | 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>
* md2html: use sane_lists extensionJason A. Donenfeld2020-12-291-0/+1
| | | | | | | This allows for cleaner nesting semantics and matches github more closely. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* git: update to v2.30.0Christian Hesse2020-12-296-33/+35
| | | | | | | | | | | | | 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>
* git: update to v2.29.2Christian Hesse2020-10-302-1/+1
| | | | | | | | Update to git version v2.29.2. No changes required. Signed-off-by: Christian Hesse <mail@eworm.de>
* git: update to v2.29.1Christian Hesse2020-10-272-1/+1
| | | | | | | 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>
* tests: try with commit-graphChristian Hesse2020-10-221-4/+8
| | | | | | | Git 2.24.0 enabled commit-graph by default and caused crashes without necessary update. Let's test to work with commit-graph. Signed-off-by: Christian Hesse <mail@eworm.de>