aboutsummaryrefslogtreecommitdiffstats
path: root/cgit.h (unfollow)
Commit message (Collapse)AuthorFilesLines
2008-11-30Set prefix in snapshots when using dwimmeryNatanael Copa3-6/+14
This patch sets the directory prefix in archives to be the filename, excluding the suffix (.tar.gz, .tar.bz2 etc). The patch also removes the prefix parameter in cgit_print_snapshot() as the prefix might differ. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-11-30ui-log: use css to make full-log prettierLars Hjemli2-8/+21
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-11-29ui-log: (ab)use extra columns for commit message when showmsg=1Lars Hjemli1-6/+7
If the commit message has extra long lines it's better to use the author/ files/lines columns to show those lines than to push the columns of screen and force the users to hscroll. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-11-29ui-log: add support for showing the full commit messageLars Hjemli8-11/+45
Some users prefer to see the full message, so to make these users happy the new querystring parameter "showmsg" can be used to print the full commit message per log entry. A link is provided in the log heading to make this function accessible, and all links and forms tries to preserve the users preference. Note: the new link is not displayed on the summary page since the point of the summary page is to be a summary, but it is still obeyed if specified manually. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-11-29ui-repolist: implement lazy caching of repo->mtimeLars Hjemli3-4/+14
When sorting the list of repositories by their last modification time, cgit would (in the worst case) invoke fstat(3) four times and open(3) twice for each callback from qsort(3). This obviously scales very badly. Now, the calculated modtime for each repo is saved in repo->mtime, thus keeping the number of stat/open invocations identical for sorted and unsorted repo-listings. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-11-29ui-repolist: sort null values lastLars Hjemli1-2/+2
When sorting on e.g. owner, it's not interesting to get all repos without owner at the top of the list. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-11-29ui-repolist: add support for sorting any columnLars Hjemli1-9/+83
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-11-29ui-repolist: extract get_repo_modtime() from print_modtime()Lars Hjemli1-27/+19
The new function is then used by both print_modtime() and cgit_reposort_modtime(). Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-11-29Add support for sorting by Age in the repolistBenjamin Close3-3/+39
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-11-14ui-repolist: handle empty agefilesLars Hjemli1-1/+2
When the agefile was empty the old code would happily reuse the static buffer filled by a previous call to read_agefile(). Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-11-06Use mode 0644 for non-executable filesKarl Chen1-2/+2
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-11-06Fix tests to work on Ubuntu (dash)Ramsay Jones1-2/+4
The system shell (/bin/sh) on Ubuntu is dash, which aims to be a POSIX standard shell. In particular, dash does not implement any of the common extensions to the standard that, say, bash and ksh do. Replace some non-POSIX constructs in setup.sh with more portable and mundane code. Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-11-06Fix some warnings to allow -WerrorRamsay Jones2-3/+3
The type used to declare the st_size field of a 'struct stat' can be a 32- or 64-bit sized type, which can vary from one platform to another, or even from one compilation to another. In particular, on linux, if you include the following define: #define _FILE_OFFSET_BITS 64 prior to including certain system header files, then the type used for the st_size field will be __off64_t, otherwise it will be an __off_t. Note that the above define is included at the top of git-compat-util.h. In cache.c, the "%zd" format specifier expects a "signed size_t", another type which can vary, when an __off64_t or a __off_t is provided. To supress the warning, use the PRIuMAX format specifier and cast the st_size field to uintmax_t. This should work an any platform for which git currently compiles. In ui-plain.c, the size parameter of sha1_object_info() and read_sha1_file() is defined to be "unsigned long *" not "size_t *". So, to supress the warning, simply declare size with the correct type. Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-11-06Use GIT-1.6.0.3Lars Hjemli2-1/+1
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-10-11CGIT 0.8.1v0.8.1Lars Hjemli1-1/+1
2008-10-11Makefile: enable compilation on uclibcLars Hjemli1-0/+3
Original-patch-by: Natanael Copa <natanael.copa@gmail.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-10-11ui-snapshot: add dwimmeryLars Hjemli3-15/+83
When downloading a snapshot, the snapshot name will often contain the repo name combined with a tag. This patch tries to exploit this so that the correct revision is downloaded even if no specific revision is specified. PS: this only occurs if neither 'h' nor 'id' is specified in the query- string. PPS: this also fixes a bug which occurs when trying to download a filename with an unsupported suffix: it used to try to print an error message to the user but failed since it didn't prepare the output properly. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-10-11Add cgit_query.nohead flagLars Hjemli2-0/+2
This flag is set when no HEAD is specified in the querystring. Currently it has no users, but it will be used by ui-snapshot to invoke a DWIM-mode where the revision is extracted from the snapshot name. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-10-06ui-shared: specify correct css class for summary tabLars Hjemli1-1/+2
When introducing cgit_summary_link() in 49ecbbdd I forgot to specify the css class. This fixes it. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-10-05CGIT 0.8v0.8Lars Hjemli1-1/+1
2008-10-05ui-summary: use html_url_path()Lars Hjemli1-1/+1
This makes the clone urls be properly escaped. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-10-05ui-refs: use cgit_tag_link()Lars Hjemli1-6/+2
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-10-05ui-shared: add cgit_tag_link()Lars Hjemli2-0/+8
This function can be used to generate properly escaped links to the tag page. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-10-05ui-shared: generate proper links in cgit_object_link()Lars Hjemli1-15/+7
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-10-05ui-shared: use html_url_path() to get properly escaped url in form actionLars Hjemli1-2/+2
When a repo uses an url with e.g. '#' or '?' characters this needs to be properly escaped when used as action in a form tag. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-10-05Use GIT-1.6.0.2Lars Hjemli3-5/+3
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-10-05ui-shared: reword the standard page footerLars Hjemli1-2/+2
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-10-05ui-shared: do not print repo name on the "summary" tabLars Hjemli1-2/+1
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-10-05Replace cgitrc with cgitrc.5.txtLars Hjemli2-202/+367
The new file describes all cgitrc options in a more structured manner then the cgitrc example file and it might also work as the source for a cgitrc man page. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-10-05ui-repolist + ui-shared: Use cgit_summary_link()Lars Hjemli2-10/+5
This makes is possible to use cgit with repository urls containing special url characters like '#' and '?'. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-10-05ui-shared.c: add cgit_summary_link()Lars Hjemli2-0/+6
This function can be used to generate a link to the summary page for the currently active repo. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-10-05ui-shared.c: use html_url_path() in repolink()Lars Hjemli1-4/+4
This makes sure that reponames and paths are properly escaped when used as urls. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-10-05html.c: add html_url_pathLars Hjemli2-0/+17
This function can be used to generate properly escaped path-components for links. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-10-05ui-snapshot.c: specify archiver_args.baselenLars Hjemli2-2/+11
The struct member was introduces in git commit d53fe8187c38, but the cgit testsuite failed to detect that cgit always generated archives without prefixes, i.e. the result from cgit_repobasename was ignored. This fixes the bug and the testsuite. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-10-05ui-shared.c: use html_url_arg()Lars Hjemli4-11/+36
The link-generating functions are updated to use the new html_url_arg function, thereby fixing links to strange repos, branches and files. Also, the test-suite is updated to verify some cases of strange urls. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-10-05html.c: add html_url_argLars Hjemli2-0/+17
This function can be used to properly escape querystring parameter values. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-09-23ui-diff: make diffstat header a link to the full diffLars Hjemli1-1/+4
When printing a path-filtered diff it wasn't obvious how to get back to the full diff (clicking the 'diff' tab would do this). Making the diffstat heading into a link seems to improve the usability. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-09-23ui-diff: fix links from diffstatLars Hjemli1-4/+2
The links in the diffstat is supposed to work as a filter for the diff, but this only worked when a single rev was supplied, i.e. the filtered diff was always against the parent of the specified rev. With this patch it is now possible to use the diffstat as a 'filter menu' for urls like http://hjemli.net/git/cgit/diff/?id=v0.7.2&id2=v0.7.1 Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-09-20Add LDFLAGS to makefile.Harley Laue1-1/+1
This will allow for creating static builds which is useful for chrooted environments. Signed-off-by: Harley Laue <losinggeneration@gmail.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-09-15ui-repolist: enable filtering of repos by pathLars Hjemli1-1/+10
If a repo url is specified but no exact match is found in the list of repos the url will now be used as a prefix-filter. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-09-15Add support for --scan-tree=<path> option to cgitLars Hjemli4-3/+184
This option makes cgit scan a directory tree looking for git repositories, generating suitable definitions for a cgitrc file on stdout. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-09-15Teach cgit how to use PATH_INFOLars Hjemli2-0/+28
This commit makes cgit use the cgi variables SCRIPT_NAME and PATH_INFO when virtual-root is unspecified in cgitrc and no url-parameter is specified on the querystring. This has two nice effects: * Virtual urls works out of the box, no more need for rewrite-rules in httpd. * Virtual urls with special querystring characters are handled correctly. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-09-15ui-tag: show the taggers emailLars Hjemli1-0/+4
If it's specified there's no point in hiding it. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-09-15parsing.c: be prepared for unexpected content in commit/tag objectsLars Hjemli2-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>
2008-09-03Update Makefile to use GIT-1.6.0.1Lars Hjemli1-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>
2008-09-02use Host: header to generate cgit_hosturlEric Wong1-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>
2008-09-02Use GIT-1.6.0.1Lars Hjemli1-0/+0
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-09-02ui-plain: handle subdirectoriesLars Hjemli1-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>
2008-09-01Use GIT-1.6.0Lars Hjemli1-0/+0
2008-09-01cache.c: use %zd for off_t argumentLars Hjemli1-1/+1
Signed-off-by: Lars Hjemli <hjemli@gmail>