Commit Graph

1615 Commits

Author SHA1 Message Date
John Keeping
121e653914 contrib/hooks: add sample post-receive hook using agefile
One of the most frequent questions on the mailing list relates to the
idle time in the repository list.  The answer to this is to use the
"agefile" feature to calculate the time of the last change whenever the
repository receives changes.

Add a sample post-receive hook in a new "contrib" directory so that we
can just point people at the repository in the future.

Signed-off-by: John Keeping <john@keeping.me.uk>
2015-08-12 14:06:36 +02:00
Christian Hesse
2eb41c4665 git: update to v2.4.1
Update to git version v2.4.1, no changes required.

Signed-off-by: Christian Hesse <mail@eworm.de>
2015-05-14 13:49:12 +02:00
Christian Hesse
d1ddce90f5 ui-shared: allow remote refs in branch switcher
Signed-off-by: Christian Hesse <mail@eworm.de>
2015-03-18 18:23:46 +01:00
Christian Hesse
84627609f5 git: update to v2.3.3
Update to git version v2.3.3, no changes required.

Signed-off-by: Christian Hesse <mail@eworm.de>
2015-03-14 17:56:15 +01:00
Jason A. Donenfeld
cadbb69990 Bump version 2015-03-13 16:22:11 +01:00
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>
2015-03-13 14:52:52 +01:00
Jason A. Donenfeld
7511f4b4df filters: Add sample gentoo script 2015-03-13 14:51:22 +01:00
Jason A. Donenfeld
f3ab1f178f cgit: remember to set up env vars before empty clone path 2015-03-09 17:42:12 +01:00
Jason A. Donenfeld
8eef4589d0 ui-shared: currenturl should take into account leading slash 2015-03-09 17:42:02 +01:00
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>
2015-03-09 17:41:14 +01:00
John Keeping
80d52079f7 cache: don't use an integer as a NULL pointer
Signed-off-by: John Keeping <john@keeping.me.uk>
2015-03-09 17:40:44 +01:00
John Keeping
d34b967190 ui-shared: don't use an integer as a NULL pointer
Signed-off-by: John Keeping <john@keeping.me.uk>
2015-03-09 17:40:36 +01:00
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>
2015-03-09 17:40:24 +01:00
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>
2015-03-09 17:40:02 +01:00
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>
2015-03-09 17:39:48 +01:00
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>
2015-03-09 17:39:35 +01:00
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>
2015-03-09 17:39:20 +01:00
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>
2015-03-09 17:39:13 +01:00
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>
2015-03-09 17:39:01 +01:00
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>
2015-03-09 17:38:46 +01:00
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>
2015-03-09 17:38:30 +01:00
John Keeping
5150b7c1e6 Makefile: add a target to run CGit through sparse
Signed-off-by: John Keeping <john@keeping.me.uk>
2015-03-09 17:38:22 +01:00
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>
2015-03-07 12:45:58 +01:00
Jason A. Donenfeld
198d84a9e3 Bump version 2015-03-05 15:58:28 +01:00
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>
2015-03-05 15:54:47 +01:00
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>
2015-03-05 15:54:34 +01:00
Jason A. Donenfeld
ecd6b7230c simple-authentication.lua: tie secure cookies to field names 2015-03-05 15:51:22 +01:00
Jason A. Donenfeld
bd24832cd7 cgit: show clone URLs for empty repo 2015-03-05 02:32:13 +01:00
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>
2015-03-03 23:55:27 +01:00
Jason A. Donenfeld
2e4a41e840 Make root handling sane again. 2015-03-03 17:33:34 +01:00
Jason A. Donenfeld
6bcda2f73d ui-shared: Add current url helper function. 2015-03-03 17:18:42 +01:00
Jason A. Donenfeld
db4b735464 ui-shared: keep filter repolist page in pagination 2015-03-03 17:13:52 +01:00
Jason A. Donenfeld
c3473e8a5d ui-repolist: use ctx.qry.url instead of rooturl, in case we're filtering 2015-03-03 17:06:48 +01:00
Jason A. Donenfeld
e14eee9ea5 ui-repolist: use correct owner query link 2015-03-03 16:53:11 +01:00
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>
2015-03-03 16:47:30 +01:00
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>
2015-03-03 16:47:22 +01:00
Jason A. Donenfeld
5e3e665d60 Bump verison 2015-02-15 22:12:12 +01:00
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>
2015-02-15 22:06:24 +01:00
Jason A. Donenfeld
6e498de213 ui-clone.c: Fix off-by-one error in pack path
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2015-02-09 12:29:57 +01:00
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>
2015-02-09 11:51:14 +01:00
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>
2015-02-08 18:11:09 +01:00
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>
2015-02-05 10:44:11 +01:00
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>
2015-01-29 16:41:14 +01:00
Janus
1a2eeb94d4 Add Etags for snapshots 2015-01-28 13:42:49 +01:00
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>
2015-01-19 17:52:10 +01:00
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>
2015-01-15 19:48:44 +01:00
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>
2015-01-13 14:54:22 +01:00
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>
2014-12-30 10:09:25 +01:00
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>
2014-12-28 14:44:44 +01:00
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>
2014-12-28 14:43:51 +01:00