Git v1.7.3.3 Release Notes ========================== In addition to the usual fixes, this release also includes support for the new "add.ignoreErrors" name given to the existing "add.ignore-errors" configuration variable. The next version, Git 1.7.4, and future versions, will support both old and incorrect name and the new corrected name, but without this backport, users who want to use the new name "add.ignoreErrors" in their repositories cannot use older versions of Git. Fixes since v1.7.3.2 -------------------- * "git apply" segfaulted when a bogus input is fed to it. * Running "git cherry-pick --ff" on a root commit segfaulted. * "diff", "blame" and friends incorrectly applied textconv filters to symlinks. * Highlighting of whitespace breakage in "diff" output was showing incorrect amount of whitespaces when blank-at-eol is set and the line consisted only of whitespaces and a TAB. * "diff" was overly inefficient when trying to find the line to use for the function header (i.e. equivalent to --show-c-function of GNU diff). * "git imap-send" depends on libcrypto but our build rule relied on the linker to implicitly link it via libssl, which was wrong. * "git merge-file" can be called from within a subdirectory now. * "git repack -f" expanded and recompressed non-delta objects in the existing pack, which was wasteful. Use new "-F" option if you really want to (e.g. when changing the pack.compression level). * "git rev-list --format="...%x00..." incorrectly chopped its output at NUL. * "git send-email" did not correctly remove duplicate mail addresses from the Cc: header that appear on the To: header. * The completion script (in contrib/completion) ignored lightweight tags in __git_ps1(). * "git-blame" mode (in contrib/emacs) didn't say (require 'format-spec) even though it depends on it; it didn't work with Emacs 22 or older unless Gnus is used. * "git-p4" (in contrib/) did not correctly handle deleted files. Other minor fixes and documentation updates are also included. Git v1.7.3.2 Release Notes ========================== This is primarily to push out many documentation fixes accumulated since the 1.7.3.1 release. Git v1.7.3.1 Release Notes ========================== Fixes since v1.7.3 ------------------ * "git stash show stash@{$n}" was accidentally broken in 1.7.3 ("git stash show" without any argument still worked, though). * "git stash branch $branch stash@{$n}" was accidentally broken in 1.7.3 and started dropping the named stash even when branch creation failed. And other minor fixes and documentation updates. Git v1.7.3 Release Notes ======================== Updates since v1.7.2 -------------------- * git-gui, now at version 0.13.0, got various updates and a new maintainer, Pat Thoyts. * Gitweb allows its configuration to change per each request; it used to read the configuration once upon startup. * When git finds a corrupt object, it now reports the file that contains it. * "git checkout -B " is a shorter way to say "git branch -f " followed by "git checkout ". * When "git checkout" or "git merge" refuse to proceed in order to protect local modification to your working tree, they used to stop after showing just one path that might be lost. They now show all, in a format that is easier to read. * "git clean" learned "-e" ("--exclude") option. * Hunk headers produced for C# files by "git diff" and friends show more relevant context than before. * diff.ignoresubmodules configuration variable can be used to squelch the differences in submodules reported when running commands (e.g. "diff", "status", etc.) at the superproject level. * http.useragent configuration can be used to lie who you are to your restrictive firewall. * "git rebase --strategy " learned "-X" option to pass extra options that are understood by the chosen merge strategy. * "git rebase -i" learned "exec" that you can insert into the insn sheet to run a command between its steps. * "git rebase" between branches that have many binary changes that do not conflict should be faster. * "git rebase -i" peeks into rebase.autosquash configuration and acts as if you gave --autosquash from the command line. Also contains various documentation updates. Fixes since v1.7.2 ------------------ All of the fixes in v1.7.2.X maintenance series are included in this release, unless otherwise noted. * "git merge -s recursive" (which is the default) did not handle cases where a directory becomes a file (or vice versa) very well. * "git fetch" and friends were accidentally broken for url with "+" in its path, e.g. "git://git.gnome.org/gtk+". * "git fetch $url" (i.e. without refspecs) was broken for quite some time, if the current branch happen to be tracking some remote. * "git ls-tree dir dirgarbage", when "dir" was a directory, incorrectly recursed into "dir". * "git note remove" created unnecessary extra commit when named object did not have any note to begin with. * "git rebase" did not work well if you had diff.noprefix configured. * "git -c foo=bar subcmd" did not work well for subcmd that is not implemented as a built-in command.