summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2008-03-08Merge branch 'jc/describe-always'Libravatar Junio C Hamano2-32/+44
* jc/describe-always: describe --always: fall back to showing an abbreviated object name
2008-03-08Merge branch 'jc/am'Libravatar Junio C Hamano5-16/+118
* jc/am: am: --rebasing am: remove support for -d .dotest am: read from the right mailbox when started from a subdirectory
2008-03-08Merge branch 'cr/reset-parseopt'Libravatar Junio C Hamano1-27/+20
* cr/reset-parseopt: Make builtin-reset.c use parse_options.
2008-03-08Merge branch 'jn/gitweb-pickaxe'Libravatar Junio C Hamano1-42/+43
* jn/gitweb-pickaxe: gitweb: Fix and simplify pickaxe search
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-05gitweb: Fix and simplify pickaxe searchLibravatar Jakub Narebski1-42/+43
Instead of using "git-rev-list | git-diff-tree" pipeline for pickaxe search, use git-log with appropriate options. Besides reducing number of forks by one, this allows to use list form of open, which in turn allow to not worry about quoting arguments and to avoid forking shell. The options to git-log were chosen to reduce required changes in pickaxe git command output parsing; gitweb still parses returned commits one by one. Parsing "pickaxe" output is simplified: git_search now reuses parse_difftree_raw_line and writes affected files as they arrive using the fact that commit name goes always before [raw] diff. While at it long bug of pickaxe search was fixed, namely that the last commit found by pickaxe search was never shown. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
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-05Make builtin-reset.c use parse_options.Libravatar Carlos Rica1-27/+20
Signed-off-by: Carlos Rica <jasampler@gmail.com> 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-05am: --rebasingLibravatar Junio C Hamano3-4/+21
The new option --rebasing is used internally for rebase to tell am that it is being used for its purpose. This would leave .dotest/rebasing to help "completion" scripts tell if the ongoing operation is am or rebase. Also the option at the same time stands for --binary, -3 and -k which are always given when rebase drives am as its backend. Using the information "am" leaves, git-completion.bash tells ongoing rebase and am apart. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-03-05am: remove support for -d .dotestLibravatar Junio C Hamano2-14/+6
It has been supported for a long time, but I do not think this feature has been in use in the real world at all. We would eventually move this out of the toplevel of the work tree and to somewhere under $GIT_DIR, so let's remove the command line option to specify the location now. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-03-05am: read from the right mailbox when started from a subdirectoryLibravatar Junio C Hamano2-2/+95
An earlier commit c149184 (allow git-am to run in a subdirectory) taught git-am to start from a subdirectory by going up to the root of the work tree byitself, but it did not adjust the path to read the mbox from when it did so. 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.