about summary refs log tree commit diff
Commit message (Collapse)AuthorAgeFilesLines
...
| * parsing.c: be prepared for unexpected content in commit/tag objectsLars Hjemli2008-09-152-64/+97
| | | | | | | | | | | | | | | | When parsing commits and tags cgit made too many assumptions about the formatting of said objects. This patch tries to make the code be more prepared to handle 'malformed' objects. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Merge branch 'ew/http_host'Lars Hjemli2008-09-151-7/+12
|\ \ | |/ |/| | | | | * ew/http_host: use Host: header to generate cgit_hosturl
| * use Host: header to generate cgit_hosturlEric Wong2008-09-021-7/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I run an instance of lighttpd for cgit behind nginx (nginx doesn't execute CGI). So the port (SERVER_PORT=33333) that lighttpd runs on sends to cgit is different from the standard port 80 that public clients connect to (via nginx). This was causing the Atom feed URL to show the private port number that lighttpd was running on. Since the HTTP/1.1 "Host" header includes the port number if running on a non-standard port, it allows non-client-facing HTTP servers to transparently generate public URLs that clients can see. So use the "Host" header if it is available and fall back to SERVER_NAME/SERVER_PORT for some clients that don't set HTTP_HOST. Signed-off-by: Eric Wong <normalperson@yhbt.net>
* | Update Makefile to use GIT-1.6.0.1Lars Hjemli2008-09-031-1/+1
|/ | | | | | | When updating the git submodule to 1.6.0.1 (and 1.6.0), the Makefile was left behind. This fixes it. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Use GIT-1.6.0.1Lars Hjemli2008-09-021-0/+0
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* ui-plain: handle subdirectoriesLars Hjemli2008-09-021-4/+1
| | | | | | | | | | The callback from read_tree_recursive just needs to check the type of each tree entry; if it's a dir we want to continue scanning, if it's a regular file we'll assume it's the one we requested. And while at it, remove some stray fprintfs. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Use GIT-1.6.0Lars Hjemli2008-09-011-0/+0
|
* Merge branch 'lh/plain'Lars Hjemli2008-09-0112-13/+125
|\ | | | | | | | | | | | | * lh/plain: Supply status description to html_status() ui-tree: link to plain view instead of blob view Implement plain view
| * Supply status description to html_status()Lars Hjemli2008-08-064-14/+12
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * ui-tree: link to plain view instead of blob viewLars Hjemli2008-08-063-4/+12
| | | | | | | | | | | | | | | | | | | | | | The urls for plain view makes it possible to download blobs without knowing their SHA1, but the function needs to be promoted and the link from tree view seems like a perfect fit. PS: Although hidden, the blob view still is nice for direct blob access so there's no point in removing it. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * Implement plain viewLars Hjemli2008-08-069-0/+106
| | | | | | | | | | | | | | This implements a way to access plain blobs by path (similar to the tree view) instead of by sha1. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Merge branch 'lh/clone'Lars Hjemli2008-09-016-0/+140
|\| | | | | | | | | | | | | | | * lh/clone: Add support for cloning over http Conflicts: cmd.c
| * Add support for cloning over httpLars Hjemli2008-08-066-0/+140
| | | | | | | | | | | | | | This patch implements basic support for cloning over http, based on the work on git-http-backend by Shawn O. Pearce. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | cache.c: use %zd for off_t argumentLars Hjemli2008-09-011-1/+1
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail>
* | Use GIT-1.6.0.rc1Lars Hjemli2008-08-062-1/+1
| | | | | | | | | | | | | | Now that rc1 is released as a tarball `make get-git` should start working again. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Makefile: Git dependency, take 3Lars Hjemli2008-08-061-5/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | In commit a1266edfe the build instructions for the git libs where moved to their real targets, which in turn depended on the phony target `git`. But since `git` is an actual directory in cgit the git libs wouldn't be recompiled when needed. So with this patch (third time lucky), cgit is declared to depend on the really phony target `libgit` and the build instructions for `libgit` is to unconditionally rebuild git/libgit.a and git/xdiff/lib.a. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Merge branch 'lh/atom'Lars Hjemli2008-08-067-0/+168
|\ \
| * | Add atom-supportLars Hjemli2008-08-017-0/+168
| |/ | | | | | | | | | | | | This enables a page which generates atom feeds for the current branch and path, heavily inspired by the atom-support in gitweb. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* / cgitrc: explain new local-time optionStefan Naewe2008-08-051-0/+2
|/ | | | | Signed-off-by: Stefan Naewe <stefan.naewe@atlas-elektronik.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Added `local-time` option to cgitrcStefan Naewe2008-08-017-10/+17
| | | | | | | | | When `local-time` is set, commit, tag and patch timestamps will be printed in the servers timezone. Also, regardless of the value of `local-time`, these timestamps will now always show the timezone. Signed-off-by: Stefan Naewe <stefan.naewe@atlas-elektronik.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Makefile: another take on git dependency rulesLars Hjemli2008-08-011-7/+5
| | | | | | | | | | | | | | | When building cgit we depend on xdiff/lib.a and libgit.a in the git directory, but the previous attempt on describing this dependency failed since the build instructions for the libs was placed under the phony `git` target. This patch fixes the issue by moving the build instructions to their real targets. It also makes it clear that only the `cgit` target depends on the git binaries (since they're only used during linking). And while at it, the patch also cleans up the list of phony targets. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Modify default value for a few cgitrc optionsLars Hjemli2008-07-271-2/+5
| | | | | | | | | | | The default max-length used when printing commit messages and repo descriptions can be increased due to the new layout (no sidebar). Also, on the repo summary page I believe it makes sense to only show the ten most recent branches and tags by default, just as it makes sense to show the ten most recent commit messages for the active branch. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Be prepared for empty repositoriesLars Hjemli2008-07-272-4/+9
| | | | | | Before this patch, cgit would segfault on repositories with no refs. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* ui-shared: show repo owner along with descriptionLars Hjemli2008-07-271-3/+3
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* ui-summary: show clone urlsLars Hjemli2008-07-271-0/+41
| | | | | | | | If either repo.clone-url or clone-prefix is specified in cgitrc, all space-separated values in the config option is printed as a possible clone url on the repo summary page. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Makefile: remove the `distclean` and `emptycache` targetsLars Hjemli2008-07-221-7/+0
| | | | | | The `distclean` was hardly useful while the `emptycache` was actively harmful. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Makefile: do not touch the git objects with `make clean`Lars Hjemli2008-07-221-1/+0
| | | | | | | I've been avoiding `make clean` for a long time due to its eagerness to kill all the git objectfiles. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Makefile: fix git dependency rulesLars Hjemli2008-07-221-5/+3
| | | | | | | | The objectfiles depends unconditionally on some specific git binaries while those git binaries depends on the phony `git` target and this patch seems to get these dependencies spelled out correctly. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* tests/Makefile: not everyone has `.` in $PATHLars Hjemli2008-07-221-1/+1
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Adjust to new calling convention for read_tree_recursive()Lars Hjemli2008-07-212-7/+10
| | | | | | | | In GIT-1.6.0, read_tree_recursive takes an extra void pointer for callback data. We might want to use this to avoid some global variables, but for now lets just make sure that we can still compile. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Use GIT-1.6.0-rc0Lars Hjemli2008-07-211-0/+0
|
* Add a favicon option to cgitrcLars Hjemli2008-07-194-0/+10
| | | | | | This option is used to specify a shortcut icon on all cgit pages. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add support for including a footer on all pagesLars Hjemli2008-06-263-4/+13
| | | | | | | | | The new cgitrc option `footer` can be used to include a html-file which replaces the standard 'generated by cgit' message at the bottom of each page. Suggested-by: Peter Danenberg <pcd@wikitex.org> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Merge branch 'master' of git://git.klever.net/patchwork/cgitLars Hjemli2008-06-265-7/+39
|\ | | | | | | | | | | * 'master' of git://git.klever.net/patchwork/cgit: allow specification of directly linked blobs mimetypes allow blob extract blobs by head/path combination
| * allow specification of directly linked blobs mimetypesMichael Krelin2008-06-243-1/+4
| | | | | | | | Signed-off-by: Michael Krelin <hacker@klever.net>
| * allow blob extract blobs by head/path combinationMichael Krelin2008-06-243-6/+35
| | | | | | | | | | | | | | If blob is invoked with no id=, it tries to look up h= and search for path= in there. Once found, proceed as normal, otherwise, fail as normal. Signed-off-by: Michael Krelin <hacker@klever.net>
* | Use GIT-1.5.6Lars Hjemli2008-06-252-1/+1
|/
* Added root-desc to default configuration.Harley Laue2008-05-211-0/+4
| | | | | Signed-off-by: Harley Laue <losinggeneration@gmail.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* ui-tree.c: avoid peeking at GITLINK objectsLars Hjemli2008-05-201-6/+8
| | | | | | | | | When an object in the tree has GITLINK mode-bits we don't need to get any more info about that particular object (and trying to get more info about it will usually generate an annoying warning on stderr since the object typically doesn't exist in the repo anyways). Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* cache.c: fix error checking in print_slot()Lars Hjemli2008-05-201-4/+7
| | | | | | | | The change to print_slot() in cdc6b2f8e7a8d43dcfe0475a9d3498333ea686b8 made the function return correct errno for read errors while ignoring write errors, which is not what was intended. This patch tries to rectify things. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* cache.c: do not ignore errors from print_slot()Lars Hjemli2008-05-182-5/+15
| | | | | | | | | | | | If print_slot() fails, the client will be served an inferior response. This patch makes sure that such an error will be returned to main(), which in turn will try to inform about the error in the response itself. The error is also printed to the cache_log, i.e. stderr, which will make the error message appear in error_log (atleast when httpd==apache). Noticed-by: Jim Meyering <jim@meyering.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* cache.c: use xread()/xwrite() from libgitLars Hjemli2008-05-181-6/+6
| | | | | | | | | | | These functions handles EINTR/EAGAIN errors during read/write operations, which is something cache.c didn't. While at it, fix a bug in print_slot() where errors during reading from the cache slot might go by unnoticed. Noticed-by: Jim Meyering <jim@meyering.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* cache.c: make all io-related functions return errno on errorLars Hjemli2008-05-181-9/+24
| | | | | | | | We'll need proper return-values from these functions to make the cache behave correctly (which includes giving proper error messages). Noticed-by: Jim Meyering <jim@meyering.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* cache.c: read(2) returns -1 on error, not 0Lars Hjemli2008-05-181-1/+1
| | | | | Noticed-by: Jim Meyering <jim@meyering.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Use GIT-1.5.5.1Lars Hjemli2008-05-182-1/+1
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Include commit-id in link from diff-statLars Hjemli2008-05-182-1/+2
| | | | | | | This fixes a regression created by fe1230dece81450004d02fa8a470f8dab8f7fdd9, and modifies a test to avoid future regressions. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* ui-commit: handle root commitsLars Hjemli2008-05-182-3/+22
| | | | | | | | | Both cgit_print_diff() and cgit_diff_tree() handles root commits nicely, but cgit_print_commit() forgot to check the case of 0 parents. This fixes it, and adds tests to avoid future regressions. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add link to index page from repo header, remove page nameLars Hjemli2008-05-042-2/+5
| | | | | | | | | | | This makes it more obvious how to get back to the index, especially when the config option `logo-link` is used. And the page name displayed in the header provided no extra information. It only consumed space and deserved to die. While at it, make sure that the different parts of the header doesn't wrap when horizontal space is limited. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add footer with page creation time and cgit version on all pagesLars Hjemli2008-05-032-0/+9
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add a pager on the repolistLars Hjemli2008-05-034-1/+32
| | | | | | | | This enables a pager on the repolist which restricts the number of entries displayed per page, controlled by the new option `max-repo-count` (default value 50). Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add cgit_index_link() function with support for offsetLars Hjemli2008-05-032-5/+19
| | | | | | This function will be used to build a pager in ui-repolist. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Merge branch 'lh/cache'Lars Hjemli2008-05-037-213/+503
|\ | | | | | | | | | | * lh/cache: Add page 'ls_cache' Redesign the caching layer
| * Add page 'ls_cache'Lars Hjemli2008-04-283-5/+87
| | | | | | | | | | | | | | | | This new page will list all entries found in the current cache, which is useful when reviewing the new cache implementation. There are no links to the new page, but it's reachable by adding 'p=ls_cache' to any cgit url. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * Redesign the caching layerLars Hjemli2008-04-286-208/+416
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The original caching layer in cgit has no upper bound on the number of concurrent cache entries, so when cgit is traversed by a spider (like the googlebot), the cache might end up filling your disk. Also, if any error occurs in the cache layer, no content is returned to the client. This patch redesigns the caching layer to avoid these flaws by * giving the cache a bound number of slots * disabling the cache for the current request when errors occur The cache size limit is implemented by hashing the querystring (the cache lookup key) and generating a cache filename based on this hash modulo the cache size. In order to detect hash collisions, the full lookup key (i.e. the querystring) is stored in the cache file (separated from its associated content by ascii 0). The cache filename is the reversed 8-digit hexadecimal representation of hash(key) % cache_size which should make the filesystem lookup pretty fast (if directory content is indexed/sorted); reversing the representation avoids the problem where all keys have equal prefix. There is a new config option, cache-size, which sets the upper bound for the cache. Default value for this option is 0, which has the same effect as setting nocache=1 (hence nocache is now deprecated). Included in this patch is also a new testfile which verifies that the new option works as intended. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Print an error if filename is not found in html_include.Harley Laue2008-04-291-1/+5
| | | | | | | | | | | | | | | | | | | | Normally when html_include cannot open the file it fails silently and things can be a bit hard to figure out from just looking at apache's log. This will be beneficial for those initially setting up their server with cgit. Signed-off-by: Harley Laue <losinggeneration@aim.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Merge branch 'lh/about'Lars Hjemli2008-04-298-16/+100
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | * lh/about: Add 'about site' and 'about repo' pages Prepare for 'about site' page / add 'root-readme' option to cgitrc Make it possible for a single cmd to work both with and without a repo Re-enable 'index-info' and add support for 'root-desc' in cgitrc Move included header-file out of repolist table Prepare for 'about repo' page
| * | Add 'about site' and 'about repo' pagesLars Hjemli2008-04-292-3/+59
| | | | | | | | | | | | | | | | | | | | | | | | This commit uses the options and changes from the last few commits to implement a new 'about' command which works both with and without a repo. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | Prepare for 'about site' page / add 'root-readme' option to cgitrcLars Hjemli2008-04-294-0/+10
| | | | | | | | | | | | | | | | | | | | | The new option names a file which will be included on a new page, next to the current 'index' page. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | Make it possible for a single cmd to work both with and without a repoLars Hjemli2008-04-291-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When cgit_cmd.want_repo was 0, we used to assume that the cmd would never be invoked for a repo. But soon this will become untrue (the 'about' cmd is rapidly approching), so from now on we will initialize any requested repo even if want_repo==0 (and return an error if want_repo==1 but no repo is specified). Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | Re-enable 'index-info' and add support for 'root-desc' in cgitrcLars Hjemli2008-04-293-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The 'index-info' option got lost when the layout was converted from sidebar to old-fashioned header (noticed by Harley Laue, thanks!), and this commit re-enables it. But there is now also an alternative in the 'root-desc' option; where 'index-info' specifies a file to include, 'root-desc' specifies the text literally. This might be nicer for the one-liner descriptions which these options typically provides. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | Move included header-file out of repolist tableLars Hjemli2008-04-291-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | When the 'index-header' option is specified in cgitrc we used to print the included file content inside the repolist table, which is bad style. This commit makes the included file be printed before the table. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | Prepare for 'about repo' pageLars Hjemli2008-04-282-5/+10
|/ / | | | | | | | | | | | | Each repo can include an external file which used to be included on the top of the summary page, but it will now soon get a page of it own. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | ui-diff: remove test on object typeLars Hjemli2008-04-241-6/+0
| | | | | | | | | | | | | | By removing the test for commit objects it's now possible to specify a tag name for the id query-string parameter (it already worked for id2). Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Integrate diffstat with diffLars Hjemli2008-04-243-142/+152
|/ | | | | | | | This creates a generic diffstat function in ui-diff, which then is invoked from cgit_print_diff with the result that both commit and diff- view gets a diffstat. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Fix commitdiff annoyanceLars Hjemli2008-04-171-1/+1
| | | | | | | | | Someone were a bit sloppy when the commitdiff got included 'inline' in commit 89aa3c0d0a4c6d9885272602005975b763ea1604. This patch deletes a stray `)` and makes sure the diffstat summary `<div>` is closed before the full diff is printed. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Cleanup page headerLars Hjemli2008-04-151-17/+4
| | | | | | Fix some invalid html, remove dead code. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Fix search in repo index even if caching is enabledLars Hjemli2008-04-141-1/+3
| | | | | | | The repository index page needed to include the querystring in the cache filename. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Make a few more columns in repolist and log view clickableLars Hjemli2008-04-142-0/+7
| | | | | | Less mouse movement is nice. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Make branches, tags and log play better together in the summary viewLars Hjemli2008-04-143-34/+43
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Fix more css uglinessLars Hjemli2008-04-141-10/+4
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* cgit.css: set form marginsLars Hjemli2008-04-141-1/+1
| | | | | | | | According to the css2 spec, htmlforms have 1.12em top and bottom margins. That doesn't play well with the placement of the search form, so lets force it to use 0em margins. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Fix css font-familyLars Hjemli2008-04-141-1/+1
| | | | | | | When the sidebar was introduced in v0.7 the default font-family property got messed up, but this commit should fix the issue. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Merge branch 'lh/layout'Lars Hjemli2008-04-137-180/+238
|\ | | | | | | | | | | | | | | | | | | | | | | | | * lh/layout: Make repository search case insensitive Remove 'patch' link from tab, add to commit view Implement minimal freetext search in the repolist More layout fixes Minor fixup in tree-view css Reintroduce the branch switcher Add fixed link to index page from repo header Include diff in commit view Replace sidebar/logo
| * Make repository search case insensitiveLars Hjemli2008-04-132-4/+11
| | | | | | | | | | | | | | This reuses the strcasestr() compiled or linked by libgit.a to implement a case insensitive variation of the repository search. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * Remove 'patch' link from tab, add to commit viewLars Hjemli2008-04-133-2/+8
| | | | | | | | | | | | | | | | | | | | It's a bit confusing to enter the patch view from the tab, since it has no layout. And the commit view has always lacked showing the commit id. Both of these warts are fixed by this commit, which adds a new header line in the commit view which shows the commit id as a 'permalink' to the current commit and also adds a link to the patch view of the current commit. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * Implement minimal freetext search in the repolistLars Hjemli2008-04-132-13/+47
| | | | | | | | | | | | | | This makes the repolist much more usable when there's a lot of repositories registered in cgitrc. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * More layout fixesLars Hjemli2008-04-133-33/+98
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * Minor fixup in tree-view cssLars Hjemli2008-04-121-3/+2
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * Reintroduce the branch switcherLars Hjemli2008-04-122-0/+17
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * Add fixed link to index page from repo headerLars Hjemli2008-04-121-3/+9
| | | | | | | | | | | | | | This makes it easier to get back to the index page, and also re-enables the usage of logo-link in cgitrc. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * Include diff in commit viewLars Hjemli2008-04-121-3/+5
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * Replace sidebar/logoLars Hjemli2008-04-123-175/+97
|/ | | | | | | | | This replaces the sidebar with a more 'common' header layout and also updates the logo. Not quite finished yet, though. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Use GIT-1.5.5Lars Hjemli2008-04-092-1/+1
|
* Don't specify mimetype in ui-blob.cLars Hjemli2008-04-082-2/+3
| | | | | | | | But be sure to specify correct filename. This way, the client can hopefully guess a sensible mimetype based on the filename suffix, and cgit can ignore the issue altogether. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Merge branch 'lh/cleanup'Lars Hjemli2008-04-0838-1110/+1372
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lh/cleanup: (21 commits) Reset ctx.repo to NULL when the config parser is finished Move cgit_parse_query() from parsing.c to html.c as http_parse_querystring() Move function for configfile parsing into configfile.[ch] Add cache.h Remove global and obsolete cgit_cmd Makefile: copy the QUIET constructs from the Makefile in git.git Move cgit_version from shared.c to cgit.c Makefile: autobuild dependency rules Initial Makefile cleanup Move non-generic functions from shared.c to cgit.c Add ui-shared.h Add separate header-files for each page/view Refactor snapshot support Add command dispatcher Remove obsolete cacheitem parameter to ui-functions Add struct cgit_page to cgit_context Introduce html.h Improve initialization of git directory Move cgit_repo into cgit_context Add all config variables into struct cgit_context ...
| * Reset ctx.repo to NULL when the config parser is finishedLars Hjemli2008-04-081-0/+1
| | | | | | | | | | | | | | | | | | | | This global variable is used by the config parsing callback to keep track of the currently configured repository. If it is not reset to NULL when the config parser is finished, and neither `url` or `r` is specified on the querystring, cgit will wrongly consider the last configured repo as selected. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * Move cgit_parse_query() from parsing.c to html.c as http_parse_querystring()Lars Hjemli2008-04-086-64/+68
| | | | | | | | | | | | This is a generic http-function. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * Move function for configfile parsing into configfile.[ch]Lars Hjemli2008-03-286-78/+99
| | | | | | | | | | | | This is a generic function which wanted its own little object file. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * Add cache.hLars Hjemli2008-03-274-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>
| * Remove global and obsolete cgit_cmdLars Hjemli2008-03-252-2/+1
| | | | | | | | | | | | This variable was obsoleted by cmd.c. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * Makefile: copy the QUIET constructs from the Makefile in git.gitLars Hjemli2008-03-251-5/+31
| | | | | | | | | | | | | | These constructs were introduced by Shawn O. Pearce in commit 74f2b2a8d006a49e1be7e30731c2f7365d2741d1. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * Move cgit_version from shared.c to cgit.cLars Hjemli2008-03-243-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>
| * Makefile: autobuild dependency rulesLars Hjemli2008-03-242-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>
| * Initial Makefile cleanupLars Hjemli2008-03-241-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>
| * Move non-generic functions from shared.c to cgit.cLars Hjemli2008-03-243-157/+155
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * Add ui-shared.hLars Hjemli2008-03-2413-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>
| * Add separate header-files for each page/viewLars Hjemli2008-03-2415-189/+257
| | | | | | | | | | | | Yet another step towards removing cgit.h. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * Refactor snapshot supportLars Hjemli2008-03-244-85/+89
| | | | | | | | | | | | | | | | | | 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>
| * Add command dispatcherLars Hjemli2008-03-247-109/+168
| | | | | | | | | | | | | | 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>
| * Remove obsolete cacheitem parameter to ui-functionsLars Hjemli2008-03-246-17/+16
| | | | | | | | | | | | This parameter hasn't been used for a very long time... Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * Add struct cgit_page to cgit_contextLars Hjemli2008-03-248-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>
| * Introduce html.hLars Hjemli2008-03-1817-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>
| * Improve initialization of git directoryLars Hjemli2008-02-162-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>
| * Move cgit_repo into cgit_contextLars Hjemli2008-02-1611-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>
| * Add all config variables into struct cgit_contextLars Hjemli2008-02-167-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>
| * Introduce struct cgit_contextLars Hjemli2008-02-1613-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>
* | Use GIT-1.5.5-rc2Lars Hjemli2008-04-011-0/+0
| |
* | Use GIT-1.5.5.rc1Lars Hjemli2008-03-232-1/+1
| |
* | Fix segfault in patch view for root commitLars Hjemli2008-03-172-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>
* | Use GIT-1.5.4.4Lars Hjemli2008-03-172-1/+1
| |
* | tests/setup.sh: cleanup test script output and loggingLars Hjemli2008-02-241-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>
* | t0010-validate.sh: return on cgit errorsLars Hjemli2008-02-241-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>
* | Make output from `make test` more readableLars Hjemli2008-02-241-2/+2
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Brown paper bag: don't use `grep -v`Lars Hjemli2008-02-242-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>
* | Add regression-test for description-less reposLars Hjemli2008-02-242-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>
* | Merge branch 'stable'Lars Hjemli2008-02-231-15/+5
|\ \ | |/ |/| | | | | | | | | * stable: Fix segfault Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * Fix segfaultHiroki Hattori2008-02-231-15/+5
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Use GIT-1.5.4.1Lars Hjemli2008-02-162-1/+1
| |
* | Use GIT-1.5.4Lars Hjemli2008-02-022-1/+1
| |
* | Use GIT-1.5.4.rc5Lars Hjemli2008-01-282-1/+1
| |
* | Use GIT-1.5.4.rc4Lars Hjemli2008-01-213-2/+2
| |
* | Merge branch 'stable'Lars Hjemli2008-01-134-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]"
| * CGIT 0.7.2 v0.7.2Lars Hjemli2008-01-101-1/+1
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * Use GIT-1.5.3.8Lars Hjemli2008-01-102-1/+1
| |
| * Compare string lengths when parsing the snapshot maskLars Hjemli2007-12-031-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>
| * Default repo description to "[no description]"Evan Martin2007-12-031-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>
* | Check for NULL-subject in patch viewLars Hjemli2008-01-101-1/+6
| | | | | | | | | | | | While at it, make sure the commit message ends with a '\n'. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Handle missing default branch and error out on invalid branch namesLars Hjemli2008-01-041-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>
* | Add plain patch viewLars Hjemli2007-12-116-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>
* | Add support for automatic and custom clone urlsLars Hjemli2007-12-034-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>
* | Merge branch 'stable'Lars Hjemli2007-12-022-3/+7
|\| | | | | | | | | | | * stable: Handle missing timestamp in commit/tag objects Set commit date on snapshot contents
| * Handle missing timestamp in commit/tag objectsLars Hjemli2007-12-022-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>
| * Set commit date on snapshot contentsLars Hjemli2007-11-111-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>
* | Add cell-spacing in htmlLars Hjemli2007-11-161-1/+1
| | | | | | | | | | | | There are some browsers which don't support the border-spacing property Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Use tables for page layoutLars Hjemli2007-11-162-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>
* | Gimp my logoLars Hjemli2007-11-161-0/+0
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Add support for "robots" meta-tagLars Hjemli2007-11-114-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>
* | Generate valid html for "downloads" menu headerLars Hjemli2007-11-111-1/+1
| | | | | | | | | | Noticed-by: http://validator.w3.org Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Merge branch 'lh/testsuite'Lars Hjemli2007-11-1122-25/+334
|\ \ | | | | | | | | | | | | | | | | | | * lh/testsuite: Set commit date on snapshot contents Fix html error detected by test-suite Create initial testsuite
| * | Set commit date on snapshot contentsLars Hjemli2007-11-111-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>
| * | Fix html error detected by test-suiteLars Hjemli2007-11-1111-27/+37
| | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | Create initial testsuiteLars Hjemli2007-11-1112-1/+299
|/ / | | | | | | | | | | This creates a simple testsuite, heavily inspired by the testsuite in git. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Merge branch 'stable'Lars Hjemli2007-11-091-4/+7
|\| | | | | | | | | | | | | | | | | | | * stable: CGIT 0.7.1 Makefile install: include cgit.png, do not empty cache Conflicts: Makefile
| * CGIT 0.7.1 v0.7.1Lars Hjemli2007-11-091-1/+1
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * Makefile install: include cgit.png, do not empty cacheLars Hjemli2007-11-091-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>
* | Minor css tweaksLars Hjemli2007-11-091-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>
* | Merge branch 'stable'Lars Hjemli2007-11-081-2/+4
|\| | | | | | | | | * stable: Support "/" as virtual-root
| * Support "/" as virtual-rootLars Hjemli2007-11-081-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>
* | Makefile: link with libiconv if NEEDS_LIBICONV is definedLars Hjemli2007-11-061-0/+5
| | | | | | | | | | | | This seems to be needed to compile on cygwin. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Merge branch 'iconv-rebased' of http://x2a.org/pub/git/cgitLars Hjemli2007-11-064-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.
| * | Use utf8::reencode_string from gitLars Hjemli2007-11-052-60/+5
| | | | | | | | | | | | | | | | | | | | | This replaces the iconv-support in cgit with similar functions already existing in git. Signed-off-by: Lars Hjemli <hjemli@gmai.com>
| * | Convert subject and message with iconv_msg.Jonathan Bastien-Filiatrault2007-11-051-0/+14
| | |
| * | Add iconv_msg function.Jonathan Bastien-Filiatrault2007-11-051-0/+58
| | |
| * | Set msg_encoding according to the header.Jonathan Bastien-Filiatrault2007-11-051-0/+8
| | |
| * | Add commit->msg_encoding, allocate msg dynamicly.Jonathan Bastien-Filiatrault2007-11-054-1/+10
| |/
* / Show lines changed as -n/+m in shortlogsLars Hjemli2007-11-061-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>
* Don't show the the branch selector button if javascript is enabledLars Hjemli2007-11-031-1/+1
| | | | | Suggested-by: Olivier Ramonat <olivier@ramonat.fr> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Do not require javascript-enabled clientsLars Hjemli2007-11-032-0/+16
| | | | | | | | 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>
* CGIT 0.7 v0.7Lars Hjemli2007-11-031-1/+1
|
* Use GIT-1.5.3.5Lars Hjemli2007-11-032-1/+1
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Don't include current SHA1 in 'log' menu-itemLars Hjemli2007-11-031-2/+2
| | | | | | | This ensures that the menu-item always prints the log for the active branch. Predictability is good. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Don't include current path in menu linksLars Hjemli2007-11-031-3/+2
| | | | | | The menu-links are a lot more predictable this way. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Fix search form action/hidden fieldsLars Hjemli2007-11-031-18/+24
| | | | | | | | The search form didn't properly honor the current path, so this commit fixes cgit_fileurl() and add_hidden_formfields() to make the issue go away. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add search parameters to cgit_log_linkLars Hjemli2007-11-036-8/+21
| | | | | | This makes the [prev] and [next] links work correctly on search results. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Fix typo in cssShunichi Fuji2007-11-031-1/+1
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Change the cgit layoutLars Hjemli2007-10-307-197/+231
| | | | | | | | | | | | | | | | | This modifies and hopefully improves the layout of all cgit pages: * Remove the header from all pages and replace it with a sidebar; most pages have sufficient width but many needs more height. * Add a dropdown-box to switch between branches, using a one-liner javascript to reload the current page in context of the selected branch. * Include refs found below refs/archives in the sidebar, appearing as a set of menuitems below a 'download' heading. * Include the brand new cgit logo Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add config param 'index-info'Lars Hjemli2007-10-302-0/+4
| | | | | | | This parameter will be used to include a html file in the upcoming sidebar on the index page. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Teach cgit_object_link() about tag objectsLars Hjemli2007-10-281-0/+3
| | | | | | | This makes random tag links more helpfull, e.g. when a branch head references a tag object, link to the tag page. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Make print_branch() handle refs not pointing at commitsLars Hjemli2007-10-281-5/+11
| | | | | | | | The master branch of stable/linux-2.6.20 currently references a tag object, which makes print_branch() die with a segfault. This teaches print_branch() to handle such cases more gracefully. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Teach log search about --grep, --author and --committerLars Hjemli2007-10-287-9/+39
| | | | | | | This makes the log searching more explicit, using a dropdown box to specify the commit field to match against. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add html_option() functionLars Hjemli2007-10-282-0/+13
| | | | | | This is a generic function used to output html "option" tags. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Merge branch 'stable'Lars Hjemli2007-10-271-2/+2
|\ | | | | | | | | * stable: cgit_parse_commit(): Add missing call to xstrdup()
| * cgit_parse_commit(): Add missing call to xstrdup()Lars Hjemli2007-10-271-2/+2
| | | | | | | | | | | | | | It's rather silly to point into random memory-locations. Also, remove a call to strdup() used on a literal char *. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Cleanup code introduced by the filter-refs topicLars Hjemli2007-10-271-30/+19
| | | | | | | | | | | | | | The functions used to print branches and tags were only half-done and somewhat confused. Fix it. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Merge branch 'filter-refs'Lars Hjemli2007-10-278-37/+229
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * filter-refs: Add links to the new refs page from summary page Add support for refs view Make cgit_print_branches()/cgit_print_tags() external Add descriptions of summary-branches and summary-tags to cgitrc Add support for config param summary-branches Move logic for age comparision from cmp_tag_age into cmp_age() Add support for config param summary-tags Sort tags by age Use reflist to print tag info Use reflist to print branch info Add functions and types for ref lists
| * | Add links to the new refs page from summary pageLars Hjemli2007-10-273-0/+21
| | | | | | | | | | | | | | | | | | | | | If either branches or tags are filtered on the summary page, add a link to refs/heads and/or refs/tags right below the last branch/tag. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | Add support for refs viewLars Hjemli2007-10-275-2/+37
| | | | | | | | | | | | | | | | | | | | | This enables the new urls $repo/refs, $repo/refs/heads and $repo/refs/tags, which can be used to print _all_ branches and/or tags. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | Make cgit_print_branches()/cgit_print_tags() externalLars Hjemli2007-10-272-2/+4
| | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | Add descriptions of summary-branches and summary-tags to cgitrcLars Hjemli2007-10-271-0/+10
| | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | Add support for config param summary-branchesLars Hjemli2007-10-273-3/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | This parameter can be used to specify max number of branches to show on the summary page (if not all branches will be displayed, the "most idle" branches are the ones to be pruned). The default value for this parameter is 0, which disables the pruning. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | Move logic for age comparision from cmp_tag_age into cmp_age()Lars Hjemli2007-10-271-8/+13
| | | | | | | | | | | | | | | | | | Simple refactoring to enable later filtering of branches based on age. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | Add support for config param summary-tagsLars Hjemli2007-10-273-3/+11
| | | | | | | | | | | | | | | | | | | | | This parameter can be used to specify max number of tags to show on the summary page. If not specified, all tags are printed. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | Sort tags by ageLars Hjemli2007-10-271-0/+18
| | | | | | | | | | | | | | | | | | | | | This adds a function to compare timestamps and then uses it as callback for qsort() before printing out tags. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | Use reflist to print tag infoLars Hjemli2007-10-271-17/+19
| | | | | | | | | | | | | | | | | | | | | This updates ui-summary.c to use a reflist instead of for_each_tag_ref(), as a step towards more flexible tag handling (filtering/sorting). Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | Use reflist to print branch infoLars Hjemli2007-10-271-14/+16
| | | | | | | | | | | | | | | | | | | | | This updates ui-summary.c to use a reflist instead of for_each_branch_ref(), as a step towards more flexible branch handling (filtering/sorting). Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | Add functions and types for ref listsLars Hjemli2007-10-272-0/+60
|/ / | | | | | | | | | | | | This adds two structs, refinfo and reflist, and functions for building a list of refs. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Merge branch 'stable'Lars Hjemli2007-10-271-0/+6
|\| | | | | | | | | * stable: Skip unknown header fields when parsing tags and commits
| * Skip unknown header fields when parsing tags and commitsLars Hjemli2007-10-271-0/+6
| | | | | | | | | | | | | | | | Both the commit- and tagparser failed to handle unexpected header fields. This adds futureproofing by simply skipping any header we don't know/care about. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Merge branch 'stable'Lars Hjemli2007-10-051-1/+1
|\| | | | | | | | | * stable: correct typo in CSS
| * correct typo in CSSMichael Krelin2007-10-051-1/+1
| |
* | Merge branch 'stable'Lars Hjemli2007-10-012-1/+1
|\| | | | | | | | | * stable: Use git-1.5.3.3
| * Use git-1.5.3.3Lars Hjemli2007-10-012-1/+1
| |
* | cgit.css: make diff headers more visibleLars Hjemli2007-10-011-1/+6
| | | | | | | | | | | | | | This modifies the background color of diff headers to make them easier to spot. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | ui-diff: add links to pre- and postversion of blobsLars Hjemli2007-10-011-16/+26
| | | | | | | | | | | | Each diff header now links to the old and new version of each file Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | gen-version.sh: don't sed the output from git describeLars Hjemli2007-10-011-1/+1
| | | | | | | | | | | | | | Replacing '-' with '.' makes the version name slightly confusing, so lets stick with the unmodified output of git describe. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | css: remove the annoying tr:hover rule for diffstatLars Hjemli2007-10-011-4/+0
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | ui-commit.c: link to diff instead of tree from diffstatLars Hjemli2007-10-011-2/+2
| | | | | | | | | | | | This makes each entry in the diffstat link to a path-restricted diff. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Add prefix parameter to cgit_print_diff()Lars Hjemli2007-10-013-4/+4
| | | | | | | | | | | | This allows a diff to be restricted to the path prefix specified in the url. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Add prefix parameter to cgit_diff_tree()Lars Hjemli2007-10-013-5/+11
| | | | | | | | | | | | This paramter can be used to restrict a diff to the specified path prefix. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Add support for a renamelimit option in cgitrcLars Hjemli2007-09-252-0/+11
|/ | | | | | This option can be used to override the default rename-limit in git. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* cgit v0.6.3 v0.6.3Lars Hjemli2007-09-201-1/+1
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Upgrade to GIT 1.5.3.2Lars Hjemli2007-09-202-1/+1
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Use trim_end() to remove trailing slashesLars Hjemli2007-09-201-3/+3
| | | | | | | | | | | | | All urls and paths read from cgitrc needs to be 'normalized', i.e. get any trailing slashes removed, and the trim_end() function works out nice for this purpose. Removing the trailing slashes also happens to fix the case where the virtual root should be a single slash; that case used to require specifying the full hostname (including the http:// prefix), but now it can simply be specified as /. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Remove a few compiler warningsLars Hjemli2007-09-202-2/+3
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add cgit.conf to .gitignore, remove *~Lars Hjemli2007-09-201-1/+1
| | | | | | | Not having cgit.conf in .gitignore is a bug, while having *~ is a personal preference. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* ui-tree: show last line of blobLars Hjemli2007-09-201-2/+5
| | | | | | | | | The last line in a blob was never printed by ui-tree::print_object(), which was particularly annoying when the blob missed a final newline. This fixes the issue. Noticed-by: <mkraai@beckman.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* ui-tree: specify parameter position for all htmlf formatsLars Hjemli2007-09-191-1/+1
| | | | | | | | The GNU C library manual tells us that behavior is undefined if only some formats has a specification for the parameter position. Noticed-by: <mkraai@beckman.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* fixed typo in cgitrcMichael Krelin2007-09-141-1/+1
| | | | Signed-off-by: Michael Krelin <hacker@klever.net>
* Improve the sample cgitrc fileChris Pickel2007-09-091-12/+51
| | | | | | | | | | Added and documented missing cgitrc parameters, improved documentation for virtual-root, added examples for repositories with a working directory. [lh:sligthly modified/extended] Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* cgit v0.6.2 v0.6.2Lars Hjemli2007-09-081-1/+1
|
* Revert part of "Makefile: add support for DESTDIR"Lars Hjemli2007-09-081-3/+3
| | | | | | | | This removes my editing on the patch received by Chris Pickel, as I didn't understand the purpose of DESTDIR. Noticed-by: Chris Pickel <sfiera@macports.org> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Revert "Makefile: add missing references to DESTDIR"Lars Hjemli2007-09-081-2/+2
| | | | | | | | This reverts commit fa31c5ed4839575c3ef3f6f0823fc2b4af47dbfd, as I totally misunderstood the purpose of DESTDIR. Noticed-by: Chris Pickel <sfiera@macports.org> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* cgit v0.6.1 v0.6.1Lars Hjemli2007-09-082-2/+2
|
* Makefile: add missing references to DESTDIRLars Hjemli2007-09-081-2/+2
| | | | | | | When cgit is built it needs to get CGIT_CONFIG and CGIT_CACHE_ROOT prefix with DESTDIR. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Make cgit honor CACHE_ROOT as defined in MakefileChris Pickel2007-09-082-1/+2
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Makefile: add support for DESTDIRChris Pickel2007-09-081-7/+7
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* cgit v0.6 v0.6Lars Hjemli2007-09-041-2/+2
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Update READMELars Hjemli2007-09-041-18/+39
| | | | | | | Add new build instructions, extend the "Missing features" section and add a note about patches/email address of the author. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Set xdemitconf_t.findfunc=NULLLars Hjemli2007-09-041-0/+1
| | | | | | | | This function-pointer was introduced in git v1.5.3-rc0-42-gf258475. It needs to have a value, and setting it to NULL triggers the old behaviour for selecting hunk headers. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Merge branch 'jo/dirlink'Lars Hjemli2007-09-033-7/+7
|\ | | | | | | | | | | | | | | | | | | | | * jo/dirlink: Rename dirlink to gitlink. Conflicts: ui-tree.c Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * Rename dirlink to gitlink.Jeffrey C. Ollie2007-06-043-7/+7
| | | | | | | | | | | | | | Git changed from dirlink to gitlink in 302b9282c9ddfcc704ca759bdc98c1d5f75eba2f. Signed-off-by: Jeffrey C. Ollie <jeff@ocjtech.us>
* | Use git-1.5.3 as submoduleLars Hjemli2007-09-031-0/+0
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Delete submodules.sh and prepare for using git-submoduleLars Hjemli2007-09-032-186/+3
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Makefile: add target "get-git"Lars Hjemli2007-09-031-1/+6
| | | | | | | | | | | | | | The new target downloads a suitable git.git tarball from kernel.org and unpacks it in the git directory. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Rewrite the makefile + gen-version.shLars Hjemli2007-09-032-67/+55
| | | | | | | | | | | | | | The old files were simply broken, hopefully the new ones will work out somewhat better. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | ui-snapshot: whitespace/formatting cleanupLars Hjemli2007-07-231-23/+23
| | | | | | | | | | | | | | | | Introduce a #define for number of snapshot archive entries, move all decls to function entrypoint, remove some trailing whitespace and reformat a few lines. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Make ui-tag.c generate valid xhtmlLars Hjemli2007-07-231-1/+1
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Add support for line number in url fragmentLars Hjemli2007-07-232-1/+10
| | | | | | | | | | | | | | With this change, urls like http://hjemli.net/git/cgit/tree/ui-tree.c#43 can be used to jump directly to the specified line number. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | cgit_print_snapshot_links: use url to specify snapshot nameLars Hjemli2007-07-235-21/+41
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Merge branch 'master' of git://git.klever.net/patchwork/cgitLars Hjemli2007-07-229-44/+194
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'master' of git://git.klever.net/patchwork/cgit: link raw blob from tree file view fix: changed view link to blob in summary. allow selective enabling of snapshots shorten snapshot names to repo basename introduce cgit_repobasename added snapshot filename to the link add plain uncompressed tar snapshort format introduced .tar.bz2 snapshots compress .tar.gz using gzip as a filter added a chk_non_negative check css: adjust vertical-align of commit info th cells add support for snapshot tarballs Conflicts: ui-summary.c Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | link raw blob from tree file viewMichael Krelin2007-07-211-0/+4
| | | | | | | | | | | | Signed-off-by: Michael Krelin <hacker@klever.net>
| * | fix: changed view link to blob in summary.Michael Krelin2007-07-211-1/+1
| | | | | | | | | | | | | | | | | | | | | might not be the best way, but should suffice for now that view command isn't handled in any way Signed-off-by: Michael Krelin <hacker@klever.net>
| * | allow selective enabling of snapshotsMichael Krelin2007-07-216-15/+48
| | | | | | | | | | | | | | | | | | | | | | | | snapshot configuration parameter now can be a space/slash/comma/colon/semicolon/pipe-separated list of snaphot suffixes as listed in ui-snapshot.c Signed-off-by: Michael Krelin <hacker@klever.net>
| * | shorten snapshot names to repo basenameMichael Krelin2007-07-212-2/+3
| | | | | | | | | | | | Signed-off-by: Michael Krelin <hacker@klever.net>
| * | introduce cgit_repobasenameMichael Krelin2007-07-212-0/+26
| | | | | | | | | | | | | | | | | | | | | that shortens reponame stripping any directories and .git suffixes, that is turning 'dir/repo.git/' or 'dir/repo/.git/' or alikes into mere 'repo'. Signed-off-by: Michael Krelin <hacker@klever.net>
| * | added snapshot filename to the linkMichael Krelin2007-07-213-5/+16
| | | | | | | | | | | | | | | | | | | | | - changed cgit_pageurl into cgit_fileurl with the filename parameter - rewritten cgit_pageurl as a wrapper around cgit_fileurl Signed-off-by: Michael Krelin <hacker@klever.net>
| * | add plain uncompressed tar snapshort formatMichael Krelin2007-07-211-1/+2
| | | | | | | | | | | | | | | | | | time to make available snapshots selectable Signed-off-by: Michael Krelin <hacker@klever.net>
| * | introduced .tar.bz2 snapshotsMichael Krelin2007-07-211-31/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - reworked write_tar_gzip_archive to handle arbitrary filter as a write_compressed_tar_archive - reformatted whitespaces in the said function to adhere to common cgit standards - added wrappers around write_compressed_tar_archive for .tar.gz and .tar.bz2 - added a hint for vim to use 8 characters shift width by default Signed-off-by: Michael Krelin <hacker@klever.net>
| * | compress .tar.gz using gzip as a filterMichael Krelin2007-07-201-1/+37
| | |
| * | added a chk_non_negative checkMichael Krelin2007-07-202-0/+8
| | |
| * | css: adjust vertical-align of commit info th cellsMichael Krelin2007-07-181-0/+1
| | |
| * | add support for snapshot tarballsMichael Krelin2007-07-184-37/+55
| | | | | | | | | | | | | | | | | | | | | - reworked cgit_print_snapshot to use a list of supported archivers and pick one for the suffix supplied - moved printing of snaphot links into ui-snapshot and make it iterate through the said list
* | | Add ui-tag.cLars Hjemli2007-07-227-32/+111
|/ / | | | | | | | | | | | | This file implements the tag-command, i.e. printing of annotated tags. Signed-off-by: Lars Hjemli <hjemli@gmail.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | make gen-version.sh run even if . is not in PATHMichael Krelin2007-07-031-1/+1
| | | | | | | | | | Signed-off-by: Michael Krelin <hacker@klever.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | make config adjustable via env variable CGIT_CONFIGMichael Krelin2007-07-031-1/+3
| | | | | | | | | | Signed-off-by: Michael Krelin <hacker@klever.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Merge branch 'lh/menu'Lars Hjemli2007-06-2911-53/+145
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lh/menu: Add ofs argument to cgit_log_link and use it in ui-log.c Add trim_end() and use it to remove trailing slashes from repo paths Do not include current path in the "tree" menu link Add setting to enable/disable extra links on index page Change S/L/T to summary/log/tree Change "files" to "tree" Include querystring as part of cached filename for repo summary page Add more menuitems on repo pages
| * | Add ofs argument to cgit_log_link and use it in ui-log.cLars Hjemli2007-06-296-16/+30
| | | | | | | | | | | | | | | | | | | | | This fixes a bug in the prev/next links on the log page: when on the default branch the links to prev/next page would contain h=(null). Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | Add trim_end() and use it to remove trailing slashes from repo pathsLars Hjemli2007-06-263-2/+25
| | | | | | | | | | | | | | | | | | | | | | | | The new function removes all trailing instances of an arbitrary character from a copy of the supplied char array. This is then used to remove any trailing slashes from cgit_query_path. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | Do not include current path in the "tree" menu linkLars Hjemli2007-06-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | When generating the menu links on repo pages the tree link included the current path. This made the link pretty useless whenever the current path was set so this commit just passes NULL instead. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | Add setting to enable/disable extra links on index pageLars Hjemli2007-06-194-12/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The summary/log/tree links displayed for each repository on the index page lost some of their purpose when the header menu was added, so this commit introduces the parameter 'enable-index-links' which must be set to 1 to enable these links. Suggested-by: Kristian Høgsberg <krh@bitplanet.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>