summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Revert "gitweb: extend blame to show links to diff and previous"Luben Tuikov2006-09-271-17/+1
| | | | | | | | | | This concept is very fine, but it makes blame slow across renames and across branches, so revert it. There is a better way to do this. This reverts commit 03d06a8e26f4fbd37800d1e1125c6ecf4c104466. Signed-off-by: Junio C Hamano <junkio@cox.net>
* gitweb: Quote filename in HTTP Content-Disposition: headerJakub Narebski2006-09-271-8/+9
| | | | | | | | | | | | | | Finish work started by commit a2f3db2 (although not documented in commit message) of quoting using quotemeta the filename in HTTP -content_disposition header. Just in case filename contains end of line character. Also use consistent coding style to compute -content_disposition parameter. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* gitweb: Add git_url subroutine, and use it to quote full URLsJakub Narebski2006-09-271-1/+10
| | | | | | | | | Add git_url subroutine, which does what git_param did before commit a2f3db2f5de2a3667b0e038aa65e3e097e642e7d, and is used to quote full URLs, currently only $home_link. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* gitweb: Split validate_input into validate_pathname and validate_refnameJakub Narebski2006-09-271-16/+47
| | | | | | | | | | | | | | | | | | | | | | | Split validate_input subroutine into validate_pathname which is used for $project, $file_name and $file_parent parameters, and validate_refname which is used for $hash, $hash_base, $hash_parent and $hash_parent_base parameters. Reintroduce validation of $file_name and $file_parent parameters, removed in a2f3db2f validate_pathname in addition to what validate_input did checks also for doubled slashes and NUL character. It does not check if input is textual hash, and does not check if all characters are from the following set: [a-zA-Z0-9_\x80-\xff\ \t\.\/\-\+\#\~\%]. validate_refname first check if the input is textual hash, then checks if it is valid pathname, then checks for invalid characters (according to git-check-ref-format manpage). It does not check if all charactes are from the [a-zA-Z0-9_\x80-\xff\ \t\.\/\-\+\#\~\%] set. We do not have to validate pathnames we got from git. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* gitweb: Use "return" instead of "return undef" for some subsJakub Narebski2006-09-271-2/+2
| | | | | | | | | | Use "return" instead of "return undef" when subroutine can return, or always return, non-scalar (list) value. Other places are left as is. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* gitweb: Strip trailing slashes from $path in git_get_hash_by_pathJakub Narebski2006-09-271-1/+1
| | | | | | | It also removes unused local variable $tree Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* gitweb: extend blame to show links to diff and previousLuben Tuikov2006-09-271-1/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | git_blame2() now has two more columns, "Prev" and "Diff", before the "Commit" column, as follows: Prev Diff Commit Line Data SHA Diff SHA N ... ... The "Prev" column shows the SHA of the parent commit, between which this line changed. Clicking on it shows the blame of the file as of the parent commit, for that line. So clicking repeatedly on "Prev" would show you the blame of that file, from the point of view of the changes of that particular line whose "Prev" you're clicking on. The "Diff" column shows "Diff" which is a link to blobdiff between "Prev" and "Commit" commits _for that line_. So clicking on "Diff" would show you the blobdiff (HTML) between the parent commit and this commit which changed that particular line. Signed-off-by: Luben Tuikov <ltuikov@yahoo.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* gitweb: Remove redundant "tree" linkLuben Tuikov2006-09-261-10/+6
| | | | | | | | | In "tree" view, remove redundant "tree" link in the tree listing. It is identical to simply clicking on the tree entry itself. Signed-off-by: Luben Tuikov <ltuikov@yahoo.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* gitweb: tree view: eliminate redundant "blob"Luben Tuikov2006-09-251-16/+17
| | | | | | | | | | | | | | | | Binary and non-binary blobs: The "list" table element of tree view is identical to the "blob" link part of the link table element. I.e. clicking on "blob" is identical to clicking on the entry itself. Thus, eliminate "blob" from being shown -- the user can get identical result by simply clicking on the entry itself. Signed-off-by: Luben Tuikov <ltuikov@yahoo.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* Use const for interpolate argumentsAlex Riesen2006-09-252-5/+10
| | | | | Signed-off-by: Alex Riesen <raa.lkml@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* git-archive: update documentationFranck Bui-Huu2006-09-252-0/+16
| | | | | | | | | | This patch documents zip backend options. It also adds git-archive command into the main git manual page. Signed-off-by: Franck Bui-Huu <vagabon.xyz@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* gitweb: fix over-eager application of esc_html().Petr Baudis2006-09-241-6/+6
| | | | | | | | | Contents of %diffinfo hash should be quoted upon output but kept unquoted internally. Later users of this hash expect filenames to be filenames, not HTML gibberish. Signed-off-by: Petr Baudis <pasky@suse.cz> Signed-off-by: Junio C Hamano <junkio@cox.net>
* Allow '(no author)' in git-svn's authors file.Shawn Pearce2006-09-241-1/+1
| | | | | | | | | When trying to import an SVN revision which has no author the Git user may desire to relabel '(no author)' to another name and email address with their svn.authorsfile. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* Allow 'svn fetch' on '(no date)' revisions in Subversion.Shawn Pearce2006-09-242-1/+16
| | | | | | | | | | | | | | | | | | Added --ignore-nodate to allow 'git svn fetch' to import revisions from Subversion which have '(no date)' listed as the date of the revision. By default 'git svn fetch' will crash with an error when encountering such a revision. The user may restart the fetch operation by adding --ignore-nodate if they want to continue tracking that repository. I'm not entirely sure why a centralized version control system such as Subversion permits revisions to be created with absolutely no date/time associated with it but it apparently is possible as one of the Subversion repositories that I'm tracking with 'git svn' created such a revision on '(no date)' and by '(no user)'. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* Merge branch 'sk/svnimport'Junio C Hamano2006-09-241-11/+20
|\ | | | | | | | | * sk/svnimport: git-svnimport: Parse log message for Signed-off-by: lines
| * git-svnimport: Parse log message for Signed-off-by: linesSasha Khapyorsky2006-09-221-11/+20
| | | | | | | | | | | | | | | | | | | | | | This add '-S' option. When specified svn-import will try to parse commit message for 'Signed-off-by: ...' line, and if found will use the name and email address extracted at first occurrence as this commit author name and author email address. Committer name and email are extracted in usual way. Signed-off-by: Sasha Khapyorsky <sashak@voltaire.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Merge early parts of branch 'np/pack'Junio C Hamano2006-09-246-117/+111
|\ \
| * | many cleanups to sha1_file.cNicolas Pitre2006-09-234-114/+104
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Those cleanups are mainly to set the table for the support of deltas with base objects referenced by offsets instead of sha1. This means that many pack lookup functions are converted to take a pack/offset tuple instead of a sha1. This eliminates many struct pack_entry usages since this structure carried redundent information in many cases, and it increased stack footprint needlessly for a couple recursively called functions that used to declare a local copy of it for every recursion loop. In the process, packed_object_info_detail() has been reorganized as well so to look much saner and more amenable to deltas with offset support. Finally the appropriate adjustments have been made to functions that depend on the above changes. But there is no functionality changes yet simply some code refactoring at this point. Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | move pack creation to version 3Nicolas Pitre2006-09-222-3/+7
| |/ | | | | | | | | | | | | | | It's been quite a while now that GIT is able to read version 3 packs. Let's create them at last. Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Remove upload-tar and make git-tar-tree a thin wrapper to git-archiveJunio C Hamano2006-09-248-200/+53
| | | | | | | | | | | | | | | | | | | | | | The command now issues a big deprecation warning message and runs git-archive command with appropriate arguments. git-tar-tree $tree_ish $base always forces $base to be the leading directory name, so the --prefix parameter passed internally to git-archive is a slash appended to it, i.e. "--prefix=$base/". Signed-off-by: Junio C Hamano <junkio@cox.net>
* | git-tar-tree: Move code for git-archive --format=tar to archive-tar.cRene Scharfe2006-09-243-314/+326
| | | | | | | | | | | | | | | | This patch doesn't change any functionality, it only moves code around. It makes seeing the few remaining lines of git-tar-tree code easier. ;-) Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | git-tar-tree: Remove duplicate git_config() callRene Scharfe2006-09-241-2/+0
| | | | | | | | | | | | | | | | | | generate_tar() eventually calls write_tar_archive() which does all the "real" work and which also calls git_config(git_tar_config). We only need to do this once. Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Merge branch 'jc/filter-commit'Junio C Hamano2006-09-248-507/+641
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * jc/filter-commit: git log: Unify header_filter and message_filter into one. Update grep internal for grepping only in head/body git-log --author and --committer are not left-anchored by default rev-list: fix segfault with --{author,committer,grep} revision traversal: --author, --committer, and --grep. revision traversal: prepare for commit log match. builtin-grep: make pieces of it available as library.
| * | git log: Unify header_filter and message_filter into one.Junio C Hamano2006-09-203-54/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now we can tell the built-in grep to grep only in head or in body, use that to update --author, --committer, and --grep. Unfortunately, to make --and, --not and other grep boolean expressions useful, as in: # Things written by Junio committed and by Linus and log # does not talk about diff. git log --author=Junio --and --committer=Linus \ --grep-not --grep=diff we will need to do another round of built-in grep core enhancement, because grep boolean expressions are designed to work on one line at a time. Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | Update grep internal for grepping only in head/bodyJunio C Hamano2006-09-202-16/+42
| | | | | | | | | | | | | | | | | | | | | | | | This further updates the built-in grep engine so that we can say something like "this pattern should match only in head". This can be used to simplify grepping in the log messages. Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | git-log --author and --committer are not left-anchored by defaultLinus Torvalds2006-09-201-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I know that I'd prefer a rule where "--author=^Junio" would result in the grep-pattern being "^author Junio", but without the initial '^' it would be "^author .*Junio". Signed-off-by: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | rev-list: fix segfault with --{author,committer,grep}Jeff King2006-09-201-1/+3
| | | | | | | | | | | | | | | | | | | | | We need to save the commit buffer if we're going to match against it. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | revision traversal: --author, --committer, and --grep.Junio C Hamano2006-09-202-1/+86
| | | | | | | | | | | | | | | | | | | | | | | | This adds three options to setup_revisions(), which lets you filter resulting commits by the author name, the committer name and the log message with regexp. Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | revision traversal: prepare for commit log match.Junio C Hamano2006-09-202-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | This is from a suggestion by Linus, just to mark the locations where we need to modify to actually implement the filtering. We do not have any actual filtering code yet. Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | builtin-grep: make pieces of it available as library.Junio C Hamano2006-09-204-506/+531
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes three functions and associated option structures from builtin-grep available from other parts of the system. * options to drive built-in grep engine is stored in struct grep_opt; * pattern strings and extended grep expressions are added to struct grep_opt with append_grep_pattern(); * when finished calling append_grep_pattern(), call compile_grep_patterns() to prepare for execution; * call grep_buffer() to find matches in the in-core buffer. This also adds an internal option "status_only" to grep_opt, which suppresses any output from grep_buffer(). Callers of the function as library can use it to check if there is a match without producing any output. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | Merge branch 'sb/branch-attributes'Junio C Hamano2006-09-244-13/+115
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sb/branch-attributes: Add test for the default merges in fetch. fetch: get the remote branches to merge from the branch properties Add t5510 to test per branch configuration affecting git-fetch. Fetch: default remote repository from branch properties
| * | | Add test for the default merges in fetch.Santi Béjar2006-09-241-0/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | [jc: with minor fix-ups] Signed-off-by: Santi Béjar <sbejar@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | | fetch: get the remote branches to merge from the branch propertiesSanti Béjar2006-09-242-8/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If in branch "foo" and this in config: [branch "foo"] merge=bar "git fetch": fetch from the default repository and program the "bar" branch to be merged with pull. Signed-off-by: Santi Béjar <sbejar@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | | Add t5510 to test per branch configuration affecting git-fetch.Junio C Hamano2006-09-241-0/+44
| | | | | | | | | | | | | | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | | Fetch: default remote repository from branch propertiesSanti Béjar2006-09-243-5/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If in branch "foo" and this in config: [branch "foo"] remote=bar "git fetch" = "git fetch bar" "git pull" = "git pull bar" Signed-off-by: Santi Béjar <sbejar@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | | Merge branch 'jl/daemon'Junio C Hamano2006-09-245-11/+229
|\ \ \ \ | |/ / / |/| | | | | | | | | | | * jl/daemon: Add virtualization support to git-daemon
| * | | Add virtualization support to git-daemonJon Loeliger2006-09-205-11/+229
| |/ / | | | | | | | | | | | | Signed-off-by: Jon Loeliger Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | builtin-upload-archive.c broken on openbsdRandal L. Schwartz2006-09-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Looks like ctype again. Gotta be careful with that on BSD releases: $ gmake prefix=/opt/git all GIT_VERSION = 1.4.2.GIT gcc -o builtin-upload-archive.o -c -g -O2 -Wall -I/usr/local/include -DSHA1_HEADER='<openssl/sha.h>' -DNO_STRCASESTR builtin-upload-archive.c In file included from /usr/include/sys/poll.h:54, from builtin-upload-archive.c:11: /usr/include/ctype.h:68: error: syntax error before ']' token /usr/include/ctype.h:69: error: syntax error before ']' token ... /usr/include/sys/poll.h:53:1: unterminated #ifndef /usr/include/sys/poll.h:28:1: unterminated #ifndef gmake: *** [builtin-upload-archive.o] Error 1 This fixes it. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | gitweb: Consolidate escaping/validation of query stringPetr Baudis2006-09-231-21/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Consider: http://repo.or.cz/?p=glibc-cvs.git;a=tree;h=2609cb0411389325f4ee2854cc7159756eb0671e;hb=2609cb0411389325f4ee2854cc7159756eb0671e (click on the funny =__ify file) We ought to handle anything in filenames and I actually see no reason why we don't, modulo very little missing escaping that this patch hopefully also fixes. I have also made esc_param() escape [?=&;]. Not escaping [&;] was downright buggy and [?=] just feels better escaped. ;-) YMMV. Signed-off-by: Petr Baudis <pasky@suse.cz> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | Deprecate git-resolve.shPetr Baudis2006-09-231-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Seriously, is anyone still using this thing? It's collecting dust and blocking the name for something potentially useful like a tool for user-friendly marking of resolved conflicts or resolving index conflicts. We've loved you when Git was young, now thank you and please go away. ;-) This makes git-resolve.sh print a big deprecation warning and sleep a bit for extra annoyance. It should be removed completely after the next release. Signed-off-by: Petr Baudis <pasky@suse.cz> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | Rename builtin-zip-tree.c to archive-zip.cRene Scharfe2006-09-232-3/+2
| | | | | | | | | | | | | | | Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | Remove git-zip-treeRene Scharfe2006-09-235-135/+0
| |/ |/| | | | | | | | | | | | | | | git-zip-tree can be safely removed because it was never part of a formal release. This patch makes 'git-archive --format=zip' the one and only git ZIP file creation command. Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Quote arguments to tr in test-libRobin Rosenberg2006-09-221-1/+1
| | | | | | | | | | | | | | When there are single-character filenames in the test directory, the shell tries to expand regexps meant for tr. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Fix snapshot link in tree viewPetr Baudis2006-09-221-1/+1
| | | | | | | | | | | | | | It would just give HEAD snapshot instead of one of the particular tree. Signed-off-by: Petr Baudis <pasky@suse.cz> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | gitweb: Fix @git_base_url_list usagePetr Baudis2006-09-221-1/+1
| | | | | | | | | | | | | | As it is now, that array was never used because the customurl accessor was broken and ''unless @url_list'' never happenned. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | gitweb: Fix tree link associated with each commit log entry.Petr Baudis2006-09-221-1/+1
| | | | | | | | | | | | | | The link forgot to have hb parameter and the resulting tree view failed to show the navbar for that commit. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Make path in tree view look nicerPetr Baudis2006-09-221-5/+5
| | | | | | | | | | | | | | | | | | | | Based on talk on the IRC with Junio some evenings ago, I've updated the path showing in tree view to look better and sent updated patches privately, but it seems the old version ended up being used, so here's the new one again. Signed-off-by: Petr Baudis <pasky@suse.cz> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | gitweb: Relabel "head" as "HEAD"Petr Baudis2006-09-211-4/+4
| | | | | | | | | | | | | | | | "head" is a reference in refs/heads/, while those labels mean HEAD, the latest revision of the default branch. Signed-off-by: Petr Baudis <pasky@suse.cz> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | gitweb: Rename "plain" labels to "raw"Petr Baudis2006-09-211-4/+4
| | | | | | | | | | | | | | | | I don't have much preference either way and as far as I'm concerned, it may go the other way as well. Consistency is what is important. Signed-off-by: Petr Baudis <pasky@suse.cz> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | gitweb: Link to associated tree from a particular log item in full log viewPetr Baudis2006-09-211-0/+2
| | | | | | | | | | Signed-off-by: Petr Baudis <pasky@suse.cz> Signed-off-by: Junio C Hamano <junkio@cox.net>