summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2010-01-25"log --author=me --grep=it" should find intersection, not unionLibravatar Junio C Hamano6-10/+57
Historically, any grep filter in "git log" family of commands were taken as restricting to commits with any of the words in the commit log message. However, the user almost always want to find commits "done by this person on that topic". With "--all-match" option, a series of grep patterns can be turned into a requirement that all of them must produce a match, but that makes it impossible to ask for "done by me, on either this or that" with: log --author=me --committer=him --grep=this --grep=that because it will require both "this" and "that" to appear. Change the "header" parser of grep library to treat the headers specially, and parse it as: (all-match-OR (HEADER-AUTHOR me) (HEADER-COMMITTER him) (OR (PATTERN this) (PATTERN that) ) ) Even though the "log" command line parser doesn't give direct access to the extended grep syntax to group terms with parentheses, this change will cover the majority of the case the users would want. This incidentally revealed that one test in t7002 was bogus. It ran: log --author=Thor --grep=Thu --format='%s' and expected (wrongly) "Thu" to match "Thursday" in the author/committer date, but that would never match, as the timestamp in raw commit buffer does not have the name of the day-of-the-week. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-01-17Update draft release notes to 1.7.0Libravatar Junio C Hamano1-1/+38
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-01-17Merge branch 'tc/test-locate-httpd'Libravatar Junio C Hamano1-6/+24
* tc/test-locate-httpd: t/lib-http.sh: Restructure finding of default httpd location
2010-01-17Merge branch 'jh/commit-status'Libravatar Junio C Hamano4-3/+134
* jh/commit-status: t7502: test commit.status, --status and --no-status commit: support commit.status, --status, and --no-status Conflicts: Documentation/git-commit.txt builtin-commit.c
2010-01-17Merge branch 'jn/makefile'Libravatar Junio C Hamano2-34/+26
* jn/makefile: Makefile: consolidate .FORCE-* targets Makefile: learn to generate listings for targets requiring special flags Makefile: use target-specific variable to pass flags to cc Makefile: regenerate assembler listings when asked
2010-01-17Merge branch 'jc/maint-1.6.1-checkout-m-custom-merge'Libravatar Junio C Hamano2-1/+58
* jc/maint-1.6.1-checkout-m-custom-merge: checkout -m path: fix recreating conflicts Conflicts: t/t7201-co.sh
2010-01-17Merge branch 'tc/clone-v-progress'Libravatar Junio C Hamano6-7/+20
* tc/clone-v-progress: clone: use --progress to force progress reporting clone: set transport->verbose when -v/--verbose is used git-clone.txt: reword description of progress behaviour check stderr with isatty() instead of stdout when deciding to show progress Conflicts: transport.c
2010-01-17Merge branch 'tc/smart-http-restrict'Libravatar Junio C Hamano7-260/+362
* tc/smart-http-restrict: Test t5560: Fix test when run with dash Smart-http tests: Test http-backend without curl or a webserver Smart-http tests: Break test t5560-http-backend into pieces Smart-http tests: Improve coverage in test t5560 Smart-http: check if repository is OK to export before serving it
2010-01-17Merge branch 'jk/run-command-use-shell'Libravatar Junio C Hamano11-35/+69
* jk/run-command-use-shell: t4030, t4031: work around bogus MSYS bash path conversion diff: run external diff helper with shell textconv: use shell to run helper editor: use run_command's shell feature run-command: optimize out useless shell calls run-command: convert simple callsites to use_shell t0021: use $SHELL_PATH for the filter script run-command: add "use shell" option
2010-01-17Merge branch 'sr/gfi-options'Libravatar Junio C Hamano3-86/+462
* sr/gfi-options: fast-import: add (non-)relative-marks feature fast-import: allow for multiple --import-marks= arguments fast-import: test the new option command fast-import: add option command fast-import: add feature command fast-import: put marks reading in its own function fast-import: put option parsing code in separate functions
2010-01-17Update COPYING with GPLv2 with new FSF addressLibravatar Junio C Hamano1-13/+12
The mailing address of FSF changed quite a while ago. Also the expansion of the acronym LGPL (which we don't use) is "Lesser GPL" not "Library GPL" these days in recent copies of GPLv2. Update the copy we have with a fresh download of <http://www.gnu.org/licenses/gpl-2.0.txt>. This incidentally removes form-feeds in the text we retained for all these years. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-01-16Merge branch 'maint'Libravatar Junio C Hamano3-4/+6
* maint: Fix uninitialized variable in get_refs_via_rsync(). Document git-blame triple -C option
2010-01-16Merge branch 'cc/reset-more'Libravatar Junio C Hamano1-10/+10
* cc/reset-more: t7111: fix bad HEAD in tests with unmerged entries
2010-01-16t7111: fix bad HEAD in tests with unmerged entriesLibravatar Christian Couder1-10/+10
When testing what happens on unmerged entries, the HEAD is the commit we are starting from before the merge that fails and create the unmerged entries. It is not the commit before. Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-01-15Fix uninitialized variable in get_refs_via_rsync().Libravatar Richard Weinberger1-1/+1
This fixes a crash when cloning via rsync://. Signed-off-by: Richard Weinberger <richard@nod.at> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-01-15Test t5560: Fix test when run with dashLibravatar Tarmigan Casebolt1-5/+10
A command invocation preceded by variable assignments, i.e. VAR1=VAL1 VAR2=VAL2 ... command args are implemented by dash and ksh in such a way not to export these variables, and keep the values after the command finishes, when the command is a shell function. POSIX.1 "2.9.5 Function Definition Command" specifies this behaviour. Many shells however treat this construct the same way as they are calling external commands. They export the variables during the duration of command, and resets their values after command returns. The test relied on the behaviour of the latter kind. Reported-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Tarmigan Casebolt <tarmigan+git@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-01-14Document git-blame triple -C optionLibravatar Ramkumar Ramachandra2-3/+5
Lift the explanation of -CCC option in the source to the documentation. Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-01-13Merge branch 'jc/checkout-merge-base'Libravatar Junio C Hamano7-5/+222
* jc/checkout-merge-base: rebase -i: teach --onto A...B syntax rebase: fix --onto A...B parsing and add tests "rebase --onto A...B" replays history on the merge base between A and B "checkout A...B" switches to the merge base between A and B
2010-01-13Merge branch 'rs/maint-archive-match-pathspec'Libravatar Junio C Hamano1-1/+24
* rs/maint-archive-match-pathspec: archive: complain about path specs that don't match anything
2010-01-13Merge branch 'il/vcs-helper'Libravatar Junio C Hamano7-93/+505
* il/vcs-helper: Reset possible helper before reusing remote structure Remove special casing of http, https and ftp Support remote archive from all smart transports Support remote helpers implementing smart transports Support taking over transports Refactor git transport options parsing Pass unknown protocols to external protocol handlers Support mandatory capabilities Add remote helper debug mode Conflicts: Documentation/git-remote-helpers.txt transport-helper.c
2010-01-13Merge branch 'cc/reset-more'Libravatar Junio C Hamano7-20/+435
* cc/reset-more: t7111: check that reset options work as described in the tables Documentation: reset: add some missing tables Fix bit assignment for CE_CONFLICTED "reset --merge": fix unmerged case reset: use "unpack_trees()" directly instead of "git read-tree" reset: add a few tests for "git reset --merge" Documentation: reset: add some tables to describe the different options reset: improve mixed reset error message when in a bare repo
2010-01-13Merge branch 'nd/sparse'Libravatar Junio C Hamano33-102/+1049
* nd/sparse: (25 commits) t7002: test for not using external grep on skip-worktree paths t7002: set test prerequisite "external-grep" if supported grep: do not do external grep on skip-worktree entries commit: correctly respect skip-worktree bit ie_match_stat(): do not ignore skip-worktree bit with CE_MATCH_IGNORE_VALID tests: rename duplicate t1009 sparse checkout: inhibit empty worktree Add tests for sparse checkout read-tree: add --no-sparse-checkout to disable sparse checkout support unpack-trees(): ignore worktree check outside checkout area unpack_trees(): apply $GIT_DIR/info/sparse-checkout to the final index unpack-trees(): "enable" sparse checkout and load $GIT_DIR/info/sparse-checkout unpack-trees.c: generalize verify_* functions unpack-trees(): add CE_WT_REMOVE to remove on worktree alone Introduce "sparse checkout" dir.c: export excluded_1() and add_excludes_from_file_1() excluded_1(): support exclude files in index unpack-trees(): carry skip-worktree bit over in merged_entry() Read .gitignore from index if it is skip-worktree Avoid writing to buffer in add_excludes_from_file_1() ... Conflicts: .gitignore Documentation/config.txt Documentation/git-update-index.txt Makefile entry.c t/t7002-grep.sh
2010-01-13t7502: test commit.status, --status and --no-statusLibravatar Junio C Hamano1-0/+109
Make sure that the status information: - is shown as before without configuration nor command line option; - is shown if commit.status is set to true and no command line option is given, or --status is explicitly given; - is not shown if commit.status is set to false and no command line option is given, or --no-status is explicitly given. Also make sure that the way lines taken from the custom --template appear in the log message editor is not changed at all. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-01-13commit: support commit.status, --status, and --no-statusLibravatar James P. Howard, II3-3/+25
A new configuration variable commit.status, and new command line options --status, and --no-status control whether or not the git status information is included in the commit message template when using an editor to prepare the commit message. It does not affect the effects of a user's commit.template settings. Signed-off-by: James P. Howard, II <jh@jameshoward.us> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-01-12Merge branch 'maint'Libravatar Junio C Hamano4-5/+3
* maint: remote-curl: Fix Accept header for smart HTTP connections grep: -L should show empty files rebase--interactive: Ignore comments and blank lines in peek_next_command
2010-01-12lockfile: show absolute filename in unable_to_lock_messageLibravatar Matthieu Moy1-2/+3
When calling a git command from a subdirectory and a file locking fails, the user will get a path relative to the root of the worktree, which is invalid from the place where the command is ran. Make it easy for the user to know which file it is. Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-01-12hg-to-git: fix COMMITTER type-oLibravatar Bart Trojanowski1-4/+4
This script passes the author and committer to git-commit via environment variables, but it was missing the seccond T of COMMITTER in a few places. Signed-off-by: Bart Trojanowski <bart@jukie.net> Acked-by: Stelian Pop <stelian@popies.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-01-12remote-curl: Fix Accept header for smart HTTP connectionsLibravatar Shawn O. Pearce2-2/+2
We actually expect to see an application/x-git-upload-pack-result but we lied and said we Accept *-response. This was a typo on my part when I was writing the code. Fortunately the wrong Accept header had no real impact, as the deployed git-http-backend servers were not testing the Accept header before they returned their content. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-01-12grep: -L should show empty filesLibravatar Junio C Hamano1-2/+0
The -L (--files-without-match) option is supposed to show paths that produced no matches. When running the internal grep on work tree files, however, we had an optimization to just return on zero-sized files, without doing anything. This optimization doesn't matter too much in practice (a tracked empty file must be rare, or there is something wrong with your project); to produce results consistent with GNU grep, we should stop the optimization and show empty files as not having the given pattern. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-01-11push: spell 'Note about fast-forwards' section name correctly in error message.Libravatar Matthieu Moy1-2/+2
The error message in case of non-fast forward points to 'git push --help', but used to talk about a section 'non-fast-forward', while the actual section name is 'Note about fast-forwards'. Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-01-11rebase--interactive: Ignore comments and blank lines in peek_next_commandLibravatar Michael Haggerty1-1/+1
Previously, blank lines and/or comments within a series of squash/fixup commands would confuse "git rebase -i" into thinking that the series was finished. It would therefore require the user to edit the commit message for the squash/fixup commits seen so far. Then, after continuing, it would ask the user to edit the commit message again. Ignore comments and blank lines within a group of squash/fixup commands, allowing them to be processed in one go. Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-01-10Merge branch 'tr/http-updates'Libravatar Junio C Hamano3-2/+60
* tr/http-updates: Remove http.authAny Allow curl to rewind the RPC read buffer Add an option for using any HTTP authentication scheme, not only basic http: maintain curl sessions
2010-01-10Merge branch 'jk/maint-1.6.5-reset-hard'Libravatar Junio C Hamano2-4/+8
* jk/maint-1.6.5-reset-hard: reset: unbreak hard resets with GIT_WORK_TREE
2010-01-10Merge branch 'jk/push-to-delete'Libravatar Junio C Hamano3-3/+53
* jk/push-to-delete: builtin-push: add --delete as syntactic sugar for :foo
2010-01-10Merge branch 'mm/config-path'Libravatar Junio C Hamano3-4/+58
* mm/config-path: builtin-config: add --path option doing ~ and ~user expansion.
2010-01-10Merge branch 'pm/cvs-environ'Libravatar Junio C Hamano2-1/+36
* pm/cvs-environ: CVS Server: Support reading base and roots from environment
2010-01-10Merge branch 'tr/maint-1.6.5-bash-prompt-show-submodule-changes'Libravatar Junio C Hamano1-4/+2
* tr/maint-1.6.5-bash-prompt-show-submodule-changes: bash completion: factor submodules into dirty state
2010-01-10Merge branch 'bg/maint-remote-update-default'Libravatar Junio C Hamano2-6/+18
* bg/maint-remote-update-default: Fix "git remote update" with remotes.defalt set
2010-01-10Merge branch 'mm/diag-path-in-treeish'Libravatar Junio C Hamano4-7/+198
* mm/diag-path-in-treeish: Detailed diagnosis when parsing an object name fails.
2010-01-10Merge branch 'fc/opt-quiet-gc-reset'Libravatar Junio C Hamano3-3/+3
* fc/opt-quiet-gc-reset: General --quiet improvements
2010-01-10Merge branch 'maint'Libravatar Junio C Hamano3-26/+21
* maint: base85: Make the code more obvious instead of explaining the non-obvious base85: encode_85() does not use the decode table base85 debug code: Fix length byte calculation Documentation: tiny git config manual tweaks Documentation: git gc packs refs by default now checkout -m: do not try to fall back to --merge from an unborn branch
2010-01-10Merge branch 'maint-1.6.2' into maintLibravatar Junio C Hamano2-13/+11
* maint-1.6.2: base85: Make the code more obvious instead of explaining the non-obvious base85: encode_85() does not use the decode table base85 debug code: Fix length byte calculation checkout -m: do not try to fall back to --merge from an unborn branch Conflicts: diff.c
2010-01-10Merge branch 'maint-1.6.1' into maint-1.6.2Libravatar Junio C Hamano8-43/+47
* maint-1.6.1: base85: Make the code more obvious instead of explaining the non-obvious base85: encode_85() does not use the decode table base85 debug code: Fix length byte calculation checkout -m: do not try to fall back to --merge from an unborn branch branch: die explicitly why when calling "git branch [-a|-r] branchname". textconv: stop leaking file descriptors commit: --cleanup is a message option git count-objects: handle packs bigger than 4G t7102: make the test fail if one of its check fails Conflicts: diff.c
2010-01-10Merge branch 'maint-1.6.0' into maint-1.6.1Libravatar Junio C Hamano4-28/+28
* maint-1.6.0: base85: Make the code more obvious instead of explaining the non-obvious base85: encode_85() does not use the decode table base85 debug code: Fix length byte calculation checkout -m: do not try to fall back to --merge from an unborn branch branch: die explicitly why when calling "git branch [-a|-r] branchname".
2010-01-09daemon: consider only address in kill_some_child()Libravatar Erik Faye-Lund1-8/+20
kill_some_child() compares the entire sockaddr_storage structure (with the pad-bits zeroed out) when trying to find out if connections originate from the same host. However, sockaddr_storage contains the port-number for the connection (which varies between connections), so the comparison always fails. Change the code so we only consider the host-address, by introducing the addrcmp()-function that inspects the address family and compare as appropriate. Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-01-09help: fix configured help format taking over command line oneLibravatar Christian Couder1-1/+8
Since commit 7c3baa9 (help -a: do not unnecessarily look for a repository, 2009-09-04), the help format that is passed as a command line option is not used if an help format has been configured. This patch fixes that. Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-01-09string-list: rename the include guard to STRING_LIST_HLibravatar Thiago Farina1-3/+3
Signed-off-by: Thiago Farina <tfransosi@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-01-09t7111: check that reset options work as described in the tablesLibravatar Christian Couder1-0/+113
Some previous patches added some tables to the "git reset" documentation. These tables describe the behavior of "git reset" depending on the option it is passed and the state of the files in the working tree, the index, HEAD and the target commit. This patch adds some tests to make sure that the tables describe the behavior of "git reset". Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-01-09base85: Make the code more obvious instead of explaining the non-obviousLibravatar Andreas Gruenbacher1-8/+2
Here is another cleanup ... Signed-off-by: Andreas Gruenbacher <agruen@suse.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-01-09base85: encode_85() does not use the decode tableLibravatar Andreas Gruenbacher1-2/+0
Signed-off-by: Andreas Gruenbacher <agruen@suse.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>