Update to git version v2.49.0, this requires changes for these
upstream commits:
* 88dd321cfedc6ee190dfafe4670a83ea33cdf4a3
path: drop `git_path()` in favor of `repo_git_path()`
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>
fix error that is given because of macro overlapping cgit_filter member:
../filter.c:388:10: error: no member named '__fprintf_chk' in
'struct cgit_filter'
388 | filter->fprintf(filter, f, prefix);
| ~~~~~~ ^
/usr/include/bits/stdio2.h:92:3: note: expanded from macro 'fprintf'
92 | __fprintf_chk (stream, __USE_FORTIFY_LEVEL - 1, __VA_ARGS__)
| ^
1 error generated.
Signed-off-by: Denis Pronin <dannftk@yandex.ru>
Signed-off-by: Christian Hesse <mail@eworm.de>
Update to git version v2.45.0, this requires changes for these
upstream commits:
* 9720d23e8caf4adee44b3a32803a9bb0480118bd
date: make DATE_MODE thread-safe
Signed-off-by: Christian Hesse <mail@eworm.de>
Update to git version v2.43.2, no additional changes required.
(Git v2.43.1 fails to build, thus skipping.)
Signed-off-by: Christian Hesse <mail@eworm.de>
Update to git version v2.42.0, this requires changes for these
upstream commits:
* bc5c5ec0446895f5c4139cd470066beb3c4ac6d5
cache.h: remove this no-longer-used header
* aba070683295a20bdf4f49146384984961c794b2
path: move related function to path
* a4e7e317f8f27f861321e6eb08b9c8c0f3ab570c
config: add ctx arg to config_fn_t
Signed-off-by: Christian Hesse <mail@eworm.de>
Update to git version v2.41.0, with lots of changes...
This requires changes for these upstream commits:
* 60ff56f50372c1498718938ef504e744fe011ffb
banned.h: mark `strtok()` and `strtok_r()` as banned
* 52acddf36c8cb3778ab2098a0d95cc2e375a4069
string-list: multi-delimiter `string_list_split_in_place()`
* d850b7a545fcfbd97460a921c7f7c59d933eb0f7
cocci: apply the "cache.h" part of "the_repository.pending"
* cb338c23d6d518947bf6f7240bf30e2ec232bd3b
cocci: apply the "commit-reach.h" part of "the_repository.pending"
* ecb5091fd4301ac647db0bd2504112b38f7ee06d
cocci: apply the "commit.h" part of "the_repository.pending"
* 085390328f5fe1dfba67039b1fd6cc51546a4e41
cocci: apply the "diff.h" part of "the_repository.pending"
* bc726bd075929aab6b3e09d4dd5c2b0726fd5350
cocci: apply the "object-store.h" part of "the_repository.pending"
* bab821646a74c446370fa8d01ca851f247df5033
cocci: apply the "pretty.h" part of "the_repository.pending"
* afe27c889429438829bc8818ed17e4960bd3ef02
cocci: apply the "packfile.h" part of "the_repository.pending"
* 12cb1c10a64170a5d600dd1c6c8abfeec105fb6b
cocci: apply the "refs.h" part of "the_repository.pending"
* 035c7de9e9ea11d26df5f9e4bb117f91ed11a9fd
cocci: apply the "revision.h" part of "the_repository.pending"
... and some more I missed to list 😜 - for example the move and cleanup
of headers and includes (see changes in `cgit.h`) comes to mind...
Signed-off-by: Christian Hesse <mail@eworm.de>
According to the cgitrc man page, an empty js= value should cause the
script tag to be omitted. But instead, a script tag with an empty URL
is emitted. The same applies to css. So, skip emitting a tag if the
specified string is empty.
Signed-off-by: Samuel Lidén Borell <samuel@kodafritt.se>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
This patch updates the emitted "ages" dynamically on the client side.
After updating on completion of the document load, it sets a timer
to update according to the smallest age it found. If there are any
ages listed in minutes, then it will update again in 10s. When the
most recent age is in hours, it updates every 5m. If days, then
every 30m and so on.
This keeps the cost of the dynamic updates at worst once per 10s.
The updates are done entirely on the client side without contact
with the server.
To make this work reliably, since parsing datetimes is unreliable in
browser js, the unix time is added as an attribute to all age spans.
To make that reliable cross-platform, the unix time is treated as a
uint64_t when it is formatted for printing.
The rules for display conversion of the age is aligned with the
existing server-side rules in ui-shared.h.
If the client or server-side time are not synchronized by ntpd etc,
ages shown on the client will not relate to the original ages computed
at the server. The client updates the ages immediately when the
DOM has finished loading, so in the case the times at the server and
client are not aligned, this patch changes what the user sees on the
page to reflect patch age compared to client time.
If the server and client clocks are aligned, this patch makes no
difference to what is seen on the page.
Signed-off-by: Andy Green <andy@warmcat.com>
Signed-off-by: Christian Hesse <mail@eworm.de>
Just like the config allows setting css URL path, add a config for
setting the js URL path
Signed-off-by: Andy Green <andy@warmcat.com>
Reviewed-by: John Keeping <john@keeping.me.uk>
Signed-off-by: Christian Hesse <mail@eworm.de>
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>
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>