Commit Graph

1476 Commits

Author SHA1 Message Date
Christian Hesse
3a0fd5e6b8 ui-commit: replace 'unsigned char sha1[20]' with 'struct object_id oid'
Upstream git is replacing 'unsigned char sha1[20]' with 'struct object_id
oid'. We have some code that can be changed independent from upstream. So
here we go...
2016-10-04 09:47:18 +02:00
Christian Hesse
6e4b7b6776 ui-blob: replace 'unsigned char sha1[20]' with 'struct object_id oid'
Upstream git is replacing 'unsigned char sha1[20]' with 'struct object_id
oid'. We have some code that can be changed independent from upstream. So
here we go...

In addition replace memmove() with hashcpy().
2016-10-04 09:47:18 +02:00
Christian Hesse
aee990b6a4 cgit: replace 'unsigned char sha1[20]' with 'struct object_id oid'
Upstream git is replacing 'unsigned char sha1[20]' with 'struct object_id
oid'. We have some code that can be changed independent from upstream. So
here we go...
2016-10-04 09:47:18 +02:00
Jason A. Donenfeld
ef3108656b Makefile: remove extra space
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2016-10-01 23:35:04 +02:00
Lukas Fleischer
927b0ae30c Simplify http_parse_querystring()
Instead of reimplementing URL parameter parsing from scratch, use
url_decode_parameter_name() and url_decode_parameter_value() which are
already provided by Git.

Also, change the return type of http_parse_querystring() to void since
its only caller already ignores the return value.

Signed-off-by: Lukas Fleischer <lfleischer@lfos.de>
2016-10-01 21:19:38 +02:00
John Keeping
e18a85b6a2 ui-tree: remove a fixed size buffer
As libgit.a moves away from using fixed size buffers, there is no
guarantee that PATH_MAX is sufficient for all of the paths in a Git
tree, so we should use a dynamically sized buffer here.

Coverity-Id: 141884
Signed-off-by: John Keeping <john@keeping.me.uk>
2016-10-01 11:46:55 +01:00
John Keeping
f80b73fa20 ui-tag: clean up taginfo
Free the taginfo when we're done with it.  Also reduce the scope of a
couple of variables so that it's clear that this is the only path that
uses the taginfo structure.

Coverity-Id: 141883
Signed-off-by: John Keeping <john@keeping.me.uk>
2016-10-01 11:46:55 +01:00
John Keeping
b19d889f6c shared: make cgit_free_taginfo() public
We will use this function from ui-tag.c in the next patch.

Signed-off-by: John Keeping <john@keeping.me.uk>
2016-10-01 11:46:55 +01:00
John Keeping
d9dff37691 shared: remove return value from cgit_free_commitinfo()
This return value is never used and the function always returns NULL.

Signed-off-by: John Keeping <john@keeping.me.uk>
2016-10-01 11:46:55 +01:00
John Keeping
000cf294c4 tree: allow skipping through single-child trees
If we have only a single element in a directory (for example in Java
package paths), display multiple directories in one go so that it is
possible to navigate directly to the first directory that contains
either files or multiple directories.

Signed-off-by: John Keeping <john@keeping.me.uk>
2016-10-01 11:45:17 +01:00
John Keeping
7e67c64894 ui-ssdiff: fix decl-after-statement warnings
git.git's coding style avoids decl-after-statement and we generally try
to follow it but a few warnings have crept in recently.  Fix the one in
ui-ssdiff.c

Signed-off-by: John Keeping <john@keeping.me.uk>
2016-10-01 11:43:45 +01:00
John Keeping
bead27b730 ui-shared: fix decl-after-statement warnings
git.git's coding style avoids decl-after-statement and we generally try
to follow it but a few warnings have crept in recently.  Fix the ones in
ui-shared.c

Signed-off-by: John Keeping <john@keeping.me.uk>
2016-10-01 11:43:45 +01:00
John Keeping
35df710a1f configfile: fix EOF handling
Currently we can end up passing EOF to isspace(), which is in fact
libgit's sane_isspace which does:

	((sane_ctype[(unsigned char)(x)] & (GIT_SPACE)) != 0)

It is very unlikely that EOF cast to "unsigned char" will end up in a
character that has the GIT_SPACE bit set, but the standard only requires
that EOF be a negative integer, so it could access any value in the
sane_ctype array.

If it does end up returning true for isspace() then this loop will never
terminate, so handle EOF as a special value in the same way as the other
loops in this function.

Signed-off-by: John Keeping <john@keeping.me.uk>
2016-10-01 11:43:33 +01:00
Christian Hesse
11695a58fd git: update to v2.10.0
Upstream continues to replace unsigned char *sha1 with struct
object_id old_oid. This makes the required changes.

