| Age | Commit message (Collapse) | Author | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A submodule row linked to a path with its trailing slash stripped,
was labelled by its path rather than its entry name, shared the
name's element with its hash, claimed a size of zero and offered a
blame button that cannot work on a gitlink.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
`max-stats` only bounds the selectable periods now and no longer
doubles as the enable switch.
The tree walk runs before the history walk on purpose. Releasing
commit memory while walking history resets each commit slab index,
and a commit graph lookup afterwards would read another commit slot
and walk the wrong tree. The stats fixture writes a commit graph so
the tests cover that path. The history walk bounds the window in
process rather than passing a formatted since date to
`setup_revisions`, and parses each commit once.
|
|
|
|
|
|
|
|
AUTHORS now records the upstream developers as the project's history
rather than as maintainers of the fork.
|
|
The pager html-escaped its search and sort values instead of
url-encoding them, so a term with a hash or ampersand broke the link
and dropped the active filter on the next page.
|
|
`fmt()` aborts the request rather than truncate, so a very long path
fed into a context-sensitive tab title took down page rendering.
|
|
A plain char is undefined in the ctype functions for negative values,
which a high byte produces wherever char is signed.
|
|
The button is emitted hidden and only revealed by the script, so a
browser without JavaScript never shows a control that cannot work and
the page keeps tracking the system theme.
|
|
The old sheet had no overflow rules, so wide code, diff, blame and
stats blocks scrolled the whole page sideways on a phone. The classic
layout, badge colours and age shading are kept.
|
|
Without a viewport meta, mobile browsers assume a desktop-width page
and scale it down, which is the root cause of content overflowing on
small screens.
|
|
The masthead, tab bar, breadcrumb, content region and footer were HTML
tables, which cannot reflow and forced the page to scroll sideways on
small screens. Class and id names are kept so custom themes keep
matching, the tabs gain title hints and the form controls accessible
names.
|
|
|
|
The C sources move to source/, the served files to assets/, the bundled
Git submodule to libraries/git and the filter scripts to extensions/.
Everything the build generates now lands in build/, so a clean is a
single remove and the tree stays clean.
|
|
We don't get any return value from compile_grep_patterns calling
compile_regexp_failed, causing the default die routine to print to
stderr and then for cgit to exit ungracefully.
Instead override the default die routine to show a normal error page.
Perhaps compile_grep_patterns ought to change upstream to return an
error. But this commit here will handle future issues as well, so
perhaps not a bad idea to do anyway.
Link: https://lists.zx2c4.com/pipermail/cgit/2026-March/004982.html
Link: https://lists.zx2c4.com/pipermail/cgit/2026-March/004983.html
Reported-by: Adrian C. <anrxc@sysphere.org>
Reported-by: Aiden Woodruff <aiden@aidenw.net>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
|
|
This exists for other CPU heavy operations like blame, but doesn't for
the follow functionality. Add it for that.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
|
|
Since the favicon setting defaults to "/favicon.ico", the user can
only unset it with favicon=. However, that would write an empty string
as the config value. Previously, such empty string always satisfied
the if condition. In this case it is better to omit the <link> entirely.
Signed-off-by: Christian Barcenas <christian@cbarcenas.com>
Signed-off-by: Christian Hesse <mail@eworm.de>
|
|
Update to git version v2.53.0, this requires changes for these
upstream commits:
* bdbebe5714b25dc9d215b48efbb80f410925d7dd
refs: introduce wrapper struct for `each_ref_fn`
* 589127caa73090040200989ff4d24c3d54f473f2
packfile: move list of packs into the packfile store
* 5a5c7359f77ecd1bc4b0e172563161d602f131d3
refs: drop `current_ref_iter` hack
* b6e4cc8c32850315323961659e553d1d14591f7f
tag: support arbitrary repositories in parse_tag()
* 84f0e60b28de69d1ccb7a51b729af6202b6cf4c8
packfile: move packfile store into object source
Signed-off-by: Christian Hesse <mail@eworm.de>
|
|
Update to git version v2.47.0, this requires changes for these
upstream commits:
* e8207717f1623325fe1c95338fb03c1104ed5687
refs: add referent to each_ref_fn
Signed-off-by: Christian Hesse <mail@eworm.de>
|
|
Update to git version v2.46.0, this requires changes for these
upstream commits:
* e7da9385708accf518a80a1e17969020fb361048
global: introduce `USE_THE_REPOSITORY_VARIABLE` macro
* 9da95bda74cf10e1475384a71fd20914c3b99784
hash: require hash algorithm in `oidread()` and `oidclr()`
* 30aaff437fddd889ba429b50b96ea4c151c502c5
refs: pass repo when peeling objects
* c8f815c2083c4b340d4148a15d45c55f2fcc7d3f
refs: remove functions without ref store
Signed-off-by: Christian Hesse <mail@eworm.de>
|