summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2008-03-08Merge branch 'kb/maint-filter-branch-disappear'Libravatar Junio C Hamano2-1/+34
* kb/maint-filter-branch-disappear: filter-branch: handle "disappearing tree" case correctly in subdir filter
2008-03-08Merge branch 'maint' to sync with 1.5.4.4Libravatar Junio C Hamano7-14/+39
* maint: GIT 1.5.4.4 ident.c: reword error message when the user name cannot be determined Fix dcommit, rebase when rewriteRoot is in use Really make the LF after reset in fast-import optional
2008-03-08GIT 1.5.4.4Libravatar Junio C Hamano2-7/+27
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-03-08ident.c: reword error message when the user name cannot be determinedLibravatar Santi Béjar1-1/+1
The "config --global" suggested in the message is a valid one-shot fix, and hopefully one-shot across machines that NFS mounts the home directories. This knowledge can hopefully be reused when you are forced to use git on Windows, but the fix based on GECOS would not be applicable, so it is not such a useful hint to mention the exact reason why the name cannot be determined. Signed-off-by: Santi Béjar <sbejar@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-03-08Fix dcommit, rebase when rewriteRoot is in useLibravatar John Goerzen1-1/+6
When the rewriteRoot setting is used with git-svn, it causes the svn IDs added to commit messages to bear a different URL than is actually used to retrieve Subversion data. It is common for Subversion repositories to be available multiple ways: for instance, HTTP to the public, and svn+ssh to people with commit access. The need to switch URLs for access is fairly common as well -- perhaps someone was just given commit access. To switch URLs without having to rewrite history, one can use the old url as a rewriteRoot, and use the new one in the svn-remote url setting. This works well for svn fetching and general git commands. However, git-svn dcommit, rebase, and perhaps other commands do not work in this scenario. They scan the svn ID lines in commit messages and attempt to match them up with url lines in [svn-remote] sections in the git config. This patch allows them to match rewriteRoot options, if such options are present. Signed-off-by: John Goerzen <jgoerzen@complete.org> Acked-by: Eric Wong <normalperson@yhbt.net>
2008-03-08filter-branch: handle "disappearing tree" case correctly in subdir filterLibravatar Junio C Hamano2-1/+34
The subdirectory filter had a bug to notice that the commit in question did not have anything in the path-limited part of the tree. $commit:$path does not name an empty tree when $path does not appear in $commit. This should fix it. The additional test in t7003 is originally from Kevin Ballard but with fixups. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-03-08merge-tool documentation: describe custom command usageLibravatar Charles Bailey1-0/+22
The configuration variables for custom merge tools were documented only in config.txt but there was no reference to the functionality in git-mergetool.txt. Signed-off-by: Charles Bailey <charles@hashpling.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-03-08git-mergetool documentaiton: show toolnames in typewriter fontLibravatar Charles Bailey1-8/+8
Signed-off-by: Charles Bailey <charles@hashpling.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-03-08Really make the LF after reset in fast-import optionalLibravatar Adeodato Simó2-1/+4
cmd_from() ends with a call to read_next_command(), which is needed when using cmd_from() from commands where from is not the last element. With reset, however, "from" is the last command, after which the flow returns to the main loop, which calls read_next_command() again. Because of this, always set unread_command_buf in cmd_reset_branch(), even if cmd_from() was successful. Add a test case for this in t9300-fast-import.sh. Signed-off-by: Adeodato Simó <dato@net.com.org.es> Acked-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-03-08Merge branch 'aw/maint-shortlog-blank-lines'Libravatar Junio C Hamano1-2/+3
* aw/maint-shortlog-blank-lines: shortlog: take the first populated line of the description
2008-03-08Merge branch 'mh/maint-http-proxy-fix' into maintLibravatar Junio C Hamano7-12/+22
* mh/maint-http-proxy-fix: Set proxy override with http_init()
2008-03-08Merge branch 'js/maint-daemon' into maintLibravatar Junio C Hamano1-5/+13
* js/maint-daemon: daemon: ensure that base-path is an existing directory daemon: send more error messages to the syslog
2008-03-08Merge branch 'js/maint-cvsexport' into maintLibravatar Junio C Hamano2-8/+67
* js/maint-cvsexport: cvsexportcommit: be graceful when "cvs status" reorders the arguments Conflicts: t/t9200-git-cvsexportcommit.sh
2008-03-08Merge branch 'jc/maint-log-merge-left-right' into maintLibravatar Junio C Hamano1-8/+4
* jc/maint-log-merge-left-right: Fix "git log --merge --left-right"
2008-03-08Merge branch 'ew/maint-svn-cert-fileprovider' into maintLibravatar Junio C Hamano1-0/+1
* ew/maint-svn-cert-fileprovider: git-svn: Don't prompt for client cert password everytime.
2008-03-07Merge branch 'maint'Libravatar Junio C Hamano4-12/+27
* maint: unquote_c_style: fix off-by-one. test-lib: fix TERM to dumb for test repeatability config.txt: refer to --upload-pack and --receive-pack instead of --exec git-gui: Gracefully fall back to po2msg.sh if msgfmt --tcl fails
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-07unquote_c_style: fix off-by-one.Libravatar Pierre Habouzit1-1/+1
The optional endp parameter to unquote_c_style() was supposed to point at a location past the closing double quote, but it was going one beyond it. git-fast-import used this function heavily and the bug caused it to misparse the input stream, especially when parsing a rename command: R "filename that needs quoting" rename-target-name Because the function erroneously ate the whitespace after the closing dq, this triggered "Missing space after source" error when it shouldn't. Thanks to Adeodato Simò for having caught this. Signed-off-by: Pierre Habouzit <madcoder@debian.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-03-07test-lib: fix TERM to dumb for test repeatabilityLibravatar Junio C Hamano1-7/+17
Dscho noticed that Term::ReadLine (used by send-email) colorized its output for his TERM settings, inside t9001 tests. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-03-07config.txt: refer to --upload-pack and --receive-pack instead of --execLibravatar Uwe Kleine-König1-4/+4
The options --upload-pack (of git-fetch-pack) and --receive-pack (of git-push) do the same as --exec (for both commands). But the former options have the more descriptive name. Signed-off-by: Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
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-06Merge branch 'maint' of git://repo.or.cz/git-gui into maintLibravatar Junio C Hamano1-0/+5
* 'maint' of git://repo.or.cz/git-gui: git-gui: Gracefully fall back to po2msg.sh if msgfmt --tcl fails
2008-03-05shortlog: take the first populated line of the descriptionLibravatar Andy Whitcroft1-2/+3
Way back the perl version of shortlog would take the first populated line of the commit body. The builtin version mearly takes the first line. This leads to empty shortlog entries when there is some viable text in the commit. Reinstate this behaviour igoring all lines with nothing but whitespace. This is often useful when dealing with commits imported from foreign SCMs that do not tidy up the log message of useless blank lines at the beginning. Signed-off-by: Andy Whitcroft <apw@shadowen.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
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-05git-gui: Gracefully fall back to po2msg.sh if msgfmt --tcl failsLibravatar Shawn O. Pearce1-0/+5
Mac OS X Tiger may have a msgfmt available but it doesn't understand how to implement --tcl. Falling back to po2msg.sh on such systems is a reasonable behavior. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
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>