aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Avoid SEGFAULT on invalid requestsLars Hjemli2009-01-11
| | | | | | | | | | | | | | | | | 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>
* ui-tag: escape tagnames properlyLars Hjemli2009-01-11
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Makefile: avoid libcurl when building gitLars Hjemli2009-01-10
| | | | | | | | 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>
* ui-tree.c: do not add blank line when displaying blobsLars Hjemli2009-01-06
| | | | | | | Also, fix a related bug in the test-suite. Noticed-by: Jim Meyering <jim@meyering.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* ui-patch: whitespace changes in the patch generation codeTomas Carnecky2008-12-30
| | | | | | | | | | | 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>
* tests/setup.sh: allow testsuite to fail properly with POSIX standard shellsLars Hjemli2008-12-06
| | | | | | | 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>
* tests/t0010-validate-html.sh: skip tests if 'tidy' is not availableLars Hjemli2008-12-06
| | | | | Noticed-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Merge branch 'rj/buildtweaks' into stableLars Hjemli2008-12-05
|\
| * parsing.c: enable builds with NO_ICONV definedLars Hjemli2008-12-05
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * ui-repolist: avoid build warning for strcasestr(3)Lars Hjemli2008-12-05
| | | | | | | | | | | | | | The non-standard function strcasestr is only defined if _GNU_SOURCE has also been defined. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * Makefile: allow cgit.conf to override platform-specific tweaksLars Hjemli2008-12-05
| | | | | | | | | | | | | | 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>
| * Extra cygwin-specific changesRamsay Jones2008-12-03
| | | | | | | | | | Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | ui-log: try to disambiguate ref namesLars Hjemli2008-12-03
|/ | | | | | | | | | | | | | 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>
* ui-repolist: handle empty agefilesLars Hjemli2008-11-14
| | | | | | | 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>
* Use mode 0644 for non-executable filesKarl Chen2008-11-06
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Fix tests to work on Ubuntu (dash)Ramsay Jones2008-11-06
| | | | | | | | | | | | | 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>
* Fix some warnings to allow -WerrorRamsay Jones2008-11-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Use GIT-1.6.0.3Lars Hjemli2008-11-06
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* CGIT 0.8.1v0.8.1Lars Hjemli2008-10-11
|
* Merge branch 'stable'Lars Hjemli2008-10-11
|\ | | | | | | | | * stable: Makefile: enable compilation on uclibc
| * Makefile: enable compilation on uclibcLars Hjemli2008-10-11
| | | | | | | | | | Original-patch-by: Natanael Copa <natanael.copa@gmail.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | ui-snapshot: add dwimmeryLars Hjemli2008-10-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Add cgit_query.nohead flagLars Hjemli2008-10-11
|/ | | | | | | | 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>
* ui-shared: specify correct css class for summary tabLars Hjemli2008-10-06
| | | | | | | 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>
* CGIT 0.8v0.8Lars Hjemli2008-10-05
|
* ui-summary: use html_url_path()Lars Hjemli2008-10-05
| | | | | | This makes the clone urls be properly escaped. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* ui-refs: use cgit_tag_link()Lars Hjemli2008-10-05
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* ui-shared: add cgit_tag_link()Lars Hjemli2008-10-05
| | | | | | | This function can be used to generate properly escaped links to the tag page. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* ui-shared: generate proper links in cgit_object_link()Lars Hjemli2008-10-05
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* ui-shared: use html_url_path() to get properly escaped url in form actionLars Hjemli2008-10-05
| | | | | | | 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>
* Use GIT-1.6.0.2Lars Hjemli2008-10-05
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* ui-shared: reword the standard page footerLars Hjemli2008-10-05
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* ui-shared: do not print repo name on the "summary" tabLars Hjemli2008-10-05
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Replace cgitrc with cgitrc.5.txtLars Hjemli2008-10-05
| | | | | | | | 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>
* Merge branch 'lh/escape-urls'Lars Hjemli2008-10-05
|\ | | | | | | | | | | | | | | * 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
| * ui-repolist + ui-shared: Use cgit_summary_link()Lars Hjemli2008-10-05
| | | | | | | | | | | | | | This makes is possible to use cgit with repository urls containing special url characters like '#' and '?'. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * ui-shared.c: add cgit_summary_link()Lars Hjemli2008-10-05
| | | | | | | | | | | | | | 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>
| * ui-shared.c: use html_url_path() in repolink()Lars Hjemli2008-10-05
| | | | | | | | | | | | | | This makes sure that reponames and paths are properly escaped when used as urls. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * html.c: add html_url_pathLars Hjemli2008-10-05
| | | | | | | | | | | | | | This function can be used to generate properly escaped path-components for links. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Merge branch 'lh/escape-urls'Lars Hjemli2008-10-05
|\| | | | | | | | | | | * lh/escape-urls: ui-shared.c: use html_url_arg() html.c: add html_url_arg
| * ui-shared.c: use html_url_arg()Lars Hjemli2008-10-05
| | | | | | | | | | | | | | | | | | 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>
| * html.c: add html_url_argLars Hjemli2008-10-05
| | | | | | | | | | | | This function can be used to properly escape querystring parameter values. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | ui-snapshot.c: specify archiver_args.baselenLars Hjemli2008-10-05
|/ | | | | | | | | | 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>
* ui-diff: make diffstat header a link to the full diffLars Hjemli2008-09-23
| | | | | | | | 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>
* ui-diff: fix links from diffstatLars Hjemli2008-09-23
| | | | | | | | | | | 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>
* Add LDFLAGS to makefile.Harley Laue2008-09-20
| | | | | | | | 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>
* ui-repolist: enable filtering of repos by pathLars Hjemli2008-09-15
| | | | | | | 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>
* Add support for --scan-tree=<path> option to cgitLars Hjemli2008-09-15
| | | | | | | 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>
* Teach cgit how to use PATH_INFOLars Hjemli2008-09-15
| | | | | | | | | | | 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>
* Merge branch 'lh/parsing'Lars Hjemli2008-09-15
|\ | | | | | | | | | | * lh/parsing: ui-tag: show the taggers email parsing.c: be prepared for unexpected content in commit/tag objects