summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2008-03-07send-email: --no-signed-off-cc should suppress 'sob' ccLibravatar Junio C Hamano1-1/+2
The logic to countermand suppression of Cc to the signers with a more explicit --signed-off-by option done in 6564828 (git-send-email: Generalize auto-cc recipient mechanism) suffers from a double-negation error. A --signed-off-cc option, when false, should actively suppress CC: to be generated out of S-o-b lines, and it should refrain from suppressing when it is true. It also fixes "(sob) Adding cc:" status output; earlier it included the line terminator LF inside '%s', which was totally bogus. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-03-07Merge branch 'js/reflog-delete'Libravatar Junio C Hamano8-7/+245
* js/reflog-delete: t3903-stash.sh: Add tests for new stash commands drop and pop git-reflog.txt: Document new commands --updateref and --rewrite t3903-stash.sh: Add missing '&&' to body of testcase git-stash: add new 'pop' subcommand git-stash: add new 'drop' subcommand git-reflog: add option --updateref to write the last reflog sha1 into the ref refs.c: make close_ref() and commit_ref() non-static git-reflog: add option --rewrite to update reflog entries while expiring reflog-delete: parse standard reflog options builtin-reflog.c: fix typo that accesses an unset variable Teach "git reflog" a subcommand to delete single entries
2008-03-07Merge branch 'dc/format-pretty'Libravatar Junio C Hamano8-9/+21
* dc/format-pretty: log/show/whatchanged: introduce format.pretty configuration specify explicit "--pretty=medium" with `git log/show/whatchanged` whatchanged documentation: share description of --pretty with others
2008-03-07Merge branch 'cb/mergetool'Libravatar Junio C Hamano3-76/+162
* cb/mergetool: Add a very basic test script for git mergetool Teach git mergetool to use custom commands defined at config time Changed an internal variable of mergetool to support custom commands Tidy up git mergetool's backup file behaviour
2008-03-07Merge branch 'ar/sgid-bsd'Libravatar Junio C Hamano3-1/+11
* ar/sgid-bsd: Do not use GUID on dir in git init --shared=all on FreeBSD
2008-03-07Merge branch 'cc/run-command'Libravatar Junio C Hamano2-10/+11
* cc/run-command: run-command: Redirect stderr to a pipe before redirecting stdout to stderr
2008-03-05Do not use GUID on dir in git init --shared=all on FreeBSDLibravatar Alex Riesen3-1/+11
It does not allow changing the bit to a non-root user. This fixes t1301-shared-repo.sh on the platform. Signed-off-by: Alex Riesen <raa.lkml@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-03-05run-command: Redirect stderr to a pipe before redirecting stdout to stderrLibravatar Christian Couder2-10/+11
With this patch, in the 'start_command' function after forking we now take care of stderr in the child process before stdout. This way if 'start_command' is called with a 'child_process' argument like this: .err = -1; .stdout_to_stderr = 1; then stderr will be redirected to a pipe before stdout is redirected to stderr. So we can now get the process' stdout from the pipe (as well as its stderr). Earlier such a call would have redirected stdout to stderr before stderr was itself redirected, and therefore stdout would not have followed stderr, which would not have been very useful anyway. Update documentation in 'api-run-command.txt' accordingly. Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Acked-by: Johannes Sixt <johannes.sixt@telecom.at> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-03-05bash: git-branch -d and -m lists only local branchesLibravatar SZEDER Gábor1-1/+18
But still all branches are listed, if -r is present Signed-off-by: SZEDER Gábor <szeder@ira.uka.de> Acked-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-03-05bash: add git-branch optionsLibravatar SZEDER Gábor1-1/+10
Signed-off-by: SZEDER Gábor <szeder@ira.uka.de> Acked-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-03-05Add a very basic test script for git mergetoolLibravatar Charles Bailey1-0/+46
Signed-off-by: Charles Bailey <charles@hashpling.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-03-05Teach git mergetool to use custom commands defined at config timeLibravatar Charles Bailey2-4/+49
Currently git mergetool is restricted to a set of commands defined in the script. You can subvert the mergetool.<tool>.path to force git mergetool to use a different command, but if you have a command whose invocation syntax does not match one of the current tools then you would have to write a wrapper script for it. This patch adds two git config variable patterns which allow a more flexible choice of merge tool. If you run git mergetool with -t/--tool or the merge.tool config variable set to an unrecognized tool then git mergetool will query the mergetool.<tool>.cmd config variable. If this variable exists, then git mergetool will treat the specified tool as a custom command and will use a shell eval to run the command with the documented shell variables set. mergetool.<tool>.trustExitCode can be used to indicate that the exit code of the custom command can be used to determine the success of the merge. Signed-off-by: Charles Bailey <charles@hashpling.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-03-05Changed an internal variable of mergetool to support custom commandsLibravatar Charles Bailey1-50/+50
The variable $path changes to $MERGED so that it is more consistent with $BASE, $LOCAL and $REMOTE for future custom command lines. Signed-off-by: Charles Bailey <charles@hashpling.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-03-05Tidy up git mergetool's backup file behaviourLibravatar Charles Bailey2-24/+19
Currently a backup pre-merge file with conflict markers is sometimes kept with a .orig extenstion and sometimes removed depending on the particular merge tool used. This patch makes the handling consistent across all merge tools and configurable via a new mergetool.keepBackup config variable Signed-off-by: Charles Bailey <charles@hashpling.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-03-05log/show/whatchanged: introduce format.pretty configurationLibravatar Denis Cheng3-0/+13
When running log/show/whatchanged from the command line, the user may want to use a preferred format without having to pass --pretty=<fmt> option every time from the command line. This teaches these three commands to honor a new configuration variable, format.pretty. The --pretty option given from the command line will override the configured format. The earlier patch fixed the in-tree callers that run these commands for purposes other than showing the output directly to the end user (the only other in-tree caller is "git bisect visualize", whose output directly goes to the end user and should be affected by this patch). Similar fixes will be needed for end-user scripts that parse the output from these commands and expect them to be in the default pretty format. Signed-off-by: Denis Cheng <crquan@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-03-05specify explicit "--pretty=medium" with `git log/show/whatchanged`Libravatar Denis Cheng4-4/+4
The following patch will introduce a new configuration variable, "format.pretty", from then on the pretty format without specifying "--pretty" might not be the default "--pretty=medium", it depends on the user's config. So all kinds of Shell/Perl/Emacs scripts that needs the default medium pretty format must specify it explicitly. Signed-off-by: Denis Cheng <crquan@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-03-05whatchanged documentation: share description of --pretty with othersLibravatar Denis Cheng1-5/+4
The documentation had its own description for --pretty and did not include pretty-options/formats as documentation for other commands in the "log" family did. Signed-off-by: Denis Cheng <crquan@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-03-05fsck.c: fix bogus "empty tree" checkLibravatar Junio C Hamano1-2/+0
ba002f3 (builtin-fsck: move common object checking code to fsck.c) did more than what it claimed to. Most notably, it wrongly made an empty tree object an error by pretending to only move code from fsck_tree() in builtin-fsck.c to fsck_tree() in fsck.c, but in fact adding a bogus check to barf on an empty tree. An empty tree object is _unusual_. Recent porcelains try reasonably hard not to let the user create a commit that contains such a tree. Perhaps warning about them in git-fsck may have some merit. HOWEVER. Being unusual and being errorneous are two quite different things. This is especially true now we seem to use the same fsck_$object() code in places other than git-fsck itself. For example, receive-pack should not reject unusual objects, even if it would be a good idea to tighten it to reject incorrect ones. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-03-04Revert "unpack-objects: prevent writing of inconsistent objects"Libravatar Junio C Hamano2-106/+7
This reverts commit d5ef408b9afb5b4417f4e7e1593a96302d666650.
2008-03-04Revert "receive-pack: use strict mode for unpacking objects"Libravatar Junio C Hamano2-29/+13
This reverts commit 28f72a0f232dfc71b3be726e7e71d0a6d5f9ebba.
2008-03-04Merge branch 'maint'Libravatar Junio C Hamano5-22/+23
* maint: Fix 'git remote show' regression on empty repository in 1.5.4 Fix incorrect wording in git-merge.txt. git-merge.sh: better handling of combined --squash,--no-ff,--no-commit options Fix random crashes in http_cleanup()
2008-03-03Fix 'git remote show' regression on empty repository in 1.5.4Libravatar Shawn O. Pearce1-4/+0
Back in 18f7c51c we switched git-ls-remote/git-peek-remote to use the transport backend, rather than do everything itself. As part of that switch we started to produce a non-zero exit status if no refs were received from the remote peer, which happens when the remote peer has no commits pushed to it yet. (E.g. "git --git-dir=foo.git init; git ls-remote foo.git") Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-03-03t3407-rebase-abort.sh: Enhance existing tests, and add test for rebase --mergeLibravatar Mike Hommey1-28/+40
Removing .dotest should actually not be needed, so just test the directory don't exist after --abort, but exists after starting the rebase. Also, execute the same tests with rebase --merge, which uses a different code path. Signed-off-by: Mike Hommey <mh@glandium.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-03-03git-p4: Fix import of changesets with file deletionsLibravatar Simon Hausmann1-20/+25
Commit 3a70cdfa42199e16d2d047c286431c4274d65b1a made readP4Files abort quickly when the changeset only contains files that are marked for deletion with an empty return value, which caused the commit to not do anything. This commit changes readP4Files to distinguish between files that need to be passed to p4 print and files that have no content ("deleted") and merge them in the returned list. Signed-off-by: Simon Hausmann <simon@lst.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-03-03Fix test for cleanup failure in t7300 on WindowsLibravatar Alex Riesen1-1/+2
Keep the file open to: the OS does not allow removal of open files. The saner systems just have a saner permission model and chmod 0 is enough for the test. Signed-off-by: Alex Riesen <raa.lkml@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-03-03t6120 (describe): check --long properlyLibravatar Junio C Hamano1-0/+1
Existing test checked --long only for exactly tagged commit. We should make sure it works sensibly for commits that are not tagged. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-03-03Add git-describe test for "verify annotated tag names on output"Libravatar Shawn O. Pearce1-1/+16
Back in 212945d4 ("Teach git-describe to verify annotated tag names before output") I taught git-describe to output the name shown in the "tag" header of an annotated tag, rather than the name it is actually stored under in this repository's ref namespace. This test case verifies this is working correctly by renaming the ref for an annotated tag to a different name that what is recorded in the tag body, and verifying that tag is returned. We also verify there is a message shown on stderr to inform the user that the tag is possibly stored under the wrong name locally. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-03-03Test for packed tags in git-describe outputLibravatar Shawn O. Pearce1-0/+3
In c374b91c ("git-describe: use tags found in packed-refs correctly") Junio fixed an issue where git-describe did not parse a tag object it obtained from a packed-refs file, as the peel information was read in from packed-refs and not the tag object itself. This new test case verifies the fix listed above is functioning, and does not have a regression in the future. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-03-03Don't allow git-describe failures to go unnoticed in t6120Libravatar Shawn O. Pearce1-1/+3
If git-describe fails we never execute the test_expect_success, so we never actually test for failure. This is horribly wrong. We need to always run the test case, but the test case is only supposed to succeed if the prior git-describe returned 0. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-03-03describe: re-fix display_name()Libravatar Junio C Hamano1-1/+1
It is implausible for lookup_tag() to return NULL in this particular codepath but we should protect ourselves against a broken repository better. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-03-03Fix incorrect wording in git-merge.txt.Libravatar Matthieu Moy1-1/+2
A merge is not necessarily with a remote branch, it can be with any commit. Thanks to Paolo Ciarrocchi for pointing out the problem, and to Nicolas Pitre for pointing out the fact that a merge is not necessarily with a branch head. Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-03-03git-merge.sh: better handling of combined --squash,--no-ff,--no-commit optionsLibravatar Gerrit Pape2-6/+17
git-merge used to use either the --squash,--no-squash, --no-ff,--ff, --no-commit,--commit option, whichever came last in the command line. This lead to some un-intuitive behavior, having git merge --no-commit --no-ff <branch> actually commit the merge. Now git-merge respects --no-commit together with --no-ff, as well as other combinations of the options. However, this broke a selftest in t/t7600-merge.sh which expected to have --no-ff completely override the --squash option, so that git merge --squash --no-ff <branch> fast-forwards, and makes a merge commit; combining --squash with --no-ff doesn't really make sense though, and is now refused by git-merge. The test is adapted to test --no-ff without the preceding --squash, and another test is added to make sure the --squash --no-ff combination is refused. The unexpected behavior was reported by John Goerzen through http://bing.sdebian.org/468568 Signed-off-by: Gerrit Pape <pape@smarden.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-03-03Fix random crashes in http_cleanup()Libravatar Mike Hommey1-11/+3
For some reason, http_cleanup was running all active slots, which could lead in situations where a freed slot would be accessed in fill_active_slots. OTOH, we are cleaning up, which means the caller doesn't care about pending requests. Just forget about them instead or running them. Signed-off-by: Mike Hommey <mh@glandium.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-03-03describe: fix --long outputLibravatar Junio C Hamano1-5/+11
An error while hand-merging broke the new "--long" option. This should fix it. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-03-03git-describe: use tags found in packed-refs correctlyLibravatar Junio C Hamano1-1/+1
When your refs are packed, "git-describe" can find the tag that is the best match without ever parsing the tag itself. But lookup_tag() in display_name() says "I've never seen it", creates an empty shell, and returns it. We need to make sure that we actually have parsed the tag data into it. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-03-03t3903-stash.sh: Add tests for new stash commands drop and popLibravatar Brandon Casey1-1/+45
Signed-off-by: Brandon Casey <drafnel@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-03-03git-reflog.txt: Document new commands --updateref and --rewriteLibravatar Brandon Casey1-0/+9
Signed-off-by: Brandon Casey <drafnel@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-03-03t3903-stash.sh: Add missing '&&' to body of testcaseLibravatar Brandon Casey1-2/+2
Signed-off-by: Brandon Casey <drafnel@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-03-03Merge commit '74359821' into js/reflog-deleteLibravatar Junio C Hamano125-1334/+4189
* commit '74359821': (128 commits) tests: introduce test_must_fail Fix builtin checkout crashing when given an invalid path templates/Makefile: don't depend on local umask setting Correct name of diff_flush() in API documentation Start preparing for 1.5.4.4 format-patch: remove a leftover debugging message completion: support format-patch's --cover-letter option Eliminate confusing "won't bisect on seeked tree" failure builtin-reflog.c: don't install new reflog on write failure send-email: fix In-Reply-To regression git-svn: Don't prompt for client cert password everytime. git.el: Do not display empty directories. Fix 'git cvsexportcommit -w $cvsdir ...' when used with relative $GIT_DIR Add testcase for 'git cvsexportcommit -w $cvsdir ...' with relative $GIT_DIR Prompt to continue when editing during rebase --interactive Documentation/git svn log: add a note about timezones. git-p4: Support usage of perforce client spec git-p4: git-p4 submit cleanups. git-p4: Removed git-p4 submit --direct. git-p4: Clean up git-p4 submit's log message handling. ...
2008-03-03fetch-pack: check parse_commit/object resultsLibravatar Martin Koegler1-7/+10
Signed-off-by: Martin Koegler <mkoegler@auto.tuwien.ac.at> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-03-03Update draft release notes for 1.5.5Libravatar Junio C Hamano1-1/+27
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-03-02Merge branch 'maint'Libravatar Junio C Hamano5-6/+49
* maint: Update draft release notes for 1.5.4.4 revert: actually check for a dirty index tests: introduce test_must_fail git-submodule: Fix typo 'url' which should be '$url' receive-pack: Initialize PATH to include exec-dir. Conflicts: builtin-revert.c
2008-03-02Update draft release notes for 1.5.4.4Libravatar Junio C Hamano1-1/+21
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-03-02revert: actually check for a dirty indexLibravatar Jeff King2-4/+25
The previous code mistakenly used wt_status_prepare to check whether the index had anything commitable in it; however, that function is just an init function, and will never report a dirty index. The correct way with wt_status_* would be to call wt_status_print with the output pointing to /dev/null or similar. However, that does extra work by both examining the working tree and spewing status information to nowhere. Instead, let's just implement the useful subset of wt_status_print as an "is_index_dirty" function. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-03-02tests: introduce test_must_failLibravatar Junio C Hamano2-8/+25
When we expect a git command to notice and signal errors, we carelessly wrote in our tests: test_expect_success 'reject bogus request' ' do something && do something else && ! git command ' but a non-zero exit could come from the "git command" segfaulting. A new helper function "tset_must_fail" is introduced and it is meant to be used to make sure the command gracefully fails (iow, dying and exiting with non zero status is counted as a failure to "gracefully fail"). The above example should be written as: test_expect_success 'reject bogus request' ' do something && do something else && test_must_fail git command ' Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-03-02git-submodule: Fix typo 'url' which should be '$url'Libravatar Ping Yin1-1/+1
Fix typo in 'test -z "url"' when checking whether a submodule url is empty. "url" should be "$url". Signed-off-by: Ping Yin <pkufranky@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-03-02receive-pack: Initialize PATH to include exec-dir.Libravatar Björn Steinbrink1-0/+2
511707d (use only the $PATH for exec'ing git commands) made it a requirement to call setup_path() to include the git exec-dir in PATH before spawning any other git commands. git-receive-pack was not yet adapted to do this and therefore fails to spawn git-unpack-objects if that is not in the standard PATH. Signed-off-by: Björn Steinbrink <B.Steinbrink@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-03-02Fix doc typos.Libravatar Ralf Wildenhues2-4/+4
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-03-02fast-import: exit with proper message if not a git dirLibravatar Jean-Luc Herren1-0/+1
git fast-import expects to be run from an existing (possibly empty) repository. It was dying with a suboptimal message if that wasn't the case. Signed-off-by: Jean-Luc Herren <jlh@gmx.ch> Acked-by: Shawn O. Pearce <spearce@spearce.org>
2008-03-02Merge branch 'np/verify-pack'Libravatar Junio C Hamano9-163/+185
* np/verify-pack: add storage size output to 'git verify-pack -v' fix unimplemented packed_object_info_detail() features make verify_one_pack() a bit less wrong wrt packed_git structure factorize revindex code out of builtin-pack-objects.c Conflicts: Makefile