aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* gitweb: Remove invalid comment in format_diff_lineJakub Narebski2006-08-25
| | | | | Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* gitweb: Show information about incomplete lines in commitdiffJakub Narebski2006-08-25
| | | | | | | | | | In format_diff_line, instead of skipping errors/incomplete lines, for example "\ No newline at end of file" in HTML pretty-printing of diff, use "incomplete" class for div. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* gitweb: Use git-diff-tree patch output for commitdiffJakub Narebski2006-08-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Get rid of git_diff_print invocation in git_commitdiff and therefore external diff (/usr/bin/diff) invocation, and use only git-diff-tree to generate patch. git_commitdiff and git_commitdiff_plain are collapsed into one subroutine git_commitdiff, with format (currently 'html' which is default format corresponding to git_commitdiff, and 'plain' corresponding to git_commitdiff_plain) specified in argument. Separate patch (diff) pretty-printing into git_patchset_body. It is used in git_commitdiff. Separate patch (diff) line formatting from git_diff_print into format_diff_line function. It is used in git_patchset_body. While at it, add $hash parameter to git_difftree_body, according to rule that inner functions should use parameter passing, and not global variables. CHANGES TO OUTPUT: * "commitdiff" now products patches with renaming and copying detection (git-diff-tree is invoked with -M and -C options). Empty patches (mode changes and pure renames and copying) are not written currently. Former version broke renaming and copying, and didn't notice mode changes, like this version. * "commitdiff" output is now divided into several div elements of class "log", "patchset" and "patch". * "commitdiff_plain" now only generates X-Git-Tag: line only if there is tag pointing to the current commit. Former version which wrote first tag following current commit was broken[*1*]; besides we are interested rather in tags _preceding_ the commit, and _heads_ following the commit. X-Git-Url: now is current URL; former version tried[*2*] to output URL to HTML version of commitdiff. * "commitdiff_plain" is generated by git-diff-tree, and has therefore has git specific extensions to diff format: "git diff" header and optional extended header lines. FOOTNOTES [*1*] First it generated rev-list starting from HEAD even if hash_base parameter was set, second it wasn't corrected according to changes made in git_get_references (formerly read_info_ref) output, third even for older version of read_info_ref output it didn't work for multiple tags pointing to the current commit (rare). [*2*] It wrote URL for commitdiff without hash_parent, which produces diff to first parent and is not the same as current diff if it is diff of merge commit to non-first parent. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* gitweb: Sort CGI parameters returned by href()Jakub Narebski2006-08-22
| | | | | | | | Restore pre-1c2a4f5addce479c619057c6cdc841802139982f ordering of CGI parameters. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* gitweb: Drop the href() params which keys are not in %mappingJakub Narebski2006-08-22
| | | | | | | | | | | | If someone would enter parameter name incorrectly, and some key of %params is not found in %mapping hash, the parameter is now ignored. Change introduced by Martin Waitz in commit 756d2f064b2419fcdf9cd9c851f352e2a4f75103 tried to do that, but it left empty value and there was doubled ";;" in returned string. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* gitweb: Use here-docJakub Narebski2006-08-22
| | | | | Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* gitweb: Route rest of action subroutines through %actionsJakub Narebski2006-08-22
| | | | | | | | | | | | | | Route rest of action subroutines, namely git_project_list and git_opml (both of which doesn't need $project) through %actions hash. This has disadvantage that all parameters are read and validated; earlier git_opml was called as soon as $action was parsed and validated, git_project_list was called as soon as $project was parsed and validated. This has advantage that all action dispatch is grouped in one place. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* gitweb: Use underscore instead of hyphen to separate words in HTTP headers namesJakub Narebski2006-08-22
| | | | | | | | Use underscore (which will be turned into hyphen) to separate words in HTTP header names, in keys to CGI header() method, consistently. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* gitweb: Whitespace cleanup: realign, reindentJakub Narebski2006-08-22
| | | | | | | | | | | | | This patch tries (but no too hard) to fit gitweb source in 80 columns, for 2 columns wide tabs, and indent and align source for better readibility. While at it added comment to 'snapshot' entry defaults for %feature hash, corrected "blobl" action in git_blame2 and git_blame to "blob", key of argument to $cgi->a from 'class' to '-class'. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* gitweb: Replace some presentational HTML by CSSJakub Narebski2006-08-22
| | | | | Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* gitweb: bugfix: a.list formatting regressionJakub Narebski2006-08-22
| | | | | | | | | | | | | | | | | | | | Fix regression introduced by commit 17d07443188909ef5f8b8c24043cb6d9fef51bca. "a.list" being "bold", makes a myriad of things shown by gitweb in bold font-weight, which is a regression from pre-17d07443188909ef5f8b8c24043cb6d9fef51bca behavior. The fix is to add "subject" class and use this class to replace pre-format_subject_html formatting of subject (comment) via using (or not) <b>...</b> element. This should go back to the pre-17d0744318... style. Regression noticed by Luben Tuikov. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Luben Tuikov <ltuikov@yahoo.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* gitweb: Use parse_difftree_raw_line in git_difftree_bodyJakub Narebski2006-08-21
| | | | | | | | | | | | | Use newly introduced parse_difftree_raw_line function in the git_difftree_body subroutine. While at it correct error in parse_difftree_raw_line (unquote is unprototyped function), and add comment explaining this function. It also refactors git_difftree_body somewhat, and tries to fit it in 80 columns. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* gitweb: Added parse_difftree_raw_line function for later useJakub Narebski2006-08-21
| | | | | | | | | | | Adds parse_difftree_raw_line function which parses one line of "raw" format diff-tree output into a hash. For later use in git_difftree_body, git_commitdiff and git_commitdiff_plain, git_search. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* gitweb: Make blame and snapshot a feature.Aneesh Kumar K.V2006-08-20
| | | | | | | | | This adds blame and snapshot to the feature associative array. This also helps in enabling or disabling these features via GITWEB_CONFIG and overriding if allowed via project specfic config. Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* gitweb: fix snapshot supportAneesh Kumar K.V2006-08-17
| | | | | | | | | [jc: when I applied the patch I misread RFC 2616 which mildly recommended against using the name "gzip", which was there only for a historical reason. This fixes the mistake up and uses the content-encoding "x-gzip" again.] Signed-off-by: Junio C Hamano <junkio@cox.net>
* gitweb: bugfix: git_print_page_path() needs the hash baseLuben Tuikov2006-08-17
| | | | | | | | | | | If a file F exists in branch B, but doesn't exist in master branch, then blob_plain needs the hash base in order to properly get the file. The hash base is passed on symbolically so we still preserve the "latest" quality of the link presented by git_print_page_path(). Signed-off-by: Luben Tuikov <ltuikov@yahoo.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* gitweb: bugfix: commitdiff regressionLuben Tuikov2006-08-17
| | | | | | | | Fix regression in git_commitdiff() introduced by commit 756d2f064b2419fcdf9cd9c851f352e2a4f75103. Signed-off-by: Luben Tuikov <ltuikov@yahoo.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* gitweb: Support for snapshotAneesh Kumar K.V2006-08-17
| | | | | | | This adds snapshort support in gitweb. To enable one need to set gitweb.snapshot = true in the config file. Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@hp.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* gitweb: Refactor printing commit messageJakub Narebski2006-08-17
| | | | | | | | | Separate pretty-printing commit message (comment) into git_print_log and git_print_simplified_log subroutines. As of now the former is used in git_commit, the latter in git_log and git_commitdiff. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* gitweb: fix project list if PATH_INFO=="/".Martin Waitz2006-08-17
| | | | | | | | | | | | | The project list now uses several common header / footer generation functions. These functions only check for "defined $project", but when PATH_INFO just contains a "/" (which is often generated by web servers), then this test fails. Now explicitly undef $project if there is none so that the tests in other gitweb parts work again. Signed-off-by: Martin Waitz <tali@admingilde.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* gitweb: support for / as home_link.Martin Waitz2006-08-17
| | | | | | | | | If the webserver is configured to use gitweb even for the root directory of the site, then my_uri is empty which leads to a non-functional home link. Fix that by defaulting to "/" in this case. Signed-off-by: Martin Waitz <tali@admingilde.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* gitweb: support for "fp" parameter.Martin Waitz2006-08-17
| | | | | | | | | | | The "fp" (file name parent) parameter was previously generated for blob diffs of renamed files. However, it was not used in any code. Now href() can generate "fp" parameters and they are used by the blobdiff code to show the correct file name. Signed-off-by: Martin Waitz <tali@admingilde.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* gitweb: continue consolidation of URL generation.Martin Waitz2006-08-17
| | | | | | | | Further use href() instead of URL generation by string concatenation. Almost all functions are converted now. Signed-off-by: Martin Waitz <tali@admingilde.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* gitweb: Uniquify version info output, add meta generator in page headerJakub Narebski2006-08-17
| | | | | Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* Merge branch 'jc/format-patch'Junio C Hamano2006-08-16
|\ | | | | | | | | * jc/format-patch: Add a newline before appending "Signed-off-by: " line
| * Add a newline before appending "Signed-off-by: " lineFranck Bui-Huu2006-08-13
| | | | | | | | | | | | | | | | | | | | Whef the last line of the commit log message does not end with "^[-A-Za-z]+: [^@]+@", append a newline after it to separate the body of the commit log message from the run of sign-off and ack lines. e.g. "Signed-off-by: A U Thor <au.thor@example.com>" or "Acked-by: Me <myself@example.org>". Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Be nicer if git executable is not installedVille Skyttä2006-08-16
| | | | | | | | | | | | | | | | | | This patch avoids problems if vc-git.el is installed and activated, but the git executable is not available, for example http://list-archive.xemacs.org/xemacs-beta/200608/msg00062.html Signed-off-by: Ville Skyttä <scop@xemacs.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Merge branch 'jc/racy'Junio C Hamano2006-08-16
|\ \ | | | | | | | | | | | | | | | | | | | | | * jc/racy: Remove the "delay writing to avoid runtime penalty of racy-git avoidance" Add check program "git-check-racy" Documentation/technical/racy-git.txt avoid nanosleep(2)
| * | Remove the "delay writing to avoid runtime penalty of racy-git avoidance"Junio C Hamano2006-08-15
| | | | | | | | | | | | | | | | | | | | | The work-around should not be needed. Even if it turns out we would want it later, git will remember the patch for us ;-). Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | Add check program "git-check-racy"Junio C Hamano2006-08-15
| | | | | | | | | | | | | | | | | | | | | This will help counting the racily clean paths, but it should be useless for daily use. Do not even enable it in the makefile. Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | Documentation/technical/racy-git.txtJunio C Hamano2006-08-15
| | | | | | | | | | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | avoid nanosleep(2)Junio C Hamano2006-08-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On Solaris nanosleep(2) is not available in libc; you need to link with -lrt to get it. The purpose of the loop is to wait until the next filesystem timestamp granularity, and the code uses subsecond sleep in the hope that it can shorten the delay to 0.5 seconds on average instead of a full second. It is probably not worth depending on an extra library for this. We might want to yank out the whole "racy-git avoidance is costly later at runtime, so let's delay writing the index out" codepath later, but that is a separate issue and needs some testing on large trees to figure it out. After playing with the kernel tree, I have a feeling that the whole thing may not be worth it. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | Merge branch 'maint'Junio C Hamano2006-08-16
|\ \ \ | | | | | | | | | | | | | | | | * maint: [PATCH] git-mv: add more path normalization
| * | | [PATCH] git-mv: add more path normalizationJohannes Schindelin2006-08-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We already use the normalization from get_pathspec(), but now we also remove a trailing slash. So, git mv some_path/ into_some_path/ works now. Also, move the "can not move directory into itself" test before the subdirectory expansion. Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | | builtin-grep: remove unused debugging cruft.Junio C Hamano2006-08-16
| | | | | | | | | | | | | | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | | gitweb: Add support for per project git URLsJakub Narebski2006-08-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is now possible for project to have individual clone/fetch URLs. They are provided in new file 'cloneurl' added below project's $GIT_DIR directory. If there is no cloneurl file, concatenation of git base URLs with project name is used. This is merge of Jakub Narebski and David Rientjes gitweb: Show project's git URL on summary page with Aneesh Kumar gitweb: Add support for cloneurl. gitweb: Support multiple clone urls patches. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | | gitweb: consolidate action URL generation.Martin Waitz2006-08-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use the href() function instead of string concatenation to generate most URLs to our own CGI. This is a work in progress, not everything has been converted yet. Signed-off-by: Martin Waitz <tali@admingilde.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | | gitweb: provide function to format the URL for an action link.Martin Waitz2006-08-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Provide a new function which can be used to generate an URL for the CGI. This makes it possible to consolidate the URL generation in order to make it easier to change the encoding of actions into URLs. Signed-off-by: Martin Waitz <tali@admingilde.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | | gitweb: Show project's git URL on summary pageJakub Narebski2006-08-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From 31e4de9f22a3b17d4ad0ac800132e4e1a0a15006 Mon Sep 17 00:00:00 2001 From: David Rientjes <rientjes@google.com> Date: Tue, 15 Aug 2006 11:43:04 -0700 Subject: [PATCH] gitweb: Show project's git URL on summary page Add support for showing multiple clone/fetch git URLs for project on a summary page. URL for project is created from base URL and project name. For example for XMMS2 project (xmms.se) the git base URL would be git://git.xmms.se/xmms2. With corrections from David Rientjes <rientjes@google.com> Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: David Rientjes <rientjes@google.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | | remove unnecessary initializationsDavid Rientjes2006-08-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [jc: I needed to hand merge the changes to the updated codebase, so the result needs to be checked.] Signed-off-by: David Rientjes <rientjes@google.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | | Merge branch 'maint'Junio C Hamano2006-08-15
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | * maint: finish_connect(): thinkofix git-mv: succeed even if source is a prefix of destination Solaris does not support C99 format strings before version 10
| * | | finish_connect(): thinkofixJunio C Hamano2006-08-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All but one callers have ignore the return value from this function, but the only caller, builtin-tar-tree.c::remote_tar(), assumed it returns non-zero on failure and zero on success. The implementation however was returning either the waited pid (which must be the same as its input) or -1 (an error). Fix this thinko, while getting rid of an assignment of return value from waitpid() into a variable of type int. Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | | git-mv: succeed even if source is a prefix of destinationJohannes Schindelin2006-08-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As noted by Fredrik Kuivinen, without this patch, git-mv fails on git-mv README README-renamed because "README" is a prefix of "README-renamed". Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | | Solaris does not support C99 format strings before version 10Dennis Stosberg2006-08-15
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Dennis Stosberg <dennis@stosberg.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | | use appropriate typedefsDavid Rientjes2006-08-15
| | | | | | | | | | | | | | | | | | | | Signed-off-by: David Rientjes <rientjes@google.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | | make inline is_null_sha1 globalDavid Rientjes2006-08-15
| |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | Replace sha1 comparisons to null_sha1 with a global inline (which previously an unused static inline in builtin-apply.c) [jc: with a fix from Jonas Fonseca.] Signed-off-by: David Rientjes <rientjes@google.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | git-apply --binary: clean up and prepare for --reverseJunio C Hamano2006-08-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This cleans up the implementation of "git-apply --binary", and implements reverse application of binary patches (when git-diff is converted to emit reversible binary patches). Earlier, the types of encoding (either deflated literal or deflated delta) were stored in is_binary field in struct patch, which meant that we cannot store more than one fragment that differ in the encoding for a patch. This moves the information to a field in struct fragment that is otherwise unused for binary patches, and makes it possible to hang two (or more, but two is enough) hunks for a binary patch. The original "binary patch" output from git-diff is internally parsed into an "is_binary" patch with one fragment. Upcoming reversible binary patch output will have two fragments, the first one being the forward patch and the second one the reverse patch. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | Fix detection of ipv6 on SolarisDennis Stosberg2006-08-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | The configuration script detects whether linking with -lsocket is necessary but doesn't add -lsocket to LIBS. This lets the ipv6 test fail. Signed-off-by: Dennis Stosberg <dennis@stosberg.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | Look for sockaddr_storage in sys/socket.hDennis Stosberg2006-08-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On Solaris and the BSDs the definition of "struct sockaddr_storage" is not available from "netinet/in.h". On Solaris "sys/socket.h" is enough, at least OpenBSD needs "sys/types.h", too. Using "sys/types.h" and "sys/socket.h" seems to be a more portable way. Signed-off-by: Dennis Stosberg <dennis@stosberg.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | Solaris has strlcpy() at least since version 8Dennis Stosberg2006-08-15
| | | | | | | | | | | | | | | | | | | | | See http://docs.sun.com/app/docs/doc/816-3321/6m9k23sjk?a=view Signed-off-by: Dennis Stosberg <dennis@stosberg.net> Signed-off-by: Junio C Hamano <junkio@cox.net>