aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* filter-branch: handle "disappearing tree" case correctly in subdir filterJunio C Hamano2008-03-08
| | | | | | | | | | | 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>
* unquote_c_style: fix off-by-one.Pierre Habouzit2008-03-07
| | | | | | | | | | | | | | | | | | 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>
* test-lib: fix TERM to dumb for test repeatabilityJunio C Hamano2008-03-07
| | | | | | | 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>
* config.txt: refer to --upload-pack and --receive-pack instead of --execUwe Kleine-König2008-03-07
| | | | | | | | | 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>
* Merge branch 'maint' of git://repo.or.cz/git-gui into maintJunio C Hamano2008-03-06
|\ | | | | | | | | * 'maint' of git://repo.or.cz/git-gui: git-gui: Gracefully fall back to po2msg.sh if msgfmt --tcl fails
| * git-gui: Gracefully fall back to po2msg.sh if msgfmt --tcl failsShawn O. Pearce2008-03-05
| | | | | | | | | | | | | | | | 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>
* | Fix 'git remote show' regression on empty repository in 1.5.4Shawn O. Pearce2008-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Fix incorrect wording in git-merge.txt.Matthieu Moy2008-03-03
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* | git-merge.sh: better handling of combined --squash,--no-ff,--no-commit optionsGerrit Pape2008-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Fix random crashes in http_cleanup()Mike Hommey2008-03-03
| | | | | | | | | | | | | | | | | | | | | | 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>
* | Update draft release notes for 1.5.4.4Junio C Hamano2008-03-02
| | | | | | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | revert: actually check for a dirty indexJeff King2008-03-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | tests: introduce test_must_failJunio C Hamano2008-03-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | git-submodule: Fix typo 'url' which should be '$url'Ping Yin2008-03-02
| | | | | | | | | | | | | | | | 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>
* | receive-pack: Initialize PATH to include exec-dir.Björn Steinbrink2008-03-02
| | | | | | | | | | | | | | | | | | | | | | 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>
* | Documentation cherry-pick: Fix cut-and-paste errorMike Ralphson2008-02-29
| | | | | | | | | | Signed-off-by: Mike Ralphson <mike@abacus.co.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | git.el: find the git-status buffer whatever its name isRémi Vanicat2008-02-29
| | | | | | | | | | | | | | | | | | | | | | git-status used the buffer name to find git-status buffers, and that can fail if the buffer has another name, for example when multiple working directories is tracked. Signed-off-by: Rémi Vanicat <vanicat@debian.org> Acked-by: Alexandre Julliard <julliard@winehq.org> Tested-by: Xavier Maillard <xma@gnu.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Merge branch 'maint' of git://repo.or.cz/git-gui into maintJunio C Hamano2008-02-29
|\ \ | |/ | | | | | | * 'maint' of git://repo.or.cz/git-gui: git-gui: Paper bag fix info dialog when no files are staged at commit
| * git-gui: Paper bag fix info dialog when no files are staged at commitgitgui-0.9.3Shawn O. Pearce2008-02-28
| | | | | | | | | | | | | | | | | | | | | | | | If the user tries to commit their changes without actually staging anything we used to display an informational dialog suggesting they first stage those changes, then retry the commit feature. Unfortunately I broke this in aba15f7 ("Ensure error dialogs always appear over all other windows") and failed to fix it in the paper bag fix that came one day after it. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
* | templates/Makefile: don't depend on local umask settingGerrit Pape2008-02-28
| | | | | | | | | | | | | | | | | | | | | | | | Don't take the local umask setting into account when installing the templates/* files and directories, running 'make install' with umask set to 077 resulted in template/* installed with permissions 700 and 600. The problem was discovered by Florian Zumbiehl, reported through http://bugs.debian.org/467518 Signed-off-by: Gerrit Pape <pape@smarden.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Correct name of diff_flush() in API documentationDaniel Barkalow2008-02-28
| | | | | | | | | | Signed-off-by: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Start preparing for 1.5.4.4Junio C Hamano2008-02-27
| | | | | | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Eliminate confusing "won't bisect on seeked tree" failureCarl Worth2008-02-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This error message is very confusing---it doesn't tell the user anything about how to fix the situation. And the actual fix for the situation ("git bisect reset") does a checkout of a potentially random branch, (compared to what the user wants to be on for the bisect she is starting). The simplest way to eliminate the confusion is to just make "git bisect start" do the cleanup itself. There's no significant loss of safety here since we already have a general safety in the form of the reflog. Note: We preserve the warning for any cogito users. We do this by switching from .git/head-name to .git/BISECT_START for the extra state, (which is a more descriptive name anyway). Signed-off-by: Carl Worth <cworth@cworth.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | builtin-reflog.c: don't install new reflog on write failureBrandon Casey2008-02-27
| | | | | | | | | | | | | | | | | | | | | | | | When expiring reflog entries, a new temporary log is written which contains only the entries to retain. After it is written, it is renamed to replace the existing reflog. Currently, we check that writing of the new log is successful and print a message on failure, but the original reflog is still replaced with the new reflog even on failure. This patch causes the original reflog to be retained if we fail when writing the new reflog. Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | send-email: fix In-Reply-To regressionJay Soffian2008-02-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix a regression introduced by 1ca3d6e (send-email: squelch warning due to comparing undefined $_ to "") where if the user was prompted for an initial In-Reply-To and didn't provide one, messages would be sent out with an invalid In-Reply-To of "<>" Also add test cases for the regression and the fix. A small modification was needed to allow send-email to take its replies from stdin if the environment variable GIT_SEND_EMAIL_NOTTY is set. Signed-off-by: Jay Soffian <jaysoffian@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Fix 'git cvsexportcommit -w $cvsdir ...' when used with relative $GIT_DIRJohan Herland2008-02-27
| | | | | | | | | | | | | | | | | | | | | | | | When using the '-w $cvsdir' option to cvsexportcommit, it will chdir into $cvsdir before executing several other git commands. If $GIT_DIR is set to a relative path (e.g. '.'), the git commands executed by cvsexportcommit will naturally fail. Therefore, ensure that $GIT_DIR is absolute before the chdir to $cvsdir. Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Add testcase for 'git cvsexportcommit -w $cvsdir ...' with relative $GIT_DIRJohan Herland2008-02-27
| | | | | | | | | | | | | | | | The testcase verifies that 'git cvsexportcommit' functions correctly when the '-w' option is used, and GIT_DIR is set to a relative path (e.g. '.'). Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Prompt to continue when editing during rebase --interactiveJonathan del Strother2008-02-27
| | | | | | | | | | | | | | | | On hitting an edit point in an interactive rebase, git should prompt the user to run "git rebase --continue" Signed-off-by: Jonathan del Strother <jon.delStrother@bestbefore.tv> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Documentation/git svn log: add a note about timezones.Miklos Vajna2008-02-27
| | | | | | | | | | | | | | | | git svn log mimics the timezone converting behaviour of svn log, but this was undocumented. Signed-off-by: Miklos Vajna <vmiklos@frugalware.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Merge branch 'js/maint-http-push' into maintJunio C Hamano2008-02-27
|\ \ | | | | | | | | | | | | | | | | | | * js/maint-http-push: http-push: avoid a needless goto http-push: do not get confused by submodules http-push: avoid invalid memory accesses
| * | http-push: avoid a needless gotoJohannes Schindelin2008-02-15
| | | | | | | | | | | | | | | | | | | | | | | | There was a goto, and while it is not half as harmful as some people believe, it was unnecessary here. So remove it for readability. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * | http-push: do not get confused by submodulesJohannes Schindelin2008-02-15
| | | | | | | | | | | | | | | | | | | | | | | | When encountering submodules in a tree, http-push should not try sending the respective object. Instead, it should ignore it. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * | http-push: avoid invalid memory accessesJohannes Schindelin2008-02-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before objects are sent, the respective ref is locked. However, without this patch, the lock is lifted before the last object for that ref was sent. As a consequence, the lock data was accessed after the lock structure was free()d. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | Don't use GIT_CONFIG in t5505-remoteDaniel Barkalow2008-02-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | For some reason, t5505-remote was setting GIT_CONFIG to .git/config and exporting it. This should have been no-op, as test framework did the same for a long time anyway. Signed-off-by: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | Documentation/git-am.txt: Pass -r in the example invocation of rm -f .dotestBryan Donlan2008-02-25
| | | | | | | | | | | | | | | Signed-off-by: Bryan Donlan <bdonlan@fushizen.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | timezone_names[]: fixed the tz offset for New Zealand.Steven Drake2008-02-25
| | | | | | | | | | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | filter-branch documentation: non-zero exit status in command abort the filterCaio Marcelo de Oliveira Filho2008-02-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 8c1ce0f46b85d40f215084eed7313896300082df filter-branch fails when a <command> has a non-zero exit status. This commit makes it clear in the documentation and also fixes the parent-filter example, that was incorrectly returning non-zero when the commit being tested wasn't the one to be rewritten. Signed-off-by: Caio Marcelo de Oliveira Filho <cmarcelo@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | rev-parse: fix potential bus error with --parseopt option spec handlingJay Soffian2008-02-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | A non-empty line containing no spaces should be treated by --parseopt as an option group header, but was causing a bus error. Also added a test script for rev-parse --parseopt. Signed-off-by: Jay Soffian <jaysoffian@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | Use a single implementation and API for copy_file()Daniel Barkalow2008-02-25
| | | | | | | | | | | | | | | | | | | | | | | | Originally by Kristian Hï¿œgsberg; I fixed the conversion of rerere, which had a different API. Signed-off-by: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | Documentation/git-filter-branch: add a new msg-filter exampleMiklos Vajna2008-02-25
| | | | | | | | | | | | | | | | | | | | | | | | There were no example on how to edit commit messages, so add an msg-filter example. Signed-off-by: Miklos Vajna <vmiklos@frugalware.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | Correct fast-export file mode strings to match fast-import standardShawn O. Pearce2008-02-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The fast-import file format does not expect leading '0' in front of a file mode; that is we want '100644' and '0100644'. Thanks to Ian Clatworthy of the Bazaar project for noticing the difference in output/input. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | Protect peel_ref fallback case from NULL parse_object resultShawn O. Pearce2008-02-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | If the SHA-1 we are requesting the object for does not exist in the object database we get a NULL back. Accessing the type from that is not likely to succeed on any system. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | Ensure 'make dist' compiles git-archive.exe on CygwinShawn O. Pearce2008-02-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On Cygwin we have to use git-archive.exe as the target, otherwise running 'make dist' does not compile git-archive in the current directory. That may cause 'make dist' to fail on a clean source tree that has never been built before. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | GIT 1.5.4.3v1.5.4.3Junio C Hamano2008-02-23
| | | | | | | | | | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | Merge branch 'maint' of git://repo.or.cz/git-gui into maintJunio C Hamano2008-02-23
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | * 'maint' of git://repo.or.cz/git-gui: git-gui: Focus insertion point at end of strings in repository chooser git-gui: Avoid hardcoded Windows paths in Cygwin package files git-gui: Default TCL_PATH to same location as TCLTK_PATH git-gui: Paper bag fix error dialogs opening over the main window git-gui: Ensure error dialogs always appear over all other windows git-gui: relax "dirty" version detection git-gui: support Git Gui.app under OS X 10.5
| * | git-gui: Focus insertion point at end of strings in repository chooserShawn O. Pearce2008-02-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | When selecting a local working directory for a new repository or a location to clone an existing repository into we now set the insert point at the end of the selected path, allowing the user to type in any additional parts of the path if they so desire. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
| * | git-gui: Avoid hardcoded Windows paths in Cygwin package filesShawn O. Pearce2008-02-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we are being built by the Cygwin package maintainers we need to embed the POSIX path to our library files and not the Windows path. Embedding the Windows path means all end-users who install our Cygwin package would be required to install Cygwin at the same Windows path as the package maintainer had Cygwin installed to. This requirement is simply not user-friendly and may be infeasible for a large number of our users. We now try to auto-detect if the Tcl/Tk binary we will use at runtime is capable of translating POSIX paths into Windows paths the same way that cygpath does the translations. If the Tcl/Tk binary gives us the same results then it understands the Cygwin path translation process and should be able to read our library files from a POSIX path name. If it does not give us the same answer as cygpath then the Tcl/Tk binary might actually be a native Win32 build (one that is not linked against Cygwin) and thus requires the native Windows path to our library files. We can assume this is not a Cygwin package as the Cygwin maintainers do not currently ship a pure Win32 build of Tcl/Tk. Reported on the git mailing list by Jurko Gospodnetić. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
| * | git-gui: Default TCL_PATH to same location as TCLTK_PATHShawn O. Pearce2008-02-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Most users set TCLTK_PATH to tell git-gui where to find wish, but they fail to set TCL_PATH to the same Tcl installation. We use the non-GUI tclsh during builds so headless systems are still able to create an index file and create message files without GNU msgfmt. So it matters to us that we find a working TCL_PATH at build time. If TCL_PATH hasn't been set yet we can take a better guess about what tclsh executable to use by replacing 'wish' in the executable path with 'tclsh'. We only do this replacement on the filename part of the path, just in case the string "wish" appears in the directory paths. Most of the time the tclsh will be installed alongside wish so this replacement is a sensible and safe default. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
| * | git-gui: Paper bag fix error dialogs opening over the main windowShawn O. Pearce2008-02-22
| | | | | | | | | | | | | | | | | | | | | | | | If the main window is the only toplevel we have open then we don't have a valid grab right now, so we need to assume the best toplevel to use for the parent is ".". Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
| * | git-gui: Ensure error dialogs always appear over all other windowsShawn O. Pearce2008-02-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we are opening an error dialog we want it to appear above all of the other windows, even those that we may have opened with a grab to make the window modal. Failure to do so may allow an error dialog to open up (and grab focus!) under an existing toplevel, making the user think git-gui has frozen up and is unresponsive, as they cannot get to the dialog. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>