aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
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-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-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-13Merge branch 'stable'Lars Hjemli4-6/+7
* 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-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-02Merge branch 'stable'Lars Hjemli2-3/+7
* stable: Handle missing timestamp in commit/tag objects Set commit date on snapshot contents
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-11Merge branch 'lh/testsuite'Lars Hjemli22-25/+334
* lh/testsuite: Set commit date on snapshot contents Fix html error detected by test-suite Create initial testsuite
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>
2007-11-11Fix html error detected by test-suiteLars Hjemli11-27/+37
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2007-11-11Create initial testsuiteLars Hjemli12-1/+299
This creates a simple testsuite, heavily inspired by the testsuite in git. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2007-11-09Merge branch 'stable'Lars Hjemli1-4/+7
* stable: CGIT 0.7.1 Makefile install: include cgit.png, do not empty cache Conflicts: Makefile
2007-11-09CGIT 0.7.1v0.7.1Lars Hjemli1-1/+1
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2007-11-09Makefile install: include cgit.png, do not empty cacheLars Hjemli1-3/+6
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-09Minor css tweaksLars Hjemli1-10/+1
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-08Merge branch 'stable'Lars Hjemli1-2/+4
* stable: Support "/" as virtual-root
2007-11-08Support "/" as virtual-rootLars Hjemli1-2/+4
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-06Makefile: link with libiconv if NEEDS_LIBICONV is definedLars Hjemli1-0/+5
This seems to be needed to compile on cygwin. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2007-11-06Merge branch 'iconv-rebased' of http://x2a.org/pub/git/cgitLars Hjemli4-1/+35
* '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-06Show lines changed as -n/+m in shortlogsLars Hjemli1-7/+14
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-06Use utf8::reencode_string from gitLars Hjemli2-60/+5
This replaces the iconv-support in cgit with similar functions already existing in git. Signed-off-by: Lars Hjemli <hjemli@gmai.com>
2007-11-06Convert subject and message with iconv_msg.Jonathan Bastien-Filiatrault1-0/+14