summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2009-01-11Avoid SEGFAULT on invalid requestsLars Hjemli
When an unknown page is requested, either on the querystring or via PATH_INFO, we end up with a null-referencing cgit_cmd. This null- pointer is then used as argument to the hc() function (which decides what tab to render as 'active'), but this function failed to check if a valid cmd was specified and a SEGFAULT would occur. This patch fixes the issue by introducing a 'fallback-cmd' which specifies what tab to render as 'active' when no valid cmd is requested. While at it, we now also keep track of the active repository even if an invalid cmd was requested since we want to show the error message about the invalid request in the correct context. Noticed-by: Robin Redeker <elmex@ta-sa.org> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2009-01-11ui-tag: escape tagnames properlyLars Hjemli
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2009-01-10Makefile: avoid libcurl when building gitLars Hjemli
We don't need support for fetching/pushing in libgit.a, hence we don't need to link with libcurl. Noticed-by: Robin Redeker <elmex@ta-sa.org> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2009-01-06ui-tree.c: do not add blank line when displaying blobsLars Hjemli
Also, fix a related bug in the test-suite. Noticed-by: Jim Meyering <jim@meyering.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-12-30ui-patch: whitespace changes in the patch generation codeTomas Carnecky
Add a space between the committer name and email, and remove superfluous spaces in the date header. This makes cgit-generated patches match the output from git-format-patch almost exactly, at least as far as the email headers go. Signed-off-by: Tomas Carnecky <tom@dbservice.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-12-06tests/setup.sh: allow testsuite to fail properly with POSIX standard shellsLars Hjemli
The "((expr))" construct is not implemented by e.g. dash, so this commit replaces the construct with a more portable one. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-12-06tests/t0010-validate-html.sh: skip tests if 'tidy' is not availableLars Hjemli
Noticed-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-12-05Merge branch 'rj/buildtweaks' into stableLars Hjemli
2008-12-05parsing.c: enable builds with NO_ICONV definedLars Hjemli
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-12-05ui-repolist: avoid build warning for strcasestr(3)Lars Hjemli
The non-standard function strcasestr is only defined if _GNU_SOURCE has also been defined. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-12-05Makefile: allow cgit.conf to override platform-specific tweaksLars Hjemli
If the makefile doesn't automatically define the correct build variables it is nice to be able to define them explicitly. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-12-03Extra cygwin-specific changesRamsay Jones
Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-12-03ui-log: try to disambiguate ref namesLars Hjemli
The 'h' querystring parameter in cgit is normally used to specify a branch (i.e. a ref below refs/heads/), but if a repository contains a tag with the same name as a branch the output from ui-log would use the tag as start-revision. This patch tries to fix the issue by checking if the specified ref is valid as a branch name; if so, the full refname is used in the call to setup_revisions(). Noticed-by: Takamori Yamaguchi <akschar@gmail.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-11-14ui-repolist: handle empty agefilesLars Hjemli
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 Chen
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-11-06Fix tests to work on Ubuntu (dash)Ramsay Jones
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 Jones
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 Hjemli
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-10-11CGIT 0.8.1v0.8.1Lars Hjemli
2008-10-11Merge branch 'stable'Lars Hjemli
* stable: Makefile: enable compilation on uclibc
2008-10-11Makefile: enable compilation on uclibcLars Hjemli
Original-patch-by: Natanael Copa <natanael.copa@gmail.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-10-11ui-snapshot: add dwimmeryLars Hjemli
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 Hjemli
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 Hjemli
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 Hjemli
2008-10-05ui-summary: use html_url_path()Lars Hjemli
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 Hjemli
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-10-05ui-shared: add cgit_tag_link()Lars Hjemli
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 Hjemli
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-10-05ui-shared: use html_url_path() to get properly escaped url in form actionLars Hjemli
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 Hjemli
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-10-05ui-shared: reword the standard page footerLars Hjemli
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-10-05ui-shared: do not print repo name on the "summary" tabLars Hjemli
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-10-05Replace cgitrc with cgitrc.5.txtLars Hjemli
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-05Merge branch 'lh/escape-urls'Lars Hjemli
* lh/escape-urls: ui-repolist + ui-shared: Use cgit_summary_link() ui-shared.c: add cgit_summary_link() ui-shared.c: use html_url_path() in repolink() html.c: add html_url_path
2008-10-05ui-repolist + ui-shared: Use cgit_summary_link()Lars Hjemli
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 Hjemli
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 Hjemli
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 Hjemli
This function can be used to generate properly escaped path-components for links. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2008-10-05Merge branch 'lh/escape-urls'Lars Hjemli
* lh/escape-urls: ui-shared.c: use html_url_arg() html.c: add html_url_arg
2008-10-05ui-snapshot.c: specify archiver_args.baselenLars Hjemli
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 Hjemli
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 Hjemli
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 Hjemli
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 Hjemli
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 Laue
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 Hjemli
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 Hjemli
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 Hjemli
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-15Merge branch 'lh/parsing'Lars Hjemli
* lh/parsing: ui-tag: show the taggers email parsing.c: be prepared for unexpected content in commit/tag objects