Git 1.7.3Edit

From the official announcement to the Git mailing list:

The latest feature release Git 1.7.3 is available at the usual
places:

 http://www.kernel.org/pub/software/scm/git/

 git-1.7.3.tar.{gz,bz2}			(source tarball)
 git-htmldocs-1.7.3.tar.{gz,bz2}		(preformatted docs)
 git-manpages-1.7.3.tar.{gz,bz2}		(preformatted docs)

The RPM binary packages for a few architectures are found in:

 RPMS/$arch/git-*-1.7.3-1.fc11.$arch.rpm	(RPM)

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 <it>" is a shorter way to say "git branch -f <it>"
  followed by "git checkout <it>".

* 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 <s>" 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.

See also