summaryrefslogtreecommitdiff
path: root/gitweb/gitweb.cgi
AgeCommit message (Collapse)AuthorFilesLines
2006-07-30Merge branch 'lt/web'Libravatar Junio C Hamano1-2/+75
* lt/web: gitweb.cgi: git_blame2: slight optimization reading the blame lines gitweb.cgi: git_blame2: Revision blocks now have alternating colors gitweb.cgi: git_blame2: Allow back-trekking through commits gitweb.cgi: git_blame2: an alternative simple working git blame
2006-07-28Merge branch 'lt/web'Libravatar Junio C Hamano1-28/+55
2006-07-26gitweb: fix two warningsLibravatar Johannes Schindelin1-2/+2
These warnings cluttered up my log. Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-25gitweb: escape tag commentsLibravatar Daniel Drake1-1/+1
I have a tag with a comment which includes an & character. Firefox wouldn't display my gitweb summary page due to malformed XML. This solves the problem. Signed-off-by: Daniel Drake <dsd@gentoo.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-24gitweb.cgi: git_blame2: slight optimization reading the blame linesLibravatar Luben Tuikov1-14/+5
Eliminate git_read_blame_line() -- move that code inline and optimize it. Signed-off-by: Luben Tuikov <ltuikov@yahoo.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-24gitweb.cgi: Centralize printing of the page pathLibravatar Luben Tuikov1-20/+21
Centralize printing of the page path so that if the entity is a blob, we can set the page path to be the link to the HEAD revision of the "raw" blob. Signed-off-by: Luben Tuikov <ltuikov@yahoo.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-24gitweb.cgi: git_blame2: Revision blocks now have alternating colorsLibravatar Luben Tuikov1-4/+11
A revision block is the largest number of adjacent lines of code originating from the same revision. This patch adds color to git_blame2(), in that no two adjacent revision blocks have the same color. The color alternates between light and dark. As we annotate the code lines, we alternate the color (light, dark) of code lines _per revision_. This makes it easier to see line conglomerations per revision. Signed-off-by: Luben Tuikov <ltuikov@yahoo.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-24gitweb.cgi: Show "raw" head of project link even when $hash is not definedLibravatar Luben Tuikov1-0/+3
Some callers of git_history() do not set $hash of $file_name. Add code to find it, if it is not defined. Signed-off-by: Luben Tuikov <ltuikov@yahoo.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-24gitweb.cgi: git_blame2: Allow back-trekking through commitsLibravatar Luben Tuikov1-1/+7
This patch adds the capability of back-trekking through commits from git_blame2() as follows: blame2->commit->blame2->commit->blame2->...->initial commit. Signed-off-by: Luben Tuikov <ltuikov@yahoo.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-24gitweb.cgi: git_blame2: an alternative simple working git blameLibravatar Luben Tuikov1-1/+70
This patch adds an alternative simple working git-blame called git_blame2(). Simple, because it displays just three columns: the commit, the line number and the line of code. Alternative, because the original git_blame() is left untouched. Lines of code are printed html escaped, but as-is. git_blame2() uses git-blame as opposed to git-annotate used by git_blame(). Signed-off-by: Luben Tuikov <ltuikov@yahoo.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-24gitweb.cgi: Include direct link to "raw" files from "history"Libravatar Luben Tuikov1-6/+29
In "history" view, the "page_path" is now also a URL link to the "raw" format of the file, which will always give you the latest version in the repository. This is helpful for externally linking files, such that the latest version is always referenced and in "raw" format. Signed-off-by: Luben Tuikov <ltuikov@yahoo.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-24gitweb.cgi: Teach git_history() to read hash from $hash_baseLibravatar Luben Tuikov1-13/+13
Teach git_history() to take its hash argument from the hb parameter, i.e. from $hash_base. Also change all "a=history" actions to pass "hb=" instead of "h=". Signed-off-by: Luben Tuikov <ltuikov@yahoo.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-12gitweb: Make command invocations go through the git wrapperLibravatar Alp Toker1-33/+29
This patch makes invocations of core git commands go through the 'git' binary itself, which improves readability and might help system administrators lock down their CGI environment for security. Signed-off-by: Alp Toker <alp@atoker.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-11gitweb: Include a site name in page titlesLibravatar Alp Toker1-2/+6
This helps users tell one 'git' bookmark apart from the other in their browser and improves the indexing of gitweb sites in Web search engines. The title defaults to the SERVER_NAME environment variable, often given by the webserver. Signed-off-by: Alp Toker <alp@atoker.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-11gitweb: Send XHTML as 'application/xhtml+xml' where possibleLibravatar Alp Toker1-2/+12
"The 'text/html' media type [RFC2854] is primarily for HTML, not for XHTML. In general, this media type is NOT suitable for XHTML." This patch makes gitweb use content negotiation to conservatively send pages as Content-Type 'application/xhtml+xml' when the user agent explicitly claims to support it. It falls back to 'text/html' even if the user agent appears to implicitly support 'application/xhtml+xml' due to a '*/*' glob, working around an insidious bug in Internet Explorer where sending the correct media type prevents the page from being displayed. Signed-off-by: Alp Toker <alp@atoker.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-10gitweb.cgi: Teach "a=blob" action to know the blob/file mime typeLibravatar Luben Tuikov1-60/+67
Now action "blob" knows the file type: if the file type is not "text/*" then action "blob" defaults to "blob_plain", i.e. the file is downloaded raw for the browser to interpret. If the file type is "text/*", then "blob" defaults to the current "cat -n"-like output, from which you can click "plain", to get the "blob_plain" output. Signed-off-by: Luben Tuikov <ltuikov@yahoo.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-10gitweb.cgi: Create $git_temp if it doesn't existLibravatar Luben Tuikov1-0/+3
Unless we'd done diffs, $git_temp doesn't exist and then mime lookups fail. Explicitly create it, if it doesn't exist already. Signed-off-by: Luben Tuikov <ltuikov@yahoo.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-09Add "raw" output option to blobs in "tree" view formatLibravatar Luben Tuikov1-0/+1
Add a "raw" output option to blobs in "tree" view format, so that the user doesn't have to click on "blob", wait for the (binary) file to be uploaded and shown in "blob" mode, and then click on "plain" to download the (binary) file. This is useful when the file is clearly binary and we don't want the browser to upload and display it in "blob" mode, but we just want to download it. Case in point: pdf files, wlg. Note: the "raw" format is equivalent to the blob->plain view, not blob->head view. I.e. the view has the hash of the file as listed by git-ls-tree, not just "HEAD". Signed-off-by: Luben Tuikov <ltuikov@yahoo.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-01gitweb: Declare global variables with "our"Libravatar Dennis Stosberg1-28/+27
Variables declared with "my" in the file scope cannot be accessed from subroutines with mod_perl. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-01gitweb: Enable tree (directory) history displayLibravatar Luben Tuikov1-0/+1
This patch allows history display of whole trees/directories a la "git-rev-list HEAD -- <dir or file>". I find this useful especially when a project lives in its own subdirectory, as opposed to being all of the GIT repository (i.e. when a sub-project is merged into a super-project). Signed-off-by: Luben Tuikov <ltuikov@yahoo.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-01gitweb: optimize per-file history generationLibravatar Junio C Hamano1-7/+3
The rev-list command that is recent enough can filter commits based on paths they touch, so use it instead of generating the full list and limiting it by passing it with diff-tree --stdin. [jc: The patch originally came from Luben Tuikov but the it was corrupt, but it was short enough to be applied by hand. I added the --full-history to make the output compatible with the original while doing so.] Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-06-22gitweb: whitespace cleanup around '='Libravatar Jakub Narebski1-4/+4
Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-06-22gitweb: Use $hash_base as $search_hash if possibleLibravatar Timo Hirvonen1-1/+3
$hash (h parameter) does not always point to a commit. Use $hash_base as $search_hash when it is defined. Signed-off-by: Timo Hirvonen <tihirvon@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-06-21gitweb: Make use of $PATH_INFO for project parameterLibravatar Jakub Narebski1-1/+2
Allow to have project name in the path part of URL, just after the name of script. For example instead of gitweb.cgi?p=git.git you can write gitweb.cgi/git.git or gitweb.cgi/git.git/ Not used in URLs inside gitweb; it means that the above alternate syntax must be generated by hand, at least for now. Side effect: project name parameter is now stripped of leading and trailing slash before validation. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-06-21Move $gitbin earlier in gitweb.cgiLibravatar Jakub Narebski1-3/+3
(cherry picked from 9dca843086356b964f27d8fabe1e3c48074a9f02 commit) Signed-off-by: Jakub Narebski <jnareb.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-06-21Add git version to gitweb outputLibravatar Jakub Narebski1-2/+11
Add git-core binaries used version as the comment at the beginning of HTML output, just below the comment with version of git web interface version. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-06-21gitweb: whitespace cleanupLibravatar Jakub Narebski1-19/+19
Do not use tabs to align variable initialization (actually use tabs only at the beginning of line, for code indent). Remove trailing whitespace. Make whitespace usage more consistent. Signed-off-by: Jakub Narebski <jnareb.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-06-20gitweb: style done with stylesheetLibravatar Jakub Narebski1-39/+41
Replace (almost) all 'style' attributes with 'class' attribute and adding rule to CSS file. Some tables use CSS for styling instead of legacy styling attributes. [jc: too many rejects -- hand fixed and reindented]
2006-06-20gitweb: A couple of page title tweakingLibravatar Jakub Narebski1-0/+6
[jc: the e-mailed patch did not apply, so I had to guess but I think I got the result right.]
2006-06-20Fix: Support for the standard mime.types map in gitwebLibravatar Jakub Narebski1-1/+1
Temporary fix: commented out offending line in mimetype_guess. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-06-19gitweb: add type="text/css" to stylesheet linkLibravatar Jakub Narebski1-2/+2
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-06-18Support for the standard mime.types map in gitwebLibravatar Petr Baudis1-0/+44
gitweb will try to look up the filename mimetype in /etc/mime.types and optionally a user-configured mime.types map as well. Signed-off-by: Petr Baudis <pasky@suse.cz> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-06-18gitweb: text files for 'blob_plain' action without charset by defaultLibravatar Jakub Narebski1-3/+3
$default_text_plain_charset is undefined (no specified charset) by default. Additionally ':raw' layer for binmode is used for outputting file content. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-06-18gitweb: safely output binary files for 'blob_plain' actionLibravatar Jakub Narebski1-4/+39
gitweb tries now to output correct Content-Type header for 'blob_plain' action; for now text/plain for text files, appropriate image MIME type for *.png, *.gif and *.jpg/*.jpeg files, and application/octet-stream for other binary files. Introduced new configuration variables: $default_blob_plain_mimetype and $default_text_plain_charset (only 'utf-8' is guaranteed to work for the latter). binmode changed to ':raw' in git_blob_plain for output of non-text files. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-06-18Move gitweb style to gitweb.cssLibravatar Jakub Narebski1-60/+4
Move gitweb style from embedded <style> element in gitweb/gitweb.cgi to external CSS file gitweb/gitweb.css. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-06-16gitweb: Make the `blame' interface in gitweb optional.Libravatar Florian Forster1-2/+25
Since `git-annotate' is an expensive operation to run it may be desirable to deactivate this functionality. This patch introduces the `gitweb.blame' option to git-repo-config and disables the blame support by default. Signed-off-by: Florian Forster <octo@verplant.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-06-16gitweb: Adding a `blame' interface.Libravatar Florian Forster1-1/+107
This patch adds an interface for `git-blame' to `gitweb.cgi'. Links to it are placed in `git_blob'. Internally the code uses `git-annotate' because `git-blame's output differs for files that have been renamed in the past. However, I like the term `blame' better. [jc: blame can be told to produce the compatible format btw...] Signed-off-by: Florian Forster <octo@verplant.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-06-10Merge git://git.kernel.org/pub/scm/git/gitwebLibravatar Junio C Hamano1-0/+2407