The git lib has its own main function now. Rename our main function
to cmd_main, it is called from main then.
2016-09-04 12:38:18 +02:00
Richard Maw
ff9893ac81 Fix qry.head leak on error
This is run soon before exiting so it wasn't leaked for long.

Signed-off-by: Richard Maw <richard.maw@gmail.com>
2016-07-12 01:06:04 +02:00
Christian Hesse
d6b0332982 git: update to v2.9.1
Update to git version v2.9.1, no changes required.

Signed-off-by: Christian Hesse <mail@eworm.de>
2016-07-12 01:04:56 +02:00
Peter Colberg
40fbefba05 Link with -ldl on GNU/kFreeBSD
GNU/kFreeBSD uses the FreeBSD kernel with the GNU C library.

Signed-off-by: Peter Colberg <peter@colberg.org>
2016-07-06 23:58:03 +02:00
Peter Colberg
ccf79b3576 Fix spelling in man page
Signed-off-by: Peter Colberg <peter@colberg.org>
2016-07-06 23:45:29 +02:00
Eric Wong
590ba455d6 ui-shared: fix segfault when defbranch is NULL
Not sure if there's a better fix for this.  defbranch is
NULL here on my setup when a crawler hit an invalid URL,
causing strcmp to segfault.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
2016-07-06 11:29:23 +02:00
Christian Hesse
c19d983ed7 css: consistent use of empty lines
Signed-off-by: Christian Hesse <mail@eworm.de>
2016-07-05 16:15:58 +02:00
Christian Hesse
4fb49864db ui-log: color line changes
Signed-off-by: Christian Hesse <mail@eworm.de>
2016-07-05 16:14:47 +02:00
Lukas Fleischer
9984e7ab49 Avoid ambiguities when prettifying snapshot names
When composing snapshot file names for a tag with a prefix of the form
v[0-9] (resp. V[0-9]), the leading "v" (resp. "V") is stripped. This
leads to conflicts if a tag with the stripped name already exists or if
there are tags only differing in the capitalization of the leading "v".
Make sure we do not strip the "v" in these cases.

Reported-by: Juuso Lapinlampi <wub@partyvan.eu>
Signed-off-by: Lukas Fleischer <lfleischer@lfos.de>
2016-07-05 16:14:40 +02:00
Christian Hesse
1e039ada85 git: update to v2.9.0
Update to git version v2.9.0, no changes required.

Signed-off-by: Christian Hesse <mail@eworm.de>
2016-06-17 12:36:58 +02:00
Kylie McClain
5062fbe7ec cgit.mk: Use $PKG_CONFIG
PKG_CONFIG is a variable dictated by autoconf standards; it should
be used if set.
2016-06-17 12:36:24 +02:00
Jason A. Donenfeld
7d51120440 md2html: use utf-8 and flush output buffer
Otherwise we get the classic Python UTF-8 errors, and the text is all
out of order. While we're at it, switch to python3 so we only have to
support one set of oddball semantics.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Suggested-by: Daniel Campbell <dlcampbell@gmx.com>
2016-06-17 12:28:03 +02:00
Jason A. Donenfeld
d88ec849c4 Hosted on HTTPS now 2016-06-07 14:49:35 +02:00
Jason A. Donenfeld
a6572ce176 Bump version.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2016-06-07 14:45:04 +02:00
Christian Hesse
41508c0911 git: update to v2.8.3
Update to git version v2.8.3, no changes required.

Signed-off-by: Christian Hesse <mail@eworm.de>
2016-05-20 11:04:43 +09:00
Jason A. Donenfeld
21bf30b043 ui-diff: action='.' is not correct
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2016-05-12 21:39:06 +02:00
Jason A. Donenfeld
c34e28835b forms: action should not be empty
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2016-05-12 21:29:49 +02:00
Juuso Lapinlampi
9afda36ed7 ui-shared: Remove a name attribute with an empty value
The name attribute is optional in an input element, but it must not be
an empty value.

See: https://html.spec.whatwg.org/#attr-fe-name
See: https://html.spec.whatwg.org/#the-input-element
2016-05-12 17:43:36 +02:00
Juuso Lapinlampi
8d05b398bb ui-shared: HTML-ize DOCTYPE and <html>
Get rid of the XHTML headers, bringing cgit slowly to the modern age of
HTML.
2016-05-12 17:38:01 +02:00
Juuso Lapinlampi
80f12b3e7e ui-shared: Simplify cgit_print_error_page() logic 2016-05-12 17:38:00 +02:00
Christian Hesse
86bf5b4791 git: update to v2.8.2
Update to git version v2.8.2.

