Commit Graph

1261 Commits (cadbb69990d232ce49547190b1cff2b57fc8b438)
 

Author SHA1 Message Date
Jason A. Donenfeld cadbb69990 Bump version 9 years ago
Lukas Fleischer db021a1989 Remove no-op link from submodule entries
Instead of linking to the current page ("href='#'"), do not add a link
to a submodule entry at all if the module-link setting is not used.

Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
9 years ago
Jason A. Donenfeld 7511f4b4df filters: Add sample gentoo script 9 years ago
Jason A. Donenfeld f3ab1f178f cgit: remember to set up env vars before empty clone path 9 years ago
Jason A. Donenfeld 8eef4589d0 ui-shared: currenturl should take into account leading slash 9 years ago
John Keeping 438bac6f57 html: avoid using a plain integer as a NULL pointer
Sparse complains about this table because we use the integer zero as the
NULL pointer.  Use this as an opportunity to reformat the table so that
it always contains 8 elements per row, making it easier to see which
values are being set and which are not.

Signed-off-by: John Keeping <john@keeping.me.uk>
9 years ago
John Keeping 80d52079f7 cache: don't use an integer as a NULL pointer
Signed-off-by: John Keeping <john@keeping.me.uk>
9 years ago
John Keeping d34b967190 ui-shared: don't use an integer as a NULL pointer
Signed-off-by: John Keeping <john@keeping.me.uk>
9 years ago
John Keeping 94e5f212f5 ui-shared: avoid initializing static variable to zero
Sparse complains that we are using a plain integer as a NULL pointer
here, but in fact we do not have to specify a value for this variable at
all since it has static storage duration and thus will be initialized to
NULL by the compiler.

Signed-off-by: John Keeping <john@keeping.me.uk>
9 years ago
John Keeping bd9fb0324d ui-stats: make cgit_period definitions 'static const'
These definitions should not be modified (and never are) so we can move
them to .rodata.

Signed-off-by: John Keeping <john@keeping.me.uk>
9 years ago
John Keeping 0f23d4651c ui-shared: make cgit_doctype 'static'
This is not used outside this file and is not declared.

Signed-off-by: John Keeping <john@keeping.me.uk>
9 years ago
John Keeping ad74669e67 ui-repolist: make sortcolumn definitions 'static const'
These are not used outside this file and are not declared; they are also
never modified.

Signed-off-by: John Keeping <john@keeping.me.uk>
9 years ago
John Keeping 3fe509e17a ui-log: make some variables 'static'
These are not used outside this file and are not declared.

Signed-off-by: John Keeping <john@keeping.me.uk>
9 years ago
John Keeping eefd5e0aea shared: make some variables 'static'
These are not used outside this file and are not declared.

Signed-off-by: John Keeping <john@keeping.me.uk>
9 years ago
John Keeping 812cd49e31 scan-tree: make some variables 'static'
These are not used outside this file and are not declared.

Signed-off-by: John Keeping <john@keeping.me.uk>
9 years ago
John Keeping 12d3d4c3ed Avoid signed bitfields
Bitfields are only defined for unsigned types.

Detected by sparse.

Signed-off-by: John Keeping <john@keeping.me.uk>
9 years ago
John Keeping e3d3fffdd4 Avoid non-ANSI function declarations
Sparse says things like:

	warning: non-ANSI function declaration of function 'calc_ttl'

Signed-off-by: John Keeping <john@keeping.me.uk>
9 years ago
John Keeping 5150b7c1e6 Makefile: add a target to run CGit through sparse
Signed-off-by: John Keeping <john@keeping.me.uk>
9 years ago
Christian Hesse 97a91657a5 git: update to v2.3.2
Update to git version v2.3.2, no changes required.

