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.