summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* git-tar-tree: Remove duplicate git_config() callRene Scharfe2006-09-251-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-258-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-254-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-255-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-241-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-241-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-231-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-231-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-231-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-231-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-231-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-221-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-221-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-221-0/+2
| | | | | | | | | | Signed-off-by: Petr Baudis <pasky@suse.cz> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | gitweb: Link to latest tree from the head line in heads listPetr Baudis2006-09-221-1/+2
| | | | | | | | | | Signed-off-by: Petr Baudis <pasky@suse.cz> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | gitweb: Link to tree instead of snapshot in shortlogPetr Baudis2006-09-221-7/+2
| | | | | | | | | | Signed-off-by: Petr Baudis <pasky@suse.cz> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | gitweb: More per-view navigation bar linksPetr Baudis2006-09-221-4/+38
| | | | | | | | | | | | | | | | | | | | | | Navigation bars in various views were empty or missed important items that should have been there, e.g. getting a snapshot in tree view or log of ancestry in commit view... This feeble patch attempts to consolidate that. Signed-off-by: Petr Baudis <pasky@suse.cz> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | gitweb: Link (HEAD) tree for each project from projects listPetr Baudis2006-09-221-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | Current projects list is oriented on easily getting "what's new" information. But when already using gitweb as an interface to something, I personally find myself to _much_ more frequently wanting to rather see "what's in" (or "what's new in") and it's quite annoying to have to go through the summary page (which is also rather expensive to generate) just to get there. Signed-off-by: Petr Baudis <pasky@suse.cz> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | gitweb: Make git_get_hash_by_path check type if providedJakub Narebski2006-09-211-0/+5
| | | | | | | | | | Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Fix showing of path in tree viewPetr Baudis2006-09-211-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | This patch fixes two things - links to all path elements except the last one were broken since gitweb does not like the trailing slash in them, and the root tree was not reachable from the subdirectory view. To compensate for the one more slash in the front, the trailing slash is not there anymore. ;-) I don't care if it stays there though. Signed-off-by: Petr Baudis <pasky@suse.cz> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | gitweb: fix display of trees via PATH_INFO.Martin Waitz2006-09-211-0/+1
| | | | | | | | | | | | | | | | When adding a / to the URL, git should display the corresponding tree object, but it has to remove the / first. Signed-off-by: Martin Waitz <tali@admingilde.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Document receive.denyNonFastforwardsJohannes Schindelin2006-09-214-0/+27
| | | | | | | | | | | | | | | | [jc: with a fix to config handling in t5400 test, which took annoyingly long to diagnose.] Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | receive-pack: plug memory leak in fast-forward checking code.Johannes Schindelin2006-09-211-6/+7
| | | | | | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
* | add receive.denyNonFastforwards config variableJohannes Schindelin2006-09-215-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | If receive.denyNonFastforwards is set to true, git-receive-pack will deny non fast-forwards, i.e. forced updates. Most notably, a push to a repository which has that flag set will fail. As a first user, 'git-init-db --shared' sets this flag, since in a shared setup, you are most unlikely to want forced pushes to succeed. Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | sha1_name.c: understand "describe" output as a valid object nameJunio C Hamano2006-09-211-0/+26
| | | | | | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Make hexval() available to others.Junio C Hamano2006-09-213-49/+40
|/ | | | | | | builtin-mailinfo.c has its own hexval implementaiton but it can share the table-lookup one recently implemented in sha1_file.c Signed-off-by: Junio C Hamano <junkio@cox.net>
* gitweb: Fix thinko in git_tags and git_headsJakub Narebski2006-09-201-2/+2
| | | | | | | | | | | git_get_refs_list always return reference to list (and reference to hash which we ignore), so $taglist (in git_tags) and $headlist (in git_heads) are always defined, but @$taglist / @$headlist might be empty. Replaced incorrect "if (defined @$taglist)" with "if (@$taglist)" in git_tags and respectively in git_heads. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* gitweb: Make git_get_refs_list do work of git_get_referencesJakub Narebski2006-09-201-24/+42
| | | | | | | | | | | | | | Make git_get_refs_list do also work of git_get_references, to avoid calling git-peek-remote twice. Change meaning of git_get_refs_list meaning: it is now type, and not a full path, e.g. we now use git_get_refs_list("heads") instead of former git_get_refs_list("refs/heads"). Modify git_summary to use only one call to git_get_refs_list instead of one call to git_get_references and two to git_get_refs_list. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* gitweb: Always use git-peek-remote in git_get_referencesJakub Narebski2006-09-201-8/+2
| | | | | | | | | | | | | Instead of trying to read info/refs file, which might not be present (we did fallback to git-ls-remote), always use git-peek-remote in git_get_references. It is preparation for git_get_refs_info to also return references info. We should not use info/refs for git_get_refs_info as the repository is not served for http-fetch clients. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* gitweb: Require project for almost all actionsJakub Narebski2006-09-201-0/+4
| | | | | | | | Require that project (repository) is given for all actions except project_list, project_index and opml. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* gitweb: Even more support for PATH_INFO based URLsJakub Narebski2006-09-201-9/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now the following types of path based URLs are supported: * project overview (summary) page of project * project/branch shortlog of branch * project/branch:file file in branch, blob_plain view * project/branch:dir/ directory listing of dir in branch, tree view The following shortcuts works (see explanation below): * project/branch: directory listing of branch, main tree view * project/:file file in HEAD (raw) * project/:dir/ directory listing of dir in HEAD * project/: directory listing of project's HEAD We use ':' as separator between branch (ref) name and file name (pathname) because valid branch (ref) name cannot have ':' inside. This limit applies to branch name only. This allow for hierarchical branches e.g. topic branch 'topic/subtopic', separate remotes tracking branches e.g. 'refs/remotes/origin/HEAD', and discriminate between head (branch) and tag with the same name. Empty branch should be interpreted as HEAD. If pathname (the part after ':') ends with '/', we assume that pathname is name of directory, and we want to show contents of said directory using "tree" view. If pathname is empty, it is equivalent to '/' (top directory). If pathname (the part after ':') does not end with '/', we assume that pathname is name of file, and we show contents of said file using "blob_plain" view. Pathname is stripped of leading '/', so we can use ':/' to separate branch from pathname. The rationale behind support for PATH_INFO based URLs was to support project web pages for small projects: just create an html branch and then use an URL like http://nowhere.com/gitweb.cgi/project.git/html:/index.html The ':/' syntax allow for working links between .html files served in such way, e.g. <a href="main.html"> link inside "index.html" would get http://nowhere.com/gitweb.cgi/project.git/html:/main.html. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* gitk(1): mention --allJonas Fonseca2006-09-201-0/+9
| | | | | Signed-off-by: Jonas Fonseca <fonseca@diku.dk> Signed-off-by: Junio C Hamano <junkio@cox.net>
* Fix trivial typos and inconsistencies in hooks documentationJonas Fonseca2006-09-201-28/+28
| | | | | | | Pointed out by Alan Chandler. Signed-off-by: Jonas Fonseca <fonseca@diku.dk> Signed-off-by: Junio C Hamano <junkio@cox.net>
* gitweb: Fix mimetype_guess_file for files with multiple extensionsJakub Narebski2006-09-201-1/+1
| | | | | | | | | | | Fix getting correct mimetype for "blob_plain" view for files which have multiple extensions, e.g. foo.1.html; now only the last extension is used to find mimetype. Noticed by Martin Waitz. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* Patch for http-fetch.c and older curl releasesArt Haas2006-09-201-0/+4
| | | | | | | | | | | | | | | | Older curl releases do not define CURLE_HTTP_RETURNED_ERROR, they use CURLE_HTTP_NOT_FOUND instead. Newer curl releases keep the CURLE_HTTP_NOT_FOUND definition but using a -DCURL_NO_OLDIES preprocessor flag the old name will not be present in the 'curl.h' header. This patch makes our code written for newer releases of the curl library but allow compiling against an older curl (older than 0x070a03) by defining the missing CURLE_HTTP_RETURNED_ERROR as a synonym for CURLE_HTTP_NOT_FOUND. Signed-off-by: Art Haas <ahaas@airmail.net> Signed-off-by: Junio C Hamano <junkio@cox.net>