Signed-off-by: Christian Hesse <mail@eworm.de>
9 years ago
Jason A. Donenfeld 198d84a9e3 Bump version 9 years ago
Lukas Fleischer 3cb8e76278 Drop return value from parse_user()
In commit 936295c (Simplify commit and tag parsing, 2015-03-03), the
commit and tag parsing code was refactored. This broke tag messages in
ui-tag since the line after the tagger header was erroneously skipped.
Rework parse_user() and skip the line manually outside parse_user().

Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
9 years ago
Lukas Fleischer 4d8ed337cb Remove leading newline characters from tag messages
Fixes a regression introduced in commit 936295c (Simplify commit and tag
parsing, 2015-03-03).

Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
9 years ago
Jason A. Donenfeld ecd6b7230c simple-authentication.lua: tie secure cookies to field names 9 years ago
Jason A. Donenfeld bd24832cd7 cgit: show clone URLs for empty repo 9 years ago
John Keeping db9a70b159 cache: use F_SETLK to avoid stale lock files
If CGit is killed while it holds a lock on a cache slot (for example
because it is taking too long to generate a page), the lock file will be
left in place.  This prevents any future attempt to use the same slot
since it will fail to exclusively create the lock file.

Since CGit is the only program that should be manipulating lock files,
we can use advisory locking to detect whether another process is
actually using the lock file or if it is now stale.

I have confirmed that this works on Linux by setting a short TTL in a
custom cgitrc and running the following with CGit patched to print a
message to stderr if the fcntl(2) fails:

	$ export CGIT_CONFIG=$PWD/cgitrc
	$ export QUERY_STRING=url=cgit/tree/ui-shared.c
	$ ./cgit |
		grep -v -e '^<div class=.footer.>' \
			-e '^Last-Modified: ' \
			-e ^'Expires: ' >expect
	$ seq 50000 | dd bs=8192 |
		parallel -j200 "diff -u expect <(./cgit |
			grep -v -e '^<div class=.footer.>' \
				-e '^Last-Modified: ' \
				-e ^'Expires: ') || echo BAD"

This printed the fail message several times without ever printing "BAD".

Signed-off-by: John Keeping <john@keeping.me.uk>
9 years ago
Jason A. Donenfeld 2e4a41e840 Make root handling sane again. 9 years ago
Jason A. Donenfeld 6bcda2f73d ui-shared: Add current url helper function. 9 years ago
Jason A. Donenfeld db4b735464 ui-shared: keep filter repolist page in pagination 9 years ago
Jason A. Donenfeld c3473e8a5d ui-repolist: use ctx.qry.url instead of rooturl, in case we're filtering 9 years ago
Jason A. Donenfeld e14eee9ea5 ui-repolist: use correct owner query link 9 years ago
Lukas Fleischer 936295c4e4 Simplify commit and tag parsing
* Use skip_prefix to avoid magic numbers in the code.
* Use xcalloc() instead of xmalloc(), followed by manual initialization.
* Split out line splitting.

Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
9 years ago
Christian Hesse 911d574250 git: update to v2.3.1
Update to git version v2.3.1, no changes required.

Signed-off-by: Christian Hesse <mail@eworm.de>
9 years ago
Jason A. Donenfeld 5e3e665d60 Bump verison 9 years ago
Christian Hesse 36b1d78923 shrink cgit.png file size
Ran optipng against cgit.png, which shrank file size by more than eight
percent. The image (including protocol overhead) should fit into a
single network packet now.

Optipng optimizes filters and compression. The actual pixel results are
not altered.

Signed-off-by: Christian Hesse <mail@eworm.de>
9 years ago
Jason A. Donenfeld 6e498de213 ui-clone.c: Fix off-by-one error in pack path
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
9 years ago
Lukas Fleischer b66b16ed02 ui-clone.c: Fix path check
The starts_with() check was broken in two ways: For one thing, the
parameters were passed in the wrong order, for another thing,
starts_with() returns 1 if the string starts with the prefix (not 0).

Note that this bug existed since commit 02a545e (Add support for cloning
over http, 2008-08-06) but only pops in in corner cases.

Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
9 years ago
Christian Hesse 7358f63015 git: update for v2.3.0
* sort_string_list(): rename to string_list_sort() (upstream commit
  3383e199)
