Commit Graph

319 Commits

Author SHA1 Message Date
Lars Hjemli
f34478cbe0 Refactor snapshot support
The snapshot support needs to be split between output- and config-related
functions to get the layering between shared.c and ui-*.c right. There
is also some codestyle-issues which needs fixing to make the snapshot
functions more similar to the rest of the cgit code.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-03-24 16:00:27 +01:00
Lars Hjemli
e0e4478e7b Add command dispatcher
This simplifies the code in cgit.c and makes it easier to extend cgit with
new pages/commands.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-03-24 01:43:48 +01:00
Lars Hjemli
b608e88adb Remove obsolete cacheitem parameter to ui-functions
This parameter hasn't been used for a very long time...

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-03-24 01:01:28 +01:00
Lars Hjemli
f3c1a187fe Add struct cgit_page to cgit_context
This struct is used when generating http headers, and as such is another
small step towards the goal of the whole cleanup series; to invoke each
page/view function with a function pointer.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-03-24 00:51:19 +01:00
Lars Hjemli
b1f9b9c145 Introduce html.h
All html-functions can be quite easily separated from the rest of cgit, so
lets do it; the only issue was html_filemode which uses some git-defined
macros so the function is moved into ui-shared.c::cgit_print_filemode().

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-03-18 08:13:10 +01:00
Lars Hjemli
b88fb016d0 Improve initialization of git directory
Using the functions offered by libgit feels like the right thing to do. Also,
make sure that config errors gets properly reported.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-02-16 21:48:19 +01:00
Lars Hjemli
d1f3bbe9d2 Move cgit_repo into cgit_context
This removes the global variable which is used to keep track of the
currently selected repository, and adds a new variable in the cgit_context
structure.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-02-16 13:56:09 +01:00
Lars Hjemli
b228d4ff82 Add all config variables into struct cgit_context
This removes another big set of global variables, and introduces the
cgit_prepare_context() function which populates a context-variable with
compile-time default values.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-02-16 13:10:50 +01:00
Lars Hjemli
d14d77fe95 Introduce struct cgit_context
This struct will hold all the cgit runtime information currently found in
a multitude of global variables.

The first cleanup removes all querystring-related variables.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-02-16 12:07:28 +01:00
Lars Hjemli
e5ed227ef0 Use GIT-1.5.4.1 2008-02-16 11:28:16 +01:00
Lars Hjemli
2106c96ca0 Use GIT-1.5.4 2008-02-02 08:55:09 +01:00
Lars Hjemli
ac195ce710 Use GIT-1.5.4.rc5 2008-01-28 21:18:28 +01:00
Lars Hjemli
776200b1c1 Use GIT-1.5.4.rc4 2008-01-21 08:52:09 +01:00
Lars Hjemli
2122c696a3 Merge branch 'stable'
* stable:
  CGIT 0.7.2
  Use GIT-1.5.3.8
  Compare string lengths when parsing the snapshot mask
  Default repo description to "[no description]"
2008-01-13 18:34:37 +01:00
Lars Hjemli
b74cc91574 CGIT 0.7.2
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-01-10 13:50:22 +01:00
Lars Hjemli
edf0ae3bd7 Use GIT-1.5.3.8 2008-01-10 13:47:18 +01:00
Lars Hjemli
f39c3c99a1 Check for NULL-subject in patch view
While at it, make sure the commit message ends with a '\n'.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-01-10 12:50:12 +01:00
Lars Hjemli
f80ff37a17 Handle missing default branch and error out on invalid branch names
When no branch is specified and the repository does not have a default branch,
use the first branch.

Also, print sensible errormessages when the repository does not contain any
branches and when invalid branchnames are specified.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-01-04 13:43:40 +01:00
Lars Hjemli
620bb3e5e4 Add plain patch view
The new view mimics the output from `git format-patch`, making it possible
to cherry-pick directly from cgit with something like `curl $url | git am`.

Inspired by a patch to `git-apply` by Mike Hommey:
  http://thread.gmane.org/gmane.comp.version-control.git/67611/focus=67610

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2007-12-11 02:43:24 +01:00
Lars Hjemli
afcdd083da Add support for automatic and custom clone urls
This adds support for two new parameters to cgitrc: clone-prefix and
repo.clone-url.

If clone-prefix is specified, all repos will get a clone url printed in the
sidebar; the url is generated by clone-prefix + repo.url.

Additionally, each repo can specify repo.clone-url which will override any
such auto-generated url.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2007-12-03 01:49:38 +01:00
Lars Hjemli
2216fd6472 Compare string lengths when parsing the snapshot mask
We used to rely on the result from strncmp() without comparing the length of
the strings involved. Even worse, any single-character format specifier would
enable zip-format due to the optional '.'-prefix since the length of the
mask then would become zero.

Noticed-by: Evan Martin <sys@neugierig.org>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2007-12-03 00:39:20 +01:00
Evan Martin
7b346647c9 Default repo description to "[no description]"
Otherwise, when you leave out a description for a repository, the NULL
default causes cgit to print out titles like "cgit - (null)".

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2007-12-03 00:21:44 +01:00
Lars Hjemli
dabb34af76 Merge branch 'stable'
* stable:
  Handle missing timestamp in commit/tag objects
  Set commit date on snapshot contents
2007-12-02 22:28:37 +01:00
Lars Hjemli
fc4c4ba3a9 Handle missing timestamp in commit/tag objects
When a commit or tag lacks author/committer/tagger timestamp, do not skip
the next line in the commit/tag object.

