summary refs log tree commit diff
Commit message (Collapse)AuthorAgeFilesLines
* CGIT 0.9 v0.9Lars Hjemli2011-03-051-1/+1
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Update READMELars Hjemli2011-03-051-8/+1
|
* ui-diff.c: avoid html injectionLukasz Janyst2011-03-051-2/+5
| | | | | | | | 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>
* Merge branch 'stable'Lars Hjemli2011-03-054-6/+7
|\
| * CGIT 0.8.3.5 v0.8.3.5Lars Hjemli2011-03-051-1/+1
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * Avoid trailing slash in virtual-rootLars Hjemli2011-03-051-2/+3
| | | | | | | | | | | | | | | | | | | | 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>
| * do not infloop on a query ending in %XY, for invalid hex X or YJim Meyering2011-03-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | 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>
| * ui-shared: silence warningBernhard Reutner-Fischer2011-02-191-1/+1
| | | | | | | | | | | | | | | | 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>
| * Makefile: Make `make get-git` work under OpenBSD.Lukas Fleischer2011-02-191-1/+1
| | | | | | | | | | | | | | | | 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>
* | Merge branch 'br/misc'Lars Hjemli2011-02-199-17/+74
|\ \ | | | | | | | | | | | | | | | | | | * br/misc: Use transparent background for the cgit logo ssdiff: anchors for ssdiff implement repo.logo and repo.logo-link
| * | Use transparent background for the cgit logoBernhard Reutner-Fischer2011-02-191-0/+0
| | | | | | | | | | | | | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | ssdiff: anchors for ssdiffBernhard Reutner-Fischer2011-02-194-11/+43
| | | | | | | | | | | | | | | | | | | | | 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>
| * | implement repo.logo and repo.logo-linkBernhard Reutner-Fischer2011-02-194-6/+31
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Merge branch 'jh/scan-path'Lars Hjemli2011-02-194-9/+23
|\ \ \ | | | | | | | | | | | | | | | | | | | | * jh/scan-path: scan_path(): Do not recurse into hidden directories by default scan_path(): Improve handling of inaccessible directories
| * | | scan_path(): Do not recurse into hidden directories by defaultJohan Herland2011-02-194-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | | scan_path(): Improve handling of inaccessible directoriesJohan Herland2010-11-161-9/+9
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Merge branch 'jh/graph'Lars Hjemli2011-02-199-49/+219
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
| * | | ui-log: Move 'Age' column when commit graph is presentJohan Herland2010-11-161-12/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | | ui-log: Line-wrap long commit subjects when showmsg is enabledJohan Herland2010-11-164-8/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | | ui-log: Colorize commit graphJohan Herland2010-11-162-0/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | | ui-log: Implement support for commit graphsJohan Herland2010-11-166-23/+112
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | | ui-log: Change display of full commit messages (and notes)Johan Herland2010-11-162-25/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | | Merge branch 'lh/improve-range-search'Lars Hjemli2011-02-195-13/+118
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
| * | | html.c: use '+' to escape spaces in urlsLars Hjemli2010-11-101-2/+2
| | | | | | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | ui-log.c: improve handling of range-search argumentLars Hjemli2010-11-101-11/+60
| | | | | | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | Add vector utility functionsLars Hjemli2010-11-103-0/+56
| | | | | | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | | Use GIT-1.7.4Lars Hjemli2011-02-192-1/+1
| |/ / |/| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | ui-stats: Remove unnecessary #includeJohan Herland2010-11-161-2/+0
| | | | | | | | | | | | | | | | | | | | | <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>
* | | Merge branch 'tz/make-improvements'Lars Hjemli2010-11-103-13/+77
|\ \ \ | |/ / |/| |
| * | Use example.com in documentation, per RFC 2606Todd Zullinger2010-09-191-5/+5
| | | | | | | | | | | | | | | Signed-off-by: Todd Zullinger <tmz@pobox.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | cgit.css: Add syntax highlighting entriesTodd Zullinger2010-09-191-1/+15
| | | | | | | | | | | | | | | Signed-off-by: Todd Zullinger <tmz@pobox.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | Install filter scriptsTodd Zullinger2010-09-191-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | The syntax-highlighting.sh script is quite useful without any changes. Installing it by default makes it easier to use and package. Signed-off-by: Todd Zullinger <tmz@pobox.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | Add Makefile targets to install/uninstall docsTodd Zullinger2010-09-191-1/+38
| | | | | | | | | | | | | | | Signed-off-by: Todd Zullinger <tmz@pobox.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | Generalize doc generationTodd Zullinger2010-09-191-7/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | This borrows from the git Documentation/Makefile. The goal is to make it easier to add new man pages and other documentation as well as to prevent make from re-generating the documentation needlessly. Signed-off-by: Todd Zullinger <tmz@pobox.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | ui-log: Prevent crash when given empty range searchJohan Herland2010-11-101-1/+1
| | | | | | | | | | | | | | | Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | Makefile: avoid spurious rebuilds of git sources due to `sudo make`Lars Hjemli2010-11-101-0/+2
| | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | ui-log: Fix filecount/linecount when path limit is in effectJohan Herland2010-11-093-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Add `strict-export` optionFelix Hanley2010-11-084-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Fix a typo in README, s/ExecCGI/+ExecCGIKamil Kaminski2010-11-081-1/+1
| | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | Append path and branch to atom feed titleLars Hjemli2010-11-071-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Use committer date for atom feed entry updated elementChris Mayo2010-11-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Merge branch 'stable'Lars Hjemli2010-11-070-0/+0
|\ \ \ | | |/ | |/| | | | | | | | | | | | | Conflicts: scan-tree.c Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | Use absolute path for scanned repo readmeDean Scarff2010-11-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Makefile: add -MP optionLars Hjemli2010-11-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Work around errors `make` gives when header files are removed without the Makefile being updated. Signed-off-by: Lynn Lin <Lynn.Lin@emc.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | Merge branch 'stable'Lars Hjemli2010-09-271-1/+1
|\| | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | CGIT 0.8.3.4 v0.8.3.4Lars Hjemli2010-09-271-1/+1
| | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | Use GIT-1.7.3Lars Hjemli2010-09-275-8/+8
| | | | | | | | | | | | | | | | | | | | | This fixes http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-2542. Noticed-by: Silvio Cesare <silvio.cesare@gmail.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | Merge branch 'stable'Lars Hjemli2010-09-191-2/+2
|\| | | |/ |/|
| * RSS items should always use UTC timesAaron Griffin2010-09-191-2/+2
| | | | | | | | | | | | | | | | The format uses a 'Z' suffix, which indicates no TZ offset. Thus we should not respect the local-time config setting here. Signed-off-by: Aaron Griffin <agriffin@datalogics.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Merge branch 'ml/bugfix'Lars Hjemli2010-09-1912-30/+42
|\ \
| * | prefer html_raw() to write()Mark Lodato2010-09-043-12/+12
| | | | | | | | | | | | | | | | | | | | | To make the code more consistent, and to not rely on the implementation of html(), always use html_raw(...) instead of write(htmlfd, ...). Signed-off-by: Mark Lodato <lodatom@gmail.com>
| * | ui-repolist: fix redefinition of _XOPEN_SOURCEMark Lodato2010-09-041-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, ui-repolist.c set _GNU_SOURCE and then included a standard library before including <git-compat-util.h>. This was a problem, because <git-compat-util.h> redefined _XOPEN_SOURCE, which is set automatically by glibc when _GNU_SOURCE is set. However, <git-compat-util.h> already sets _GNU_SOURCE and includes both <string.h> and <time.h>, so there is no need to define _GNU_SOURCE or include either header within ui-repolist.c. Signed-off-by: Mark Lodato <lodatom@gmail.com>
| * | fix errors in printf-style format stringsMark Lodato2010-09-046-12/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There were many places where the arguments to a printf-like function did not match the format string. Mostly, these were a missing 'l' flag, but there were three exceptions: - In ui-stats.c, a size_t argument must be printed. C99 has the "%zu" flag for this purpose, but not all compilers support this. Therefore, we mimic what git does - use a NO_C99_FORMAT Makefile variable. - In ui-stats.c, cgit_print_error() was called with a pointer instead of a character. - In ui-log.c, the "columns" argument was never used. Signed-off-by: Mark Lodato <lodatom@gmail.com>
| * | use __attribute__ to catch printf format mistakesMark Lodato2010-09-043-0/+5
| | | | | | | | | | | | | | | | | | | | | Use "__attribute__((format (printf,N,M)))", as is done in git, do catch mistakes in printf-style format strings. Signed-off-by: Mark Lodato <lodatom@gmail.com>
* | | Merge branch 'lh/section-from-path'Lars Hjemli2010-09-194-6/+45
|\ \ \ | | | | | | | | | | | | | | | | Conflicts: scan-tree.c
| * | | Add support for 'section-from-path' optionLars Hjemli2010-08-224-6/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This option can be used to autogenerate section names during scan-path processing. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | | Merge branch 'lh/readme'Lars Hjemli2010-09-196-24/+43
|\ \ \ \
| * | | | Add support for "readme" optionLars Hjemli2010-08-226-24/+43
| |/ / / | | | | | | | | | | | | | | | | | | | | The value of this option is used as the default value for repo.readme. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | / / Use GIT-1.7.3Lars Hjemli2010-09-192-1/+1
| |/ / |/| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | Merge branch 'stable'Lars Hjemli2010-09-011-0/+1
|\ \ \ | | |/ | |/|
| * | ui-snapshot: actually compress zip archivesLars Hjemli2010-09-011-0/+1
| | | | | | | | | | | | | | | | | | | | | Since cgit linked with git-1.6.0 all zip archives has been uncompressed. This patch fixes the issue by specifying Z_DEFAULT_COMPRESSION. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | Merge branch 'stable'Lars Hjemli2010-08-292-4/+7
|\| | | |/ |/|
| * html: fix strcpy bug in convert_query_hexcharMark Lodato2010-08-291-4/+5
| | | | | | | | | | | | | | | | The source and destination strings in strcpy() may not overlap. Instead, use memmove(), which allows overlap. This fixes test t0104, where 'url=foo%2bbar/tree' was being parsed improperly. Signed-off-by: Mark Lodato <lodatom@gmail.com>
| * t0108-patch: add 'tests_done' to endMark Lodato2010-08-291-0/+2
| | | | | | | | Signed-off-by: Mark Lodato <lodatom@gmail.com>
* | Use GIT-1.7.2.2Lars Hjemli2010-08-227-10/+10
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Support refspecs in about-filter.Jason A. Donenfeld2010-08-205-7/+63
| | | | | | | | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Merge branch 'jd/gitolite'Lars Hjemli2010-08-045-17/+116
|\ \
| * | Add support for 'enable-gitweb-owner' optionJason A. Donenfeld2010-08-044-9/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | When this option is enabled (which it is by default), cgit will lookup the 'gitweb.owner' setting in each git config file found when processing the 'scan-path' option. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | Add support for 'remove-suffix' optionJason A. Donenfeld2010-08-044-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | When this option is enabled, the '.git' suffix of repository directories found while processing the 'scan-path' option will be removed. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | Add support for 'project-list' optionJason A. Donenfeld2010-08-045-8/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | This option specifies the location of a projectlist file as used by gitweb - when 'scan-tree' is later specified, only the projects listed in the projectlist file will be added. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | Merge branch 'js/notes'Lars Hjemli2010-08-044-0/+57
|\ \ \
| * | | ui-log: Display git notes when presentJeff Smith2010-08-042-0/+23
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Jeff Smith <whydoubt@yahoo.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | ui-commit: Display git notes when presentJeff Smith2010-08-043-0/+34
| |/ / | | | | | | | | | | | | Signed-off-by: Jeff Smith <whydoubt@yahoo.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | Merge branch 'stable'Lars Hjemli2010-08-032-13/+15
|\ \ \ | |/ / |/| / | |/
| * CGIT 0.8.3.3 v0.8.3.3Lars Hjemli2010-08-031-1/+1
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * ui-refs.c: avoid segfault on unparsed ref objectsLars Hjemli2010-08-031-12/+14
| | | | | | | | | | | | | | | | When a ref refers to something other then a commit or tag object, cgit could segfault when trying to display the tag info. Noticed-by: Eugene Sajine <euguess@gmail.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | commit-links.sh: Seperate the expressions for filtering commit messages.Jeff Smith2010-07-221-7/+9
| | | | | | | | | | This allows for putting descriptions closer to their expressions. It should also make it clearer how to apply an expression conditionally.
* | Makefile: do not include dependency-file on `make clean`Lynn Lin2010-07-221-1/+3
| | | | | | | | | | When envoking clean target, make should not perform the dependency file generation triggered by include.
* | Merge branch 'jh/ignorews'Lars Hjemli2010-07-187-12/+40
|\ \
| * | ui-diff: Add link to ignore/show whitespace changes in diffsJohan Herland2010-07-182-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a link to the "Diffstat" line to ignore/show whitespace changes in the generated diff. To support this, cgit_commit_link() and cgit_diff_link() has learned to preserve the ctx.qry.ignorews variable. Signed-off-by: Johan Herland <johan@herland.net>
| * | Add URL parameter 'ignorews' for optionally ignoring whitespace in diffsJohan Herland2010-07-186-12/+25
| | | | | | | | | | | | | | | | | | | | | | | | The new ctx.qry.ignorews variable is passed via cgit_diff_files() and cgit_diff_tree() to Git's diff machinery. This is equivalent to passing --ignore-all-space to 'git diff'. Signed-off-by: Johan Herland <johan@herland.net>
* | | Merge branch 'lh/macros'Lars Hjemli2010-07-183-5/+78
|\ \ \
| * | | Add support for environment variable expansionLars Hjemli2010-03-223-5/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch teaches cgit to expand environment variables in certain cgitrc option values (cache_root, scan-path, include) plus when finding the location of cgitrc itself. One use case for this feature is virtual hosting - e.g. by setting $CGIT_CONFIG='/etc/cgitrc/$HTTP_HOST' in httpd.conf, all virtual hosts automatically gets their own cgitrc. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | | Merge branch 'stable'Lars Hjemli2010-07-131-0/+4
|\ \ \ \ | | |_|/ | |/| |
| * | | Reencode author and committerRémi Lagacé2010-07-131-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When a commit has a specific encoding, this encoding also applies to the author and committer name and email. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | | Merge branch 'lh/range-search'Lars Hjemli2010-06-222-4/+8
|\ \ \ \
| * | | | ui-log.c: allow commit range as search expressionLars Hjemli2010-06-192-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | Inspired-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | | | Merge branch 'jh/context-lines'Lars Hjemli2010-06-227-8/+34
|\ \ \ \ \ | | |_|_|/ | |/| | | | | | | | | | | | | | | | | | Conflicts: cgit.c cgit.h
| * | | | ui-diff: Add links to increase/decrease number of context lines in diffsJohan Herland2010-06-192-1/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add two links to the "Diffstat" line to show more/less context lines in the generated diff. To support this, cgit_commit_link() and cgit_diff_link() has learned to preserve the ctx.qry.context variable. Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | | Add URL parameter 'context' for changing the number of context lines in diffsJohan Herland2010-06-196-7/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new ctx.qry.context variable is picked up by cgit_print_diff(), and passed via cgit_diff_files() to Git's diff machinery. Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | | | Merge branch 'jh/path-limit'Lars Hjemli2010-06-2217-164/+275
|\| | | | | |/ / / |/| | | | | | | | | | | | | | | Conflicts: cgit.h ui-commit.c
| * | | ui-shared.c: path-limit style nitpickLars Hjemli2010-06-191-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | This subjectively makes the path-limit bar less visually intrusive. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | ui-log: Preserve path limit in outgoing linksJohan Herland2010-06-191-12/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows navigation through the 'log' page/command without losing the active path limit. Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | ui-shared: Preserve path limit in "tab bar" linksJohan Herland2010-06-191-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When using the "tab bar" in the pageheader to navigate between pages, any path limit in effect on the current page is forgotten in the link to the target page, even if the target page can interpret and use the path limit constructively. Instead, preserve the current page's path limit in the "tab bar" links to other pages, where the path limit is useful to the target page. Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | ui-commit: Preserve path limit in links to commit pageJohan Herland2010-06-195-12/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This includes adding a path argument to cgit_commit_link() and updating all its callers. The callers from within the commit page (i.e. the "commit", "unidiff"/"side-by-side diff" and "parent" links) all preserve the path limit of the current commit page. All other callers pass NULL (i.e. no path limit). Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | ui-commit: Preserve path limit in links to tree and diff pagesJohan Herland2010-06-191-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For tree links, the original link is unchanged, but in the case of a path limit, a subtree link is added to the right of the original tree link. Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | ui-patch: Apply path limit to generated patchJohan Herland2010-06-196-8/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also indicate in the comment section of the patch that a path limit was applied, too easily see when a generated patch is only partial. Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | ui-commit: Limit diff based on path limit in qry.pathJohan Herland2010-06-193-4/+4
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | ui-diff: Teach diffstat to obey path limitJohan Herland2010-06-191-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Also indicate in the diffstat header if a path limit is in effect. Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | ui-tree: Remove unnecessary path breadcrumb navigationJohan Herland2010-06-191-13/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The path breadcrumb navigation at the top of the 'tree' page has now been duplicated in ui-shared, which leaves the ui-tree implementation unnecessary. This patch removes the breadcrumb navigation from ui-tree, and moves the "(plain)" link that followed the breadcrumb when displaying blobs to the end of the next line, following the blob SHA1. Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | ui-shared: Teach "breadcrumb" navigation to path limit display beneath tab barJohan Herland2010-06-192-1/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a path limit is in effect, and displayed directly beneath the tab bar, it should offer breadcrumb navigation (like what the 'tree' page does), to allow changing the path limit easily. Implementing this requires a robust way to link back to the current page with a changed ctx->qry.path, but without losing track of the other query arguments. This is solved by adding the new cgit_self_link() function, which is then invoked repeatedly by the new cgit_print_path_crumbs() function while manipulating ctx->qry.path. Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | ui-shared: Display path limit directly beneath tab bar in relevant pagesJohan Herland2010-06-192-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Design-wise, the path is shown by "expanding" the grey border between the tab bar and the content area of the page to house the current path limit. This is only displayed on pages where the path limit is relevant, and only when a path limit is in effect. Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | ui-shared: Replace ctx.qry.path with ctx.qry.vpathJohan Herland2010-06-191-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In all cases where ui-shared uses ctx.qry.path, it is done so in the context of a in-project path, and not in the context in which the 'refs' page or the 'clone'-related functionality uses ctx.qry.path. Make this explicit by using ctx.qry.vpath instead. This path introduces no fundamental difference in functionality except for fixing some minor bugs, for example the Atom feed reference from a "$repo/refs/heads/" page. Note that the usage of ctx.qry.path in the other ui-<page>.c files is ok, since that code presumably is only executed in the context of its own <page>, so the correct interpretation of ctx.qry.path is never in question. Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | struct cgit_cmd: Differentiate between various usages of ctx.qry.pathJohan Herland2010-06-194-22/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For many commands/pages (e.g. 'tree', 'diff', 'plain', etc.), the ctx.qry.path argument is interpreted as a path within the "virtual" project directory structure. However, for some other commands (notably 'refs', and the clone-related commands) ctx.qry.path is used in a different context (as a more or less "real" path within the '.git' directory). This patch differentiates between these two usages of ctx.qry.path, by introducing a new variable - ctx.qry.vpath - which is equal to ctx.qry.path in the former case, and NULL in the latter. This will become useful in future patches when we want various pages and the links between them to preserve existing in-project paths. Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | ui-shared: Remove needless cgit_get_cmd() call, and refactor hc() accordinglyJohan Herland2010-06-191-19/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The call to cgit_get_cmd() and the following fallback handling (to "summary" or "repoindex") in cgit_print_pageheader() is unnecessary, since the same fallback handling was already done when ctx.qry.page was set when cgit_get_cmd() was called from process_request() in cgit.c. As such, hc() can also be rewritten to simply compare the given 'page' string against ctx.qry.page. Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | ui-shared: Improve const-ness in APIJohan Herland2010-06-192-65/+80
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This is needed to prevent const-related warnings in later patches. Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | Remove unused variable in shared.cJohan Herland2010-06-191-1/+0
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | Fix small typo in cgitrc exampleJohan Herland2010-06-191-1/+1
| | |/ | |/| | | | | | | | | | Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | Fix style of commit-filter links in commit-subject.Johan Herland2010-06-191-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When using the commit-filter functionality to add e.g. bug tracker links to commit messages, the style of those links is mangled by a CSS directive that is meant to only apply to decorations that are listed on the commit-subject line. Fix this directive to only apply to the decorations. Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | Merge branch 'stable'Lars Hjemli2010-06-191-1/+1
|\ \ \ | | |/ | |/|
| * | CGIT 0.8.3.2 v0.8.3.2Lars Hjemli2010-06-191-1/+1
| | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | Merge branch 'ag/atom-fixes'Lars Hjemli2010-06-195-2/+15
|\ \ \
| * | | Add 'max-atom-items' config variableAaron Griffin2010-03-224-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows one to specify the items in the RSS feeds Signed-off-by: Aaron Griffin <agriffin@datalogics.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | Add all=1 query param for atom feedsAaron Griffin2010-03-223-1/+6
| | |/ | |/| | | | | | | | | | | | | | | | Displays all items from all branches in one feed Signed-off-by: Aaron Griffin <agriffin@datalogics.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | Merge branch 'lh/noweb'Lars Hjemli2010-06-191-0/+2
|\ \ \
| * | | scan-tree: add test for noweb-file in repo dirLars Hjemli2010-02-281-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | If such a file exists, the repo is not added to the repolist. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | | Merge branch 'ml/plain-improvements-part1'Lars Hjemli2010-06-191-8/+60
|\ \ \ \
| * | | | ui-plain: print directory listingsMark Lodato2010-01-311-1/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a user requests a plain view of a tree (as opposed to a blob), print out a directory listing rather than giving a 404 Not Found. Also, fix a segfault when ctx->qry.path is NULL - i.e, when /plain is requested without a path. Signed-off-by: Mark Lodato <lodatom@gmail.com>
| * | | | ui-plain: more efficient walk_tree()Mark Lodato2010-01-311-6/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Git's read_tree_recursive() already filters out the objects by pathname, so we only have to compare baselen to the expected. That is, no string matching is required. Additionally, if the requested path is a directory, the old code would walk through all of its immediate children. This is not necessary, this so we no longer do that. Signed-off-by: Mark Lodato <lodatom@gmail.com>
| * | | | ui-plain: remove unused curr_rev variableMark Lodato2010-01-301-2/+0
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Mark Lodato <lodatom@gmail.com>
* | | | | Merge branch 'sn/subject-link'Lars Hjemli2010-06-195-4/+25
|\ \ \ \ \
| * | | | | Optionally generate verbose parent linksLars Hjemli2010-02-275-5/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new option 'enable-subject-links' must be used to enable the verbose parent-links in commit view. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | | | display subject instead of sha1 as link title of parentsStefan Naewe2010-02-271-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Stefan Naewe <stefan.naewe@atlas-elektronik.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | | | | Merge branch 'stable'Lars Hjemli2010-04-081-0/+8
|\ \ \ \ \ \ | |_|_|_|/ / |/| | | | / | | |_|_|/ | |/| | |
| * | | | shared.c: avoid memory leak during diffLars Hjemli2010-04-081-0/+8
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | | | ui-tree: add link to plain view for blobs in tree listingLars Hjemli2010-02-281-0/+2
| |_|_|/ |/| | | | | | | | | | | | | | | Suggested-by: Robert Weidlich <mail@robertweidlich.de> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | | Use GIT-1.7.0Lars Hjemli2010-02-272-1/+1
| | | | | | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | | Merge branch 'html-updates' of git://github.com/MarkLodato/cgitLars Hjemli2010-02-272-30/+58
|\ \ \ \ | |_|/ / |/| | |
| * | | html: properly percent-escape URLsMark Lodato2010-02-091-4/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The only valid characters for a URL are unreserved characters a-zA-Z0-9_-.~ and the reserved characters !*'();:@&=+$,/?%#[] , as per RFC 3986. Everything else must be escaped. Additionally, the # and ? always have special meaning, and the &, =, and + have special meaning in a query string, so they too must be escaped. To make this easier, a table of escapes is now used so that we do not have to call fmt() for each character; if the entry is 0, no escaping is needed. Signed-off-by: Mark Lodato <lodatom@gmail.com>
| * | | html: make all strings 'const char *'Mark Lodato2010-02-082-26/+26
| | |/ | |/| | | | | | | | | | | | | | | | | | | None of the html_* functions modify their argument, so they can all be 'const char *' instead of a simple 'char *'. This removes the need to cast (or copy) when trying to print a const string. Signed-off-by: Mark Lodato <lodatom@gmail.com>
* | | Merge branch 'stable'Lars Hjemli2010-02-272-3/+3
|\ \ \ | |/ / |/| / | |/
| * Clear the whole contextDaniel Milde2010-02-271-1/+1
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * ui-shared.c: fix segfault when repo is emptyFlorian Pritz2010-02-271-2/+2
| | | | | | | | | | | | | | | | | | PATH_INFO="/$REPONAME/commit/?id=1" QUERY_STRING="id=1" ./cgit.cgi triggers segfault when the repository is empty and therefore ctx.qry.head is unset Signed-off-by: Florian Pritz <bluewind@xssn.at> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Merge branch 'stable'Lars Hjemli2009-12-124-4/+4
|\|
| * CGIT 0.8.3.1 v0.8.3.1Lars Hjemli2009-12-121-1/+1
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * Fix segfault on ppc when browsing treeMartins Polakovs2009-12-123-3/+3
| |
* | Add .tar.xz-snapshot supportAndreas Wiese2009-12-081-4/+10
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Merge branch 'lh/remote-branches'Lars Hjemli2009-12-085-0/+18
|\ \
| * | Add support for remote branchesLars Hjemli2009-11-075-0/+18
| | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | Merge branch 'ro/ssdiff'Lars Hjemli2009-12-0813-25/+586
|\ \ \
| * | | In side-by-side diff, add support for marking individual characters.Ragnar Ouchterlony2009-11-072-25/+130
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refuses to do so if the left hand side of the diff has different amount of differing lines to the right hand side to avoid confusion. Note that I use the naive dynamic programming approach for calculating the longest common subsequence. We could probably be more efficient by using a better algorithm. The LCS calculating function is O(n*m) and uses up n*m amount of memory too (so if we we compare two strings of length 100, I use an array of 10000 for calculating the LCS). Might want to not calculate LCS if the length of the line is too large. Signed-off-by: Ragnar Ouchterlony <ragnar@lysator.liu.se>
| * | | Fixed side-by-side diff bugs related to binary diff and more.Ragnar Ouchterlony2009-09-162-6/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The fixed bugs: * "Binary files differ" did not show up either in unidiff or side-by-side-diff. * Subproject diffs did not work for side-by-side diffs. * The ssdiff link on diff pages did not conserve the path. Signed-off-by: Ragnar Ouchterlony <ragnar@lysator.liu.se> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | Polishing of how the side-by-side diff looks.Ragnar Ouchterlony2009-09-164-30/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Aligned all different files, so that all side-by-side tables look the same. Also made sure that the tables take up the whole browser width. Also various changes to the css to make things easier on the eye. Signed-off-by: Ragnar Ouchterlony <ragnar@lysator.liu.se> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | Add possibility to switch between unidiff and side-by-side-diff.Ragnar Ouchterlony2009-09-169-16/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A new config option side-by-side-diffs added, defaulting to 0, meaning unidiff. Also a query option (ss) is used toggle this. In the commit page you can switch between the two diff formats by clicking on the link on the "commit"-row, to the right of (patch). In the diff page you can switch by using the link at the start of the page. All commit-links and diff-links will remember the choice. Signed-off-by: Ragnar Ouchterlony <ragnar@lysator.liu.se> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | First version of side-by-side diff.Ragnar Ouchterlony2009-09-165-2/+325
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This constitutes the first prototype of a side-by-side diff. It is not possible to switch between unidiff and side-by-side diff at all at this stage. Signed-off-by: Ragnar Ouchterlony <ragnar@lysator.liu.se> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | | Merge branch 'master' of http://op-co.de/cgitLars Hjemli2009-12-086-17/+31
|\ \ \ \
| * | | | "max-blob-size" config var to limit generated HTML sizeGeorg Lukas2009-11-284-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sometimes it is not feasible to generate the HTML pretty-print for large files, especially if a source-filter is involved or binary data is to be displayed. The "max-blob-size" config var allows to disable HTML output for blobs bigger than X KBytes. Plain downloads are not affected. Signed-off-by: Georg Lukas <georg@op-co.de>
| * | | | cgit.css: highlight directories in treeGeorg Lukas2009-11-281-0/+5
| | | | |
| * | | | syntax highlighting for all formats supported by "highlight"Georg Lukas2009-11-191-17/+12
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The highlight tool can be given any of the supported file extensions as its -S parameter. This patch replaces the case-switch by extracting the extension from the supplied file name and passing it to highlight. However, this requires a shell supporting the ${var##pattern} syntax, like dash or bash. Unknown extensions cause a fall-back to plain text using the --force switch. Error messages are redirected to /dev/null. A special case maps Makefile and Makefile.* to the "mk" extension. The total overhead is reduced by calling "exec highlight". No forks are needed during script execution. Signed-off-by: Georg Lukas <georg@op-co.de>
* | | | Merge branch 'stable'Lars Hjemli2009-12-081-2/+2
|\ \ \ \ | |/ / / |/| | / | | |/ | |/|
| * | Don't crash when a repo-specific readme file is usedSami Kyöstilä2009-12-081-2/+2
| | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | Merge branch 'stable'Lars Hjemli2009-11-071-3/+5
|\| |
| * | shared.c: return original errnoLars Hjemli2009-11-071-3/+5
| | | | | | | | | | | | | | | Noticed-by: Andreas Schwab <schwab@linux-m68k.org> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | Add NO_OPENSSL optionMikhail Gusarov2009-11-071-3/+12
| | | | | | | | | | | | | | | | | | | | | Linking with OpenSSL is not always desirable. Add NO_OPENSSL option to use SHA-1 code bundled with Git. Signed-off-by: Mikhail Gusarov <dottedmag@dottedmag.net>
* | | Merge branch 'stable'Lars Hjemli2009-11-072-3/+8
|\| |
| * | Close fd on error in readfile()Rys Sommefeldt2009-11-071-2/+7
| | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | Nov is the correct abbreviationDanijel Tašov2009-11-071-1/+1
| | |
* | | ui-shared.c: prettify download links when generated from tag pageLars Hjemli2009-10-161-2/+7
| | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | ui-tag: make output more similar to commit viewLars Hjemli2009-10-061-6/+6
| | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | ui-tag: add snapshot linksAlexey Nezhdanov2009-10-061-0/+12
| | | | | | | | | | | | | | | Signed-off-by: Alexey Nezhdanov <snakeru@gmail.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | Skip leading "/" in url querystring valueStefan Bühler2009-10-061-0/+2
|/ / | | | | | | | | | | | | | | Makes it easier to rewrite :) lighttpd-sandbox: rewrite "/cgit.cgi?url=%{enc:request.path}&%{request.query}"; Signed-off-by: Stefan Bühler <source@stbuehler.de> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Fix repolist search links with virtual rootGeoff Johnstone2009-09-202-1/+2
| | | | | | | | | | Signed-off-by: Geoff Johnstone <geoff.johnstone@googlemail.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | cgitrc.5.txt: Change repo.group to section in example config.Loui Chang2009-09-141-4/+4
| | | | | | | | | | Signed-off-by: Loui Chang <louipc.ist@gmail.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | cgitrc.5.txt: Add mansource and manmanual.Loui Chang2009-09-141-0/+3
|/ | | | | | | This prevents FIXMEs from appearing. Signed-off-by: Loui Chang <louipc.ist@gmail.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* CGIT 0.8.3 v0.8.3Lars Hjemli2009-09-131-1/+1
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Merge branch 'stable'Lars Hjemli2009-09-131-1/+1
|\
| * CGIT 0.8.2.2 v0.8.2.2Lars Hjemli2009-09-131-1/+1
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Merge branch 'lh/repo-scan'Lars Hjemli2009-09-1311-80/+329
|\ \
| * | cgit.c: respect repo-local 'snapshots' option for --scan-pathLars Hjemli2009-08-241-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The repo-specific 'snapshots' option is bitwise AND'ed with the global 'snapshots' option during parsing, and since the global cgitrc hasn't been parsed when --scan-path is processed the global 'snapshots' will always be 0 (i.e. no repo-specific 'snapshots' setting will have any effect). This patch fixes the issue by setting the global 'snapshots' mask to 0xFF (hence relying on later parsing of the generated cgitrc repolist to do the right thing). Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | cgit.c: only print first line of repo.desc in print_repo()Lars Hjemli2009-08-241-2/+14
| | | | | | | | | | | | | | | | | | | | | | | | Since repo.desc might have been populated by reading the 'description' file in GIT_DIR, it may contain newlines. And by printing the literal value, we may then generate an invalid cgitrc include-file. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | Add and use cgit_find_stats_periodname() in print_repo()Lars Hjemli2009-08-243-0/+12
| | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | cgit.c: generate repo.snapshots in print_repo()Lars Hjemli2009-08-241-0/+25
| | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | cgit.c: add missing options to print_repo()Lars Hjemli2009-08-241-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | Note: print_repo() still ignores repo.max-stats and repo.snapshots, which both requires additional work since these settings are represented internally as an enum and a bitmap. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | shared.c: initialize cgit_repo structs properlyLars Hjemli2009-08-241-0/+1
| | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | Add config option 'enable-filter-overrides'Lars Hjemli2009-08-243-11/+26
| | | | | | | | | | | | | | | | | | | | | This option must be enabled if repo-specific cgitrc files should be allowed to override any of the 'filter' options. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | cgitrc.5.txt: fix markup errorsLars Hjemli2009-08-241-9/+10
| | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | ui-repolist: handle empty sections similar to NULL sectionsLars Hjemli2009-08-242-7/+12
| | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | Add support for repo-local cgitrc fileLars Hjemli2009-08-245-13/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When recursively scanning a directory tree looking for git repositories, cgit will now parse cgitrc files found within such repositories. The repo-specific config files can include any repo-specific options except 'repo.url' and 'repo.path'. Also, in such config files the 'repo.' prefix can not be used, i.e. the valid options then becomes: * name * clone-url * desc * ower * defbranch * snapshots * enable-log-filecount * enable-log-linecount * max-stats * module-link * section * about-filter * commit-filter * source-filter * readme Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | cgit.c: refactor repo_config() from config_cb()Lars Hjemli2009-08-241-41/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new function repo_config() is used to handle all 'simple' repo options, for the following reasons: * code readability * parser performance * upcoming support for repo-local cgitrc files during scanning Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | ui-repolist.c: sort by section name, repo name as defaultLars Hjemli2009-08-241-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | When no sorting is requested by the client, cgit will now sort by section name followed by repo name. This allows repos to be registered/ discovered independently of their display order. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | Add config option 'repo.section'Lars Hjemli2009-08-242-0/+5
| | | | | | | | | | | | | | | | | | | | | This option can be used to specify the section name for the current repository. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | Introduce 'section' as canonical spelling for 'repo.group'Lars Hjemli2009-08-246-17/+22
| | | | | | | | | | | | | | | | | | | | | | | | The 'repo.' prefix should be reserved for repo-specific options, but the option 'repo.group' must still be honored to stay backwards compatible. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | Add support for --scan-path command line optionLars Hjemli2009-08-241-1/+2
| | | | | | | | | | | | | | | | | | | | | This is an alias for --scan-tree (which might be deprecated in the future). Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | Rename 'repo.scan' to 'scan-path'Lars Hjemli2009-08-242-10/+10
| | | | | | | | | | | | | | | | | | | | | The 'repo.' prefix will soon be reserved for repo-specific config options. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | cgitrc.5.txt: document repo.scan and cache-scanrc-ttlLars Hjemli2009-08-241-0/+9
| | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | cgit.c: add support for caching autodetected repositoriesLars Hjemli2009-08-242-1/+75
| | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | cgit.c: make print_repolist() and print_repo() reusable for cachingLars Hjemli2009-08-241-12/+12
| | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | cache.h: export hash_str()Lars Hjemli2009-08-241-0/+2
| | | | | | | | | | | | | | | | | | This function will be reused to cache the result of tree scanning. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | cgit.c: add support for cgitrc option 'repo.scan'Lars Hjemli2009-08-241-0/+2
| | | | | | | | | | | | | | | | | | When specified, the specified path will be scanned for repositories. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | scan-tree: detect non-bare repository and stop scanning earlyLars Hjemli2009-08-241-0/+4
| | | | | | | | | | | | | | | | | | | | | We don't want to descend into every subdirectory of a git repository with a workdir. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | Merge branch 'fp/linenumbers'Lars Hjemli2009-09-135-17/+32
|\ \ \
| * | | cgit.css: make the blob display in tree view a bit prettierLars Hjemli2009-08-211-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Adding some padding to the linenumbers while right-aligning them and removing the background color makes the page more readable. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | Rename "linenumbers" to "enable-tree-linenumbers", change default to "1"Lars Hjemli2009-08-214-8/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes the name of the cgitrc option more descriptive and at the same time changes the default from "0" to "1" in an attempt to stay backwards compatible - prior to the introduction of "source-filter" and "linenumbers", cgit always generated linenumber links in the tree view, but now this feature can be turned off (one might want to do this if the source-filter performs line-wrapping etc). While at it, the documentation is updated to match the surrounding descriptions. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | Add 'linenumbers' config optionFlorian Pritz2009-08-214-11/+23
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Florian Pritz <bluewind@xssn.at> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | ui-tree.c: show line numbers when highlightingFlorian Pritz2009-08-211-9/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When source-filter is enabled, cgit currently will not display linenumbers in the tree view. This patch restores the linenumber function. Signed-off-by: Florian Pritz <bluewind@xssn.at> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | | Use GIT-1.6.4.3Lars Hjemli2009-09-134-3/+3
| | | | | | | | | | | | | | | | Signed-off-by: Lars Hjemli <larsh@slackbox.hjemli.net>
* | | | Merge branch 'stable'Lars Hjemli2009-09-061-1/+2
|\ \ \ \ | |_|/ / |/| | / | | |/ | |/|
| * | ui-plain.c: only return the blob with the specified pathLars Hjemli2009-09-061-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a path to a directory was specified for the 'plain' view, each blob in the directory used to be returned to the client. This patch fixes the issue by matching the path of each blob against the requested path. Noticed-by: Lars Stoltenow <penma@penma.de> Signed-off-by: Lars Hjemli <larsh@slackbox.hjemli.net>
* | | cgitrc.5.txt: fix description and markup for 'snapshots' optionLars Hjemli2009-08-241-8/+3
| |/ |/| | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | scan-tree: split the pw_gecos field at the ',' to get the real nameStefan Naewe2009-08-201-0/+3
| | | | | | | | | | Signed-off-by: Stefan Naewe <stefan.naewe@atlas-elektronik.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | cgit.c: fix caching keyed on PATH_INFO with no QUERY_STRINGLars Hjemli2009-08-201-1/+1
| | | | | | | | | | | | | | | | When generating a hash for caching, ctx.qry.raw is used as key. And since cgit_parse_url() zero-terminates it's argument (after the repo path), ctx.qry.raw must xstrdup(ctx.qry.url). Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Add and use a common readfile() functionLars Hjemli2009-08-184-23/+34
| | | | | | | | | | | | | | | | | | | | | | | | This function is used to read the full content of a textfile into a newly allocated buffer (with zerotermination). It replaces the earlier readfile() in scan-tree.c (which was rather error-prone[1]), and is reused by read_agefile() in ui-repolist.c. 1: No checks for EINTR and EAGAIN, fixed-size buffer Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Merge branch 'stable'Lars Hjemli2009-08-182-0/+2
|\|
| * truncate buffer before reading empty filesSimon Arlott2009-08-182-0/+2
| | | | | | | | | | | | | | | | | | | | If readfile() reads an empty file, fgets() won't truncate the buffer and it'll still contain the contents of the previously read file. [lh: fixed similar issue in ui-repolist.c] Signed-off-by: Simon Arlott <simon@fire.lp0.eu> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Merge branch 'stable'Lars Hjemli2009-08-181-8/+11
|\|
| * ui-shared: don't print header <img/> if there isn't a logo definedMatthew Metnetsky2009-08-181-8/+11
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Merge branch 'stable'Lars Hjemli2009-08-172-1/+7
|\|
| * cgit.c: do not segfault on unexpected query-string formatLars Hjemli2009-08-171-0/+3
| | | | | | | | | | | | | | | | The querystring_cb() function will be invoked with a NULL value when the querystring contains a name not followed by a '='. Such a value used to cause a segfault, which this patch fixes. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * ui-tag.c: do not segfault when id is missing from query-stringLars Hjemli2009-08-171-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The purpose of the tag page is to print info about a specific tag, but if no tag was specified on the query-string cgit used to segfault. With this patch, cgit will fallback to the value of the 'h' parameter instead (which is never NULL due to prepare_repo_cmd() in cgit.c). It will now also verify that the specified tagname is in fact a valid ref in the 'refs/tags/' namespace, i.e. specifying 'id=master' will trigger a 'Bad tag reference' error. Noticed-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | ui-log.c: handle lightweight tags when printing commit decorationsLars Hjemli2009-08-161-0/+4
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | ui-refs.c: improve handling of lightweight tagsStefan Bühler2009-08-161-1/+18
| | | | | | | | | | | | | | | | | | | | When a lightweight tag is referencing a commit object, cgit now uses the commit date when comparing tag age. Also, the commitdate and author info is printed in the refs view, making lightweight tags appear similar to annotated tags. Signed-off-by: Stefan Bühler <lighttpd@stbuehler.de> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Use GIT-1.6.3.4Lars Hjemli2009-08-162-1/+1
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Merge branch 'lh/embedded'Lars Hjemli2009-08-113-39/+63
|\ \
| * | ui-shared: add support for header/footer options when embedded=1Lars Hjemli2009-08-111-5/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When embedded=1, cgit used to ignore the header and footer options. But honoring these options when embedded=1 makes it possible to "frame" the html fragment generated by cgit with any kind of static content, i.e. it should become easier to integrate cgit with site-specfic layouts. Original-patch-by: Mark Constable <markc@renta.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | ui-shared: add support for NO_HTTP=1/--nohttpLars Hjemli2009-08-103-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cgit_print_http_headers() used to do nothing if 'embedded' was specified in cgitrc, but that was wrong - we never want to skip the headers when invoked as a CGI app. Sadly, there's no easy way to detect if we're invoked as a CGI app or if we're invoked by another CGI app, so for the latter case cgit needs to be invoked with either --nohttp on the command line or NO_HTTP=1 in the environment. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | Cleanup handling of environment variablesLars Hjemli2009-08-103-33/+45
| | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | cgitrc.5.txt: describe where/how cgit will locate cgitrcLars Hjemli2009-08-101-0/+7
| | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | cgit.c: make '/cgit.png' the default value for 'logo' optionLars Hjemli2009-08-102-2/+2
| | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | cgit.css: align commit message with subject in expanded log listingLars Hjemli2009-08-101-1/+1
|/ / | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Add some example filter scriptsLars Hjemli2009-08-092-0/+51
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Merge branch 'lh/about'Lars Hjemli2009-08-098-10/+48
|\ \ | | | | | | | | | | | | Conflicts: cgit.h
| * | Add 'about-filter' and 'repo.about-filter' optionsLars Hjemli2009-08-096-2/+28
| | | | | | | | | | | | | | | | | | | | | | | | These options can be used to execute a filter command on each about-page, both top-level and for each repository (repo.about-filter can be used to override the current about-filter). Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | ui-summary: enable arbitrary paths below repo.readmeLars Hjemli2009-08-093-8/+20
| | | | | | | | | | | | | | | | | | | | | | | | This change makes it possible to include any number of pages below the 'about' tab for a repository. The path is assumed to be located in the same directory as the 'repo.readme' file. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | Merge branch 'lh/plugins'Lars Hjemli2009-08-097-32/+125
|\| | | | | | | | | | | | | | | | | Conflicts: cgit.c cgit.h
| * | cgit.c: allow repo.*-filter options to unset the current defaultLars Hjemli2009-08-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | If e.g. repo.commit-filter is specified as an empty string, this is now properly handled as disabling the global commit-filter setting for the current repository. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | Add support for repo.commit-filter and repo.source-filterLars Hjemli2009-08-096-21/+35
| | | | | | | | | | | | | | | | | | | | | These options can be used to override the default commit- and source- filter settings per repository. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | ui-commit: add support for 'commit-filter' optionLars Hjemli2009-07-314-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This new option specifies a filter which is executed on the commit message, i.e. the commit message is written to the filters STDIN and the filters STDOUT is included verbatim as the commit message. This can be used to implement commit linking by creating a simple shell script in e.g. /usr/bin/cgit-commit-filter.sh like this: #/bin/sh sed -re 's|\b([0-9a-fA-F]{6,40})\b|<a href="./?id=\1">\1</a>|g' Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | ui-tree: add support for source-filter optionLars Hjemli2009-07-314-4/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This new option is used to specify an external command which will be executed when displaying blob content in the tree view. Blob content will be written to STDIN of the filter and STDOUT from the filter will be included verbatim in the html output from cgit. The file name of the blob will be passed as the only argument to the filter command. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | ui-snapshot: use cgit_{open|close}_filter() to execute compressorsLars Hjemli2009-07-311-28/+7
| | | | | | | | | | | | | | | | | | | | | This simplifies the code in ui-snapshot.c and makes the test-suite verify the new filter-functions. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | Add generic filter/plugin infrastructureLars Hjemli2009-07-313-0/+62
| | | | | | | | | | | | | | | | | | | | | The functions cgit_open_filter() and cgit_close_filter() can be used to execute filters on the output stream from cgit. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | Merge branch 'lh/mimetypes'Lars Hjemli2009-08-094-5/+45
|\ \ \
| * | | Add support for mime type registration and lookupLars Hjemli2009-07-254-5/+45
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch makes it possible to register mappings from filename extension to mime type in cgitrc and use this mapping when returning blob content in `plain` view. The reason for adding this mapping to cgitrc (as opposed to parsing something like /etc/mime.types) is to allow quick lookup of a limited number of filename extensions (/etc/mime-types on my machine currently contains over 700 entries). NB: A nice addition to this patch would be to parse /etc/mime.types when `plain` view is requested for a file with an extension for which there is no mapping registered in cgitrc. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | Expose file extension in tree lists as class to allow nicer tree stylingMartin Szulecki2009-08-081-1/+7
| | | | | | | | | | | | Signed-off-by: Martin Szulecki <opensuse@sukimashita.com>
* | | Introduce noplainemail option to hide email adresses from spambotsMartin Szulecki2009-08-087-7/+22
|/ / | | | | | | Signed-off-by: Martin Szulecki <opensuse@sukimashita.com>
* | Merge branch 'lh/embedded'Lars Hjemli2009-07-254-6/+37
|\ \ | | | | | | | | | | | | | | | Conflicts: cgitrc.5.txt ui-shared.c
| * | cgit.h: keep config flags sortedLars Hjemli2009-07-251-2/+2
| | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | cgitrc.5.txt: document 'embedded' and 'noheader'Lars Hjemli2009-07-251-0/+9
| | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | Add support for 'noheader' optionLars Hjemli2009-07-253-7/+16
| | | | | | | | | | | | | | | | | | | | | | | | This option can be used to disable the standard cgit page header, which might be useful in combination with the 'embedded' option. Suggested-by: Mark Constable <markc@renta.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | Add support for an 'embedded' option in cgitrcLars Hjemli2009-02-023-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When activated, cgit will neither generate http headers nor any 'framing' html elements (like <html> and <body>). Also, all page content is now wrapped in a <div id='cgit'> element to make it easier to select the correct cgit classes when embedded/themed. Suggested-by: Matt Sealey <matt@genesi-usa.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | Merge branch 'ml/head-include'Lars Hjemli2009-07-254-1/+10
|\ \ \
| * | | cgitrc.5.txt: document 'head-include'Lars Hjemli2009-07-251-0/+4
| | | | | | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | Add head-include configuration option.Mark Lodato2009-06-073-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | This patch adds an option to the configuration file, "head-include", which works just like "header" or "footer", except the content is put into the HTML's <head> tag.
* | | | Merge branch 'plain-etag'Lars Hjemli2009-07-254-0/+12
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Conflicts: ui-shared.c
| * | | | Add support for HEAD requestsLars Hjemli2009-02-192-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a quick 'n dirty hack which makes cgit honor HEAD requests. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | | Add support for ETag in 'plain' viewLars Hjemli2009-02-194-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When downloading a blob identified by its path, the client might want to know if the blob has been modified since a previous download of the same path. To this end, an ETag containing the blob SHA1 seems to be ideal. Todo: add support for HEAD requests... Suggested-by: Owen Taylor <otaylor@redhat.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | | | Merge branch 'rt/plain-binary'Lars Hjemli2009-07-252-2/+11
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | | | ui-blob: return 'application/octet-stream' for binary blobsLars Hjemli2009-07-251-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | | | ui-plain: Return 'application/octet-stream' for binary files.Remko Tronçon2009-07-251-1/+4
| | |_|_|/ | |/| | | | | | | | | | | | | | | | | | Signed-off-by: Remko Tronçon <git@el-tramo.be> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | | | Merge branch 'do/https'Lars Hjemli2009-07-253-3/+18
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | | | use cgit_httpscheme() for atom feedDiego Ongaro2009-06-112-3/+6
| | | | | |