summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2011-03-26Fix crash when projectsfile cannot be openedStefan Gehn
This patch makes cgit properly abort in case the projectsfile cannot be opened. Without the added return cgit continues using the projects pointer which is NULL and thus causes a segfault.
2011-03-26shared.c: use execvp() to execute filter commandsLars Hjemli
This reintroduces the use of execvp(), since the filter commands doesn't always contain an absolute path (i.e. snapshot compression filters). Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2011-03-26filters: document environment variables in filter scriptsFerry Huberts
Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2011-03-26cgit_open_filter: hand down repo configuration to scriptFerry Huberts
The environment variables can be used to (for example) resolve the following situation: Suppose a server setup in which each repository has a trac instance; the commit filter needs to know with which repository it's dealing in order to be able to resolve the #123 ticket numbers in the commit messages into hyperlinks into the correct trac instance. Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2011-03-26cgit_open_filter: also take the repo as a parameterFerry Huberts
To prepare for handing repo configuration to the filter script that is executed. Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2011-03-26new_filter: determine extra_args from filter typeFerry Huberts
Currently the number of extra arguments is linked hard to the type of the filter. This is also logical since it would be confusing to have a different number of arguments for the same type of filter depending on the context under which the filter is run (unless ofcourse one the parameters would make the context clear, which is currently not the case). Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2011-03-07ui-stats.c: create a control panel for stat optionsLars Hjemli
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2011-03-06ui-diff.c: create a control panel for diff optionsLars Hjemli
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2011-03-06html.c: add html_intoption()Lars Hjemli
This is similar to html_option, but for int values. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2011-03-05CGIT 0.9v0.9Lars Hjemli
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2011-03-05Update READMELars Hjemli
2011-03-05ui-diff.c: avoid html injectionLukasz Janyst
When path-filtering was used in commit-view, the path filter was included without proper html escaping. This patch closes the hole. Signed-off-by: Lukasz Janyst <ljanyst@cern.ch> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2011-03-05Merge branch 'stable'Lars Hjemli
2011-03-05CGIT 0.8.3.5v0.8.3.5Lars Hjemli
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2011-03-05Avoid trailing slash in virtual-rootLars Hjemli
When setting virtual-root from cgitrc, care is taken to avoid trailing slashes. But when no virtual-root setting is specified, SCRIPT_FILE from the web server is used without similar checks. This patch fixes the inconsistency, which could lead to double-slashes in generated links. Noticed-by: Wouter Van Hemel <wouter@duodecim.org> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2011-03-05do not infloop on a query ending in %XY, for invalid hex X or YJim Meyering
When a query ends in say %gg, (or any invalid hex) e.g., http://git.gnome.org/browse/gdlmm/commit/?id=%gg convert_query_hexchar calls memmove(txt, txt+3, 0), and then returns txt-1, so the loop in http_parse_querystring never terminates. The solution is to make the memmove also copy the trailing NUL. * html.c (convert_query_hexchar): Fix off-by-one error. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2011-02-19Return 404 on command not foundDan McGee
We were returning 200 before. Even 404 is questionable in all cases, but 200 was totally wrong. Also match the case of all of the "Not found" status messsages. Signed-off-by: Dan McGee <dpmcgee@gmail.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2011-02-19Allow disabling of HTTP clone URLsDan McGee
If advertising other URLs to your users, you may not want to make this available through cgit (e.g. if you have the smart HTTP transport set up elsewhere). Allow disabling the three magic commands that simulate the git server, but default it to enabled. Signed-off-by: Dan McGee <dpmcgee@gmail.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2011-02-19Add is_clone flag to available commandsDan McGee
This will be used to make these operations configurable via a config option. Signed-off-by: Dan McGee <dpmcgee@gmail.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2011-02-19Merge branch 'br/misc'Lars Hjemli
* br/misc: Use transparent background for the cgit logo ssdiff: anchors for ssdiff implement repo.logo and repo.logo-link
2011-02-19Use transparent background for the cgit logoBernhard Reutner-Fischer
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2011-02-19ssdiff: anchors for ssdiffBernhard Reutner-Fischer
Emit anchors to the respective revisions in side-by-side diff view Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2011-02-19implement repo.logo and repo.logo-linkBernhard Reutner-Fischer
Allow for per repo logo and logo-link; Use global logo and logo-link per default. Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2011-02-19ui-shared: silence warningBernhard Reutner-Fischer
warning: format ‘%ld’ expects type ‘long int’, but argument 2 has type ‘size_t’ Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2011-02-19Merge branch 'jh/scan-path'Lars Hjemli
* jh/scan-path: scan_path(): Do not recurse into hidden directories by default scan_path(): Improve handling of inaccessible directories
2011-02-19scan_path(): Do not recurse into hidden directories by defaultJohan Herland
Paths that start with a period ('.') are considered hidden in the Unix world. scan_path() should arguably not recurse into these directories by default. This patch makes it so, and introduces the "scan-hidden-path" config variable for overriding the new default and revert to the old behaviour (scanning _all_ directories, including hidden .directories). Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <larsh@prediktor.no>
2011-02-19Makefile: Make `make get-git` work under OpenBSD.Lukas Fleischer
OpenBSD tar(1) defaults to read from "/dev/rst0" when not specifying an filename and thus fails to extract the Git sourcecode when not passing stdin as input file descriptor explicitly. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2011-02-19Merge branch 'jh/graph'Lars Hjemli
* jh/graph: ui-log: Move 'Age' column when commit graph is present ui-log: Line-wrap long commit subjects when showmsg is enabled ui-log: Colorize commit graph ui-log: Implement support for commit graphs ui-log: Change display of full commit messages (and notes) Conflicts: cgit.css
2011-02-19Merge branch 'lh/improve-range-search'Lars Hjemli
* lh/improve-range-search: html.c: use '+' to escape spaces in urls ui-log.c: improve handling of range-search argument Add vector utility functions
2011-02-19Use GIT-1.7.4Lars Hjemli
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-11-16scan_path(): Improve handling of inaccessible directoriesJohan Herland
When scanning a tree containing inaccessible directories (e.g. '.ssh' directories in users' homedirs, or repos with explicitly restricted access), scan_path() currently causes three lines of "Permissions denied" errors to be printed to the CGI error log per inaccessible directory: Error checking path /home/foo/.ssh: Permission denied (13) Error checking path /home/foo/.ssh/.git: Permission denied (13) Error opening directory /home/foo/.ssh: Permission denied (13) This is a side-effect of calling is_git_dir(path) and is_git_dir(fmt("%s/.git", path) _before_ we try to opendir(path). By placing the opendir(path) before the two is_git_dir() calls, we reduce the noise to a single line per inaccessible directory: Error opening directory /home/foo/.ssh: Permission denied (13) Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <larsh@prediktor.no>
2010-11-16ui-log: Move 'Age' column when commit graph is presentJohan Herland
When the commit graph is present, we prefer to draw it along the left edge, and moving the 'Age' column to the right of the 'Author' column, like in gitk. Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-11-16ui-log: Line-wrap long commit subjects when showmsg is enabledJohan Herland
When showmsg is disabled ui-log truncates long commit subjects. This is good. However, the same is not desirable when showmsg is enabled, since you then end up with a truncated commit subject followed by the rest of the commit message below. Instead, when showmsg is enabled (and we're using all this space to display the entire commit message, anyway), line-wrap the commit subject instead of truncating it. Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-11-16ui-log: Colorize commit graphJohan Herland
Use the existing coloring logic in Git's graph code to color the lines between commits in the commit graph. Whereas Git normally uses ANSI color escapes to produce colors, we here use graph_set_column_colors() to replace those with HTML color escapes, that embed the graph lines in <span> tags that apply the desired color using CSS. Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-11-16ui-log: Implement support for commit graphsJohan Herland
Teach CGit to print an ASCII art commit graph to the left of the commit message, similar to 'git log --graph'. The graph adds extra lines (table rows) to the log when needed to add/remove/shuffle edges in the graph. When 'showmsg' is enabled, the graph is automatically padded to account for the extra lines added by the commit message/notes. This feature is controlled by a new config variable: "enable-commit-graph" (disabled by default), and individual repos can control it by setting "repo.enable-commit-graph". Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-11-16ui-log: Change display of full commit messages (and notes)Johan Herland
When showmsg is enabled, ui-log (in addition to the table row containing the details of the current commit) adds a second table row containing the remainder of the commit message, and yet another table row containing the commit notes (if any). The vertical margins between commit subject, commit message and commit notes are controlled by CSS. In preparation for the commit graph (which will be printed to the left of the commit message/notes) we need to eliminate these vertical margins (as they would produce ugly gaps in the commit graph) and instead achieve them by adding newlines to the commit message/notes. Furthermore, we can no longer print the "Notes:" header in the "Age" column, since the graph will be drawn between the "Age" column and the "Commit message" column. This patch therefore prepares the commit message and commit notes in a single buffer (properly formatting the notes using the NOTES_SHOW_HEADER and NOTES_INDENT flags to format_note()), and then prints the entire buffer into a single table row. Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-11-16ui-stats: Remove unnecessary #includeJohan Herland
<string-list.h> is already #included from cgit.h Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-11-10Merge branch 'tz/make-improvements'Lars Hjemli
2010-11-10html.c: use '+' to escape spaces in urlsLars Hjemli
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-11-10ui-log: Prevent crash when given empty range searchJohan Herland
Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-11-10ui-log.c: improve handling of range-search argumentLars Hjemli
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-11-10Add vector utility functionsLars Hjemli
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-11-10Makefile: avoid spurious rebuilds of git sources due to `sudo make`Lars Hjemli
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-11-09ui-log: Fix filecount/linecount when path limit is in effectJohan Herland
When using ui-log with path limits, the listing of commits enables parent rewriting in Git's internal log machinery. This did not work well together with cgit_diff_commit() which is used to generate the filecount and linecount numbers for each commit in the log view. cgit_diff_commit() would operate without any path limits, and would therefore process the full diff between the commits shown (which, because of parent rewriting, is not the same as processing the diff for the commit itself). Additionally, the bottom commit in the log view would (again, because of parent rewriting) have zero parents, causing us to process the entire diff between the empty tree and that commit. Since path limits were not in effect, this would (in large projects) reports thousands of files and millions of lines changed in that bottom commit. This patch fixes the issue by applying the same path limit to cgit_diff_commit() as is applied to the rest of the log view. The result is that the filecount/linecount now only reflects the diff as it pertains to the given path limit. Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-11-08Add `strict-export` optionFelix Hanley
This option is used to specify a filename which needs to be present in the repositories found during `scan-path` processing. By setting this option to 'git-daemon-export-ok', only repositories explicitly marked for git daemon export will be included in the cgit configuration. Signed-off-by: Felix Hanley <felix@seconddrawer.com.au> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-11-08Fix a typo in README, s/ExecCGI/+ExecCGIKamil Kaminski
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-11-07Append path and branch to atom feed titleLars Hjemli
Currently all atom feeds for a repository get the same title but they are actually unique per path and per branch. Signed-off-by: Chris Mayo <aklhfex@gmail.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-11-07Use committer date for atom feed entry updated elementChris Mayo
Committer date reflects the most recent change and is used for ordering the log page (author date is still available in published element of the feed entry). Signed-off-by: Chris Mayo <aklhfex@gmail.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-11-07Merge branch 'stable'Lars Hjemli
Conflicts: scan-tree.c Signed-off-by: Lars Hjemli <hjemli@gmail.com>
2010-11-07Use absolute path for scanned repo readmeDean Scarff
repo.readme is transformed to an absolute path when read from the config, so add_repo needs to add "README.html" with the repository path too. Signed-off-by: Dean Scarff <dos@scarff.id.au> Signed-off-by: Lars Hjemli <hjemli@gmail.com>