Also, do not bother to print timestamps with value 0 as it is close to certain
to be bogus.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2007-12-02 22:27:07 +01:00
Lars Hjemli
e8e6721817 Add cell-spacing in html
There are some browsers which don't support the border-spacing property

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2007-11-16 10:28:29 +01:00
Lars Hjemli
6ef637e090 Use tables for page layout
It feels like the Right Thing, and it fixes some rendering problems in a
much used webbrowser.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2007-11-16 09:52:03 +01:00
Lars Hjemli
fd90d2826a Gimp my logo
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2007-11-16 09:51:35 +01:00
Lars Hjemli
d267d88c9c Add support for "robots" meta-tag
With this change, cgit will start to generate the "robots" meta-tag, using
a default value of "index, nofollow".

The default value can be modified with a new cgitrc variable, "robots".

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2007-11-11 21:57:21 +01:00
Lars Hjemli
1b7c5b2e0b Generate valid html for "downloads" menu header
Noticed-by: http://validator.w3.org
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2007-11-11 13:44:39 +01:00
Lars Hjemli
a7cf406c80 Merge branch 'lh/testsuite'
* lh/testsuite:
  Set commit date on snapshot contents
  Fix html error detected by test-suite
  Create initial testsuite
2007-11-11 13:17:13 +01:00
Lars Hjemli
5b75064a81 Set commit date on snapshot contents
The testsuite revealed that cgit snapshots don't set any useful timestamp on
the files contained in the snapshot.

Cherry-picked-from: 2ff33a8a04
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2007-11-11 13:16:43 +01:00
Lars Hjemli
2ff33a8a04 Set commit date on snapshot contents
The testsuite revealed that cgit snapshots don't set any useful timestamp on
the files contained in the snapshot.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2007-11-11 13:14:15 +01:00
Lars Hjemli
2915483ef6 Fix html error detected by test-suite
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2007-11-11 13:04:28 +01:00
Lars Hjemli
b4649fc905 Create initial testsuite
This creates a simple testsuite, heavily inspired by the testsuite in git.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2007-11-11 12:00:13 +01:00
Lars Hjemli
ab21082c21 Merge branch 'stable'
* stable:
  CGIT 0.7.1
  Makefile install: include cgit.png, do not empty cache

Conflicts:

	Makefile
2007-11-09 13:52:48 +01:00
Lars Hjemli
2919b91d20 CGIT 0.7.1
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2007-11-09 13:51:00 +01:00
Lars Hjemli
9b18632b7e Makefile install: include cgit.png, do not empty cache
The cache-cleaning is potentially dangerous, so lets move it away from the
install target. A special emptycache target can be used to run the rm -rf.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2007-11-09 13:47:58 +01:00
Lars Hjemli
86d6dfa9b7 Minor css tweaks
Don't specify border and background color for input controls, reduce font-
size of heading in sidebar.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2007-11-09 13:19:56 +01:00
Lars Hjemli
6e54bd009c Merge branch 'stable'
* stable:
  Support "/" as virtual-root
2007-11-08 12:22:39 +01:00
Lars Hjemli
c188c482b3 Support "/" as virtual-root
When the virtual-root was a single "/", it would be normalized to NULL due
to removal of trailing slashes, which in turn would fool us to belive that
we shouldn't generate virtual urls.

This makes the "/" normalize to "", effectively allowing virtual urls like
http://example.com/projectname to be generated without specifying the
full domain name as the virtual root.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2007-11-08 12:21:59 +01:00
Lars Hjemli
1ae41a0d1e Makefile: link with libiconv if NEEDS_LIBICONV is defined
This seems to be needed to compile on cygwin.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2007-11-06 09:38:46 +01:00
Lars Hjemli
55ac326ecb Merge branch 'iconv-rebased' of http://x2a.org/pub/git/cgit
* 'iconv-rebased' of http://x2a.org/pub/git/cgit:
  Use utf8::reencode_string from git
  Convert subject and message with iconv_msg.
  Add iconv_msg function.
  Set msg_encoding according to the header.
  Add commit->msg_encoding, allocate msg dynamicly.
2007-11-06 00:38:18 +01:00
Lars Hjemli
d04c4734bc Show lines changed as -n/+m in shortlogs
This is way more informative than the total number of changed lines.

Suggested-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2007-11-06 00:35:12 +01:00
Lars Hjemli
a2ebbd6948 Use utf8::reencode_string from git
This replaces the iconv-support in cgit with similar functions already
existing in git.

Signed-off-by: Lars Hjemli <hjemli@gmai.com>
2007-11-05 18:13:31 -05:00
Jonathan Bastien-Filiatrault
7858a309d7 Convert subject and message with iconv_msg. 2007-11-05 18:13:31 -05:00
Jonathan Bastien-Filiatrault
af08198304 Add iconv_msg function. 2007-11-05 18:13:30 -05:00
Jonathan Bastien-Filiatrault
aa5cc328f4 Set msg_encoding according to the header. 2007-11-05 18:13:30 -05:00
Jonathan Bastien-Filiatrault
3845e177e4 Add commit->msg_encoding, allocate msg dynamicly. 2007-11-05 18:13:30 -05:00
Lars Hjemli
72ede12551 Don't show the the branch selector button if javascript is enabled
Suggested-by: Olivier Ramonat <olivier@ramonat.fr>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2007-11-03 14:17:58 +01:00
Lars Hjemli
601c76eb15 Do not require javascript-enabled clients
A simple submit-button is all that's required to make the branch selector
drop-down work on any client, so lets add one.

Noticed-by: Olivier Ramonat <olivier@ramonat.fr>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2007-11-03 14:05:12 +01:00