* Upstream commit 1a0c8dfd89475d6bb09ddee8c019cf0ae5b3bdc2 (strbuf: give
  strbuf_getline() to the "most text friendly" variant) changed API.

Signed-off-by: Christian Hesse <mail@eworm.de>
2016-05-12 17:23:29 +02:00
Tim Nordell
59d8fa1a62 ui-log: Simplify decoration code
The decoration code inside of git returns the decoration type, so
utilize this to create the decoration spans.  Additionally, use
prettify_refname(...) to get the shorter name for the ref.

Signed-off-by: Tim Nordell <tim.nordell@logicpd.com>
2016-05-12 17:19:20 +02:00
Tim Nordell
499b23979c ui-log: Do not always emit decoration span
The decoration span does not need to be emited if there aren't
any decorations to show.  This modification saves slightly
on bandwidth.

Signed-off-by: Tim Nordell <tim.nordell@logicpd.com>
2016-05-12 17:17:02 +02:00
Matt Comben
39735d95ca Renamed repo-specific configuration for enable-html-serving in cgitrc.5.txt 2016-03-08 14:42:26 +01:00
Jason A. Donenfeld
e9cbdf6463 ui-shared: redirect should not exit early for cache
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2016-02-26 13:24:35 +01:00
Jason A. Donenfeld
09a3aa5ae7 about: path_info might not be valid 2016-02-26 13:14:52 +01:00
Jason A. Donenfeld
c424b5cb02 tabs: do not use target=_blank 2016-02-23 15:35:32 +01:00
Jason A. Donenfeld
46ff6e1993 css: fix indentation 2016-02-23 15:15:57 +01:00
Christian Hesse
a0d22c391e css: use less blurry icon for external link
Your mileage may vary, but for me the old icon looks blurry. The new
one is character 0xf08e from OTF font awsome in size 10.
The icon color is black, gray level is adjusted via opacity.

Signed-off-by: Christian Hesse <mail@eworm.de>
2016-02-23 15:15:57 +01:00
Jason A. Donenfeld
1892cd9a60 md2html: Do syntax highlighting too 2016-02-23 15:00:05 +01:00
Christian Hesse
a9e9dfc55f git: update to v2.7.2
Update to git version v2.7.2, no changes required.

Signed-off-by: Christian Hesse <mail@eworm.de>
2016-02-23 03:16:26 +01:00
Joe Anakata
de6098be6a ui-plain: fix to show a repo's root directory listing in plain view
This is to fix the case of accessing http://host.com/cgit.cgi/repo.git/plain/

There is code here to make this case work (match_baselen is set to -1
for top-of-the-tree views) but the unsigned to signed comparison was
always false in this case, causing an empty directory listing without
this fix.

Signed-off-by: Joe Anakata <jea-signup-github@anakata.org>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2016-02-22 18:46:33 +01:00
Jason A. Donenfeld
94c02bbf73 cmd: redirect empty about/ to homepage or summary
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2016-02-22 18:40:15 +01:00
Jason A. Donenfeld
5f2664f13c ui-shared: add homepage to tabs
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2016-02-22 18:40:13 +01:00
John Keeping
75298209bf ui-atom: avoid DATE_STRFTIME
Git's DATE_STRFTIME ignores the timezone argument and just uses the
local timezone regardless of whether the "local" flag is set.

Since Atom accepts ISO8601 dates [1], we can use Git's
DATE_ISO8601_STRICT instead, which does get this right.  Additionally,
we never use the local timezone here so we can use the
date_mode_from_type() wrapper to simplify the code a bit.

[1] https://tools.ietf.org/html/rfc4287#section-3.3

Signed-off-by: John Keeping <john@keeping.me.uk>
2016-02-08 18:29:11 +01:00
John Keeping
9c15f3c695 Avoid DATE_STRFTIME for long/short dates
Git's DATE_STRFTIME ignores the timezone argument and just uses the
local timezone regardless of whether the "local" flag is set.

Since our existing FMT_LONGDATE and FMT_SHORTDATE are pretty-much
perfect matches to DATE_ISO8601 and DATE_SHORT, switch to taking a
date_mode_type directly in cgit_date_mode().

Signed-off-by: John Keeping <john@keeping.me.uk>
2016-02-08 18:28:18 +01:00
John Keeping
bdcbe0922d ui-stats: cast pointer before checking for zero
We abuse the "void *util" field as a counter and recently started to
cast it to a uintptr_t to avoid risking nasal demons by performing
arithmetic on a void pointer.

However, compilers are also known to do "interesting" things if they
know that a pointer is or isn't NULL.  Make this safer by checking if
the counter (after casting) is non-zero rather than checking if the
pointer is non-null.

Signed-off-by: John Keeping <john@keeping.me.uk>
2016-02-08 18:27:38 +01:00