about summary refs log tree commit diff
path: root/scan-tree.c (unfollow)
Commit message (Collapse)Author
2022-02-18Fix fmt() off-by-one errorlemon
vsnprintf returns the byte count of the formatted output not including the null terminator, so in the case that len == 1024 the last character of the output was being truncated and not detected by the later check. Changing the greater than comparison to greater than or equal fixes this edge case.
2022-02-17Allow to give readme head from queryChristian Hesse
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.
2022-02-13Bump version to 1.3.0 1.3.0June McEnroe
2022-02-13Update information for forkJune McEnroe
2022-02-13Remove Lua supportJune McEnroe
Lua support is unused and the dlsym fwrite/write hacks horrify me. Clean it up.
2022-02-13Silence owner-info errorJune McEnroe
cgit runs in a chroot. It is normal that it cannot look up user info in /etc/passwd.
2022-02-13Remove default faviconJune McEnroe
I do not like these things.
2022-02-13Show about path in page titleJune McEnroe
2022-02-13Generate valid Atom feedsJune McEnroe
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.
2022-02-13Fix crash trying to print "this commit" on 404sJune McEnroe
For example any URL that starts with a real repo name but isn't valid.
2022-02-13Use owner-filter for repo page headersJune McEnroe
Previously it was only used if owners were displayed on the index.
2022-02-13Fix tests for diff spansJune McEnroe
2022-02-13Use <pre> and <span> to print diffsJune McEnroe
This correctly preserves whitespace in browsers without CSS, as an alternative to [1]. [1]: https://80x24.org/cgit.git/commit/?id=7c692e6137697de8a8473c4de5c3de4fb03a2989
2022-02-13Use buffered stdioEric Wong
Our generation of HTML triggers many small write(2) syscalls which is inefficient. Time output on a horrible query against my git.git mirror shows significant performance improvement: QUERY_STRING='id=2b93bfac0f5bcabbf60f174f4e7bfa9e318e64d5&id2=d6da71a9d16b8cf27f9d8f90692d3625c849cbc8' PATH_INFO=/mirrors/git.git/diff export QUERY_STRING PATH_INFO time ./cgit >/dev/null Before: real 0m1.585s user 0m0.904s sys 0m0.658s After: real 0m0.750s user 0m0.666s sys 0m0.076s
2022-02-13Remove redundant title on repo anchorsChris Mayo
The title attribute was being set to the same value as the anchor element text. Signed-off-by: Chris Mayo <aklhfex@gmail.com>
2022-02-13Improve button spacing for browsers w/o CSSEric Wong
For browsers on low-end machines running browsers without CSS support, the default tree view displayed "logplain" when it should be "log plain". Stop relying on CSS and add a space in between elements to improve accessibility.
2022-02-13Improve decoration display for browsers without CSSEric Wong
Text-based browsers without CSS support show all the decorations bunched together without spacing. Rely on a whitespace instead of CSS support.
2022-02-13Use <pre> for commit-msgEric Wong
This preserves formatting readable for users of text-based browsers without CSS support.
2022-02-13Improve pageheader display on text-based browsersEric Wong
Text-based browsers (and some GUI browsers such as dillo) display the pageheader as: "summaryrefslogtreecommitdiff" This is difficult-to-read. Improve accessibility for users who cannot run memory-hungry browsers by using whitespace instead of relying on CSS.
2022-02-13Use git raw note formatChris Mayo
Currently a commit note is shown as: Notes Notes: <note text> Change to: Notes <note text> Signed-off-by: Chris Mayo <aklhfex at gmail.com>
2022-02-13Add "this commit" option to switch formAlyssa Ross
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. Signed-off-by: Alyssa Ross <hi@alyssa.is>
2022-02-13Show subject in commit page titleJune McEnroe
2022-02-13Show symlink targets in tree listingJune McEnroe
Add links to symbolic link targets in tree listings, formatted like "ls -l". Path normalization collapses any ".." components of the link.
2022-02-13Disallow blame in robots.txtJune McEnroe
2022-02-13Don't link to blame for binary blobsJune McEnroe
2022-02-13Bail from blame if blob is binaryJune McEnroe
This avoids piping binary blobs through the source-filter.
2022-02-13Remove dependency on memrchrJune McEnroe
Not available on macOS.
2022-01-29git: update to v2.35.1Christian Hesse
Update to git version v2.35.1, no additional changes required. Signed-off-by: Christian Hesse <mail@eworm.de>
2022-01-24git: update to v2.35.0Christian Hesse
Update to git version v2.35.0, no additional changes required. Signed-off-by: Christian Hesse <mail@eworm.de>
2021-11-24git: update to v2.34.1Christian Hesse
Update to git version v2.34.1, no additional changes required. Signed-off-by: Christian Hesse <mail@eworm.de>
2021-11-15git: update to v2.34.0Christian Hesse
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>
2021-11-03git: update to v2.33.0Christian Hesse
Update to git version v2.33.0, no additional changes required. Signed-off-by: Christian Hesse <mail@eworm.de>
2021-06-08git: update to v2.32.0Christian Hesse
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>
2021-05-18git: update to v2.31.1Christian Hesse
Update to git version v2.31.1, no additional changes required. Signed-off-by: Christian Hesse <mail@eworm.de>
2021-05-12md2html: use proper formatting for hrChristian Hesse
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>
2021-03-16git: update to v2.31.0Christian Hesse
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>
2021-02-10git: update to v2.30.1Christian Hesse
Update to git version v2.30.1, no additional changes required. Signed-off-by: Christian Hesse <mail@eworm.de>
2020-12-29tests: t0107: support older and/or non-GNU tarTodd Zullinger
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>
2020-12-29md2html: use sane_lists extensionJason A. Donenfeld
This allows for cleaner nesting semantics and matches github more closely. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-12-29git: update to v2.30.0Christian Hesse
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>
2020-10-30git: update to v2.29.2Christian Hesse
Update to git version v2.29.2. No changes required. Signed-off-by: Christian Hesse <mail@eworm.de>
2020-10-27git: update to v2.29.1Christian Hesse
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>
2020-10-22tests: try with commit-graphChristian Hesse
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>
2020-10-22tests: do not copy snapshots to /tmp/Christian Hesse
No idea why this was added... Possibly to inspect the snapshot manually? Let's drop it. Signed-off-by: Christian Hesse <mail@eworm.de>
2020-10-20global: replace hard coded hash lengthChristian Hesse
With sha1 we had a guaranteed length of 40 hex chars. This changes now that we have to support sha256 with 64 hex chars... Support both. Signed-off-by: Christian Hesse <mail@eworm.de>
2020-10-20global: replace references to 'sha1' with 'oid'Christian Hesse
For some time now sha1 is considered broken and upstream is working to replace it with sha256. Replace all references to 'sha1' with 'oid', just as upstream does. Signed-off-by: Christian Hesse <mail@eworm.de>
2020-10-19git: update to v2.29.0Christian Hesse
Update to git version v2.29.0, this requires changes for these upstream commits: * dbbcd44fb47347a3fdbee88ea21805b7f4ac0b98 strvec: rename files from argv-array to strvec * 873cd28a8b17ff21908c78c7929a7615f8c94992 argv-array: rename to strvec * d70a9eb611a9d242c1d26847d223b8677609305b strvec: rename struct fields * 6a67c759489e1025665adf78326e9e0d0981bab5 test-lib-functions: restrict test_must_fail usage Signed-off-by: Christian Hesse <mail@eworm.de>
2020-07-27git: update to v2.28.0Christian Hesse
Update to git version v2.28.0. No changes required. Signed-off-by: Christian Hesse <mail@eworm.de>
2020-06-02git: update to v2.27.0Christian Hesse
Update to git version v2.27.0. No changes required. Signed-off-by: Christian Hesse <mail@eworm.de>
2020-03-23git: update to v2.26.0Christian Hesse
Update to git version v2.26.0. No changes required. Signed-off-by: Christian Hesse <mail@eworm.de>