aboutsummaryrefslogtreecommitdiffstats
path: root/cgit.c (unfollow)
Commit message (Collapse)AuthorFilesLines
2008-04-08Move cgit_parse_query() from parsing.c to html.c as http_parse_querystring()Lars Hjemli6-64/+68
This is a generic http-function. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-04-01Use GIT-1.5.5-rc2Lars Hjemli1-0/+0
2008-03-28Move function for configfile parsing into configfile.[ch]Lars Hjemli6-78/+99
This is a generic function which wanted its own little object file. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-03-27Add cache.hLars Hjemli4-14/+25
The functions found in cache.c are only used by cgit.c, so there's no point in rebuilding all object files when the cache interface is changed. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-03-25Remove global and obsolete cgit_cmdLars Hjemli2-2/+1
This variable was obsoleted by cmd.c. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-03-25Makefile: copy the QUIET constructs from the Makefile in git.gitLars Hjemli1-5/+31
These constructs were introduced by Shawn O. Pearce in commit 74f2b2a8d006a49e1be7e30731c2f7365d2741d1. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-03-24Move cgit_version from shared.c to cgit.cLars Hjemli3-3/+5
With the matching Makefile change, this makes sure that only cgit.o and cgit proper needs to be rebuildt when VERSION has been modified. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-03-24Makefile: autobuild dependency rulesLars Hjemli2-1/+11
This uses gcc to generate dependency rules for each `.o` file, based on the corresponding `.c` file, into a new set of `.d` files (which are also defined to depend on the same set of source files as their `.o` files). Result: * all objectfile dependencies are correctly calculated * only the necessary dependencies are recalculated when a sourcefile is updated Inspiration for the build rules: * http://www.gnu.org/software/make/manual/make.html#Automatic-Prerequisites * http://make.paulandlesley.org/autodep.html Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-03-24Initial Makefile cleanupLars Hjemli1-7/+22
Sort the list of object files to improve readability/mergeability and remove manual dependency information which will soon be generated automatically. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-03-24Move non-generic functions from shared.c to cgit.cLars Hjemli3-157/+155
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-03-24Add ui-shared.hLars Hjemli13-32/+47
This is finally a proper headerfile for the shared ui-functions which used to reside in cgit.h Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-03-24Add separate header-files for each page/viewLars Hjemli15-189/+257
Yet another step towards removing cgit.h. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-03-24Refactor snapshot supportLars Hjemli4-86/+90
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-24Add command dispatcherLars Hjemli7-110/+169
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-24Remove obsolete cacheitem parameter to ui-functionsLars Hjemli6-17/+16
This parameter hasn't been used for a very long time... Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-03-24Add struct cgit_page to cgit_contextLars Hjemli8-88/+113
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-23Use GIT-1.5.5.rc1Lars Hjemli2-1/+1
2008-03-18Introduce html.hLars Hjemli17-46/+71
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-17Fix segfault in patch view for root commitLars Hjemli2-1/+42
The code for patch view assumed the current commit would always have a parent, which made cgit segfault when that wasn't the case. This fixes the bug and adds a test-script for patch view which includes a test for the inital commit. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-03-17Use GIT-1.5.4.4Lars Hjemli2-1/+1
2008-02-24tests/setup.sh: cleanup test script output and loggingLars Hjemli1-2/+8
Log the complete output from each test-script in test-output.log and tell the user about the logfile when a test-script fails. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-02-24t0010-validate.sh: return on cgit errorsLars Hjemli1-1/+4
The earlier segfault in cgit passed by unnoticed by this test-script due to the pipe between cgit and sed. There might be a more elegant solution to this problem, but my shellscript- foo is weak. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-02-24Make output from `make test` more readableLars Hjemli1-2/+2
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-02-24Brown paper bag: don't use `grep -v`Lars Hjemli2-5/+5
For some inexplicable reason I'd gotten the semantics of `grep -v` totally backwards, thinking it somehow would make the exitcode from grep indicate the non-match of the specified pattern. This fixes the broken tests and gives me a valuable lession about shell programming at the same time. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-02-24Add regression-test for description-less reposLars Hjemli2-1/+5
The segfault fixed in commit eacde43d7184452e1fdc90b982b531f1f5239923 was triggered when the html-functions manipulated string literals. One callpatch which could trigger the bug is in ui-repolist.c when repo descriptions are passed to html_ntxt(): if a repo is lacking a description, the literal string "[no description]" is used. This patch changes test/setup.sh such that the first repo has no description, and adds tests for both "[no description]" and "the bar repo" (description of the other repo) to tests/t0101-index.sh, which should be enought to catch regressions in these functions. Noticed-by: Hiroki Hattori <seagull.kamome@gmail.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-02-23Fix segfaultHiroki Hattori1-15/+5
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-02-16Improve initialization of git directoryLars Hjemli2-10/+9
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-16Move cgit_repo into cgit_contextLars Hjemli11-103/+101
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-16Add all config variables into struct cgit_contextLars Hjemli7-175/+166
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-16Introduce struct cgit_contextLars Hjemli13-164/+156
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-16Use GIT-1.5.4.1Lars Hjemli2-1/+1
2008-02-02Use GIT-1.5.4Lars Hjemli2-1/+1
2008-01-28Use GIT-1.5.4.rc5Lars Hjemli2-1/+1
2008-01-21Use GIT-1.5.4.rc4Lars Hjemli3-2/+2
2008-01-10CGIT 0.7.2v0.7.2Lars Hjemli1-1/+1
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-01-10Use GIT-1.5.3.8Lars Hjemli2-1/+1
2008-01-10Check for NULL-subject in patch viewLars Hjemli1-1/+6
While at it, make sure the commit message ends with a '\n'. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-01-04Handle missing default branch and error out on invalid branch namesLars Hjemli1-4/+58
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>
2007-12-11Add plain patch viewLars Hjemli6-2/+122
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-03Add support for automatic and custom clone urlsLars Hjemli4-0/+31
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-03Compare string lengths when parsing the snapshot maskLars Hjemli1-3/+4
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-03Default repo description to "[no description]"Evan Martin1-1/+1
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-02Handle missing timestamp in commit/tag objectsLars Hjemli2-3/+7
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-11-16Add cell-spacing in htmlLars Hjemli1-1/+1
There are some browsers which don't support the border-spacing property Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2007-11-16Use tables for page layoutLars Hjemli2-30/+41
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-16Gimp my logoLars Hjemli1-0/+0
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2007-11-11Add support for "robots" meta-tagLars Hjemli4-0/+11
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-11Generate valid html for "downloads" menu headerLars Hjemli1-1/+1
Noticed-by: http://validator.w3.org Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2007-11-11Set commit date on snapshot contentsLars Hjemli1-0/+1
The testsuite revealed that cgit snapshots don't set any useful timestamp on the files contained in the snapshot. Cherry-picked-from: 2ff33a8a0405b420cd75e0e207c7efeecd6f130b Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2007-11-11Set commit date on snapshot contentsLars Hjemli1-0/+1
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>