| Commit message (Collapse) | Author |
|
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>
|
|
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>
|
|
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>
|
|
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.
|
|
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.
|
|
|
|
|
|
Lua support is unused and the dlsym fwrite/write hacks horrify me.
Clean it up.
|
|
cgit runs in a chroot. It is normal that it cannot look up user
info in /etc/passwd.
|
|
I do not like these things.
|
|
|
|
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.
|
|
For example any URL that starts with a real repo name but isn't
valid.
|
|
Previously it was only used if owners were displayed on the index.
|
|
|
|
This correctly preserves whitespace in browsers without CSS, as an
alternative to [1].
[1]: https://80x24.org/cgit.git/commit/?id=7c692e6137697de8a8473c4de5c3de4fb03a2989
|
|
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
|
|
The title attribute was being set to the same value as the anchor
element text.
Signed-off-by: Chris Mayo <aklhfex@gmail.com>
|
|
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.
|
|
Text-based browsers without CSS support show all the decorations
bunched together without spacing. Rely on a whitespace instead
of CSS support.
|
|
This preserves formatting readable for users of text-based browsers
without CSS support.
|
|
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.
|
|
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>
|
|
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>
|
|
|
|
Add links to symbolic link targets in tree listings, formatted like
"ls -l". Path normalization collapses any ".." components of the link.
|
|
|
|
|
|
This avoids piping binary blobs through the source-filter.
|
|
Not available on macOS.
|
|
Update to git version v2.35.1, no additional changes required.
Signed-off-by: Christian Hesse <mail@eworm.de>
|
|
Update to git version v2.35.0, no additional changes required.
Signed-off-by: Christian Hesse <mail@eworm.de>
|
|
Update to git version v2.34.1, no additional changes required.
Signed-off-by: Christian Hesse <mail@eworm.de>
|
|
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>
|
|
Update to git version v2.33.0, no additional changes required.
Signed-off-by: Christian Hesse <mail@eworm.de>
|
|
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>
|
|
Update to git version v2.31.1, no additional changes required.
Signed-off-by: Christian Hesse <mail@eworm.de>
|
|
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>
|
|
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>
|
|
Update to git version v2.30.1, no additional changes required.
Signed-off-by: Christian Hesse <mail@eworm.de>
|
|
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>
|
|
This allows for cleaner nesting semantics and matches github more
closely.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
|
|
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>
|
|
Update to git version v2.29.2.
No changes required.
Signed-off-by: Christian Hesse <mail@eworm.de>
|
|
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>
|
|
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>
|
|
No idea why this was added... Possibly to inspect the snapshot manually?
Let's drop it.
Signed-off-by: Christian Hesse <mail@eworm.de>
|
|
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>
|
|
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>
|
|
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>
|