* update read_tree_recursive callback to pass strbuf as base (upstream
  commit 6a0b0b6d)

Signed-off-by: Christian Hesse <mail@eworm.de>
9 years ago
Lukas Fleischer 1a9e56607e ui-shared.c: Refactor add_clone_urls()
Make use of strbuf_split_str() and strbuf lists to split clone URLs.

Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
9 years ago
Lukas Fleischer c58cec9dff Add repo.hide and repo.ignore
These options can be used to hide a repository from the index or
completely ignore a repository, respectively. They are particularly
useful when used in combination with scan-path.

Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
9 years ago
Janus 1a2eeb94d4 Add Etags for snapshots 9 years ago
John Keeping c422b9b3d5 tag: reference with "h" instead of "id"
When clicking on "log" from a tag we end up showing the log of whatever
branch we used to reach the tag.  If the tag doesn't point onto a branch
then the tagged commit won't appear in this output.

By linking to tags with the head parameter instead of the "id" parameter
the log link will show the log of the tag.  This is clearly desirable
when the tag has been reached from the refs UI and changing the
behaviour for tag decorations makes them match branch decorations where
log -> decoration -> log shows the log of the decoration.

Reported-by: Ferry Huberts <mailings@hupie.com>
Signed-off-by: John Keeping <john@keeping.me.uk>
9 years ago
Lukas Fleischer ed7e3bc822 Return proper HTTP response when accessing info/
Currently, when a user directly accesses the info command of a
repository, we exit cgit without printing anything to stdout, bringing
up error messages like "502 Bad Gateway" or "An error occurred while
reading CGI reply (no response received)". Instead of bailing out, at
least print the HTTP headers, including a reasonable error message.

Reported-by: Janus Troelsen
Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
9 years ago
Christian Hesse c641e0ab64 git: update to v2.2.2
Update to git version v2.2.2, no changes required.

Signed-off-by: Christian Hesse <mail@eworm.de>
9 years ago
John Keeping d6c4050771 ui-diff: don't link to single file diff stat
Seeing the diff stat for a single file is pretty useless, so reset the
diff type before generating the links to individual files in the diff
stat so that the links will show a useful diff.

Reported-by: Konstantin Ryabitsev <mricon@kernel.org>
Signed-off-by: John Keeping <john@keeping.me.uk>
10 years ago
John Keeping 7552266aac ui-patch: match git-format-patch(1) output
Using (DIFF_FORMAT_DIFFSTAT | DIFF_FORMAT_PATCH) causes Git to emit a
"---" line between the commit message and the body of the patch, which
fixes a regression introduced in commit 455b598 (ui-patch.c: Use
log_tree_commit() to generate diffs, 2013-08-20), prior to which we
inserted the "---" line ourselves.

DIFF_FORMAT_SUMMARY is added so that we match the output of
git-format-patch(1) without the "-p" option.

Signed-off-by: John Keeping <john@keeping.me.uk>
10 years ago
John Keeping ce8f490229 t0108: modernize style
* &&-chaining
* use test_cmp instead of cmp
* use strip_headers instead of knowing how many lines there will be

Signed-off-by: John Keeping <john@keeping.me.uk>
10 years ago
Jason A. Donenfeld b122730014 Revert "git: use xz compressed archive for download"
This reverts commit a87c9d8a97.

We want to make OpenBSD people happy.
10 years ago
Lukas Fleischer 6f9e8a9659 Use split_ident_line() in parse_user()
Use Git's built-in ident line splitting algorithm instead of
reimplementing it. This does not only simplify the code but also makes
sure that cgit is consistent with Git when it comes to author parsing.

Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
10 years ago
Jason A. Donenfeld 2159414a39 footer: link back to cgit home page
The footer has always been overrideable using the footer= in cgitrc, so
this won't anger anybody who cares about their footer.
10 years ago
John Keeping caed6cb27f ui-shared: show absolute time in tooltip for relative dates
Signed-off-by: John Keeping <john@keeping.me.uk>
10 years ago