Git v1.7.2.3 Release Notes
==========================

Fixes since v1.7.2.2
--------------------

 * When people try insane things such as delta-compressing 4GiB files, we
   threw an assertion failure.

 * "git archive" gave the full commit ID for "$Format:%h$".

 * "git fetch --tags" did not fetch tags when remote.<nick>.tagopt was set
   to --no-tags.  The command line option now overrides the configuration
   setting.

 * "git for-each-ref --format='%(objectname:short)'" has been completely
   broken for a long time.

 * "git gc" incorrectly pruned a rerere record that was created long
   time ago but still is actively and repeatedly used.

 * "git log --follow -M -p" was seriously broken in 1.7.2, reporting
   assertion failure.

 * Running "git log" with an incorrect option started pager nevertheless,
   forcing the user to dismiss it.

 * "git rebase" did not work well when the user has diff.renames
   configuration variable set.

 * An earlier (and rather old) fix to "git rebase" against a rebased
   upstream broke a more normal, non rebased upstream case rather badly,
   attempting to re-apply patches that are already accepted upstream.

 * "git submodule sync" forgot to update the superproject's config file
   when submodule URL changed.

 * "git pack-refs --all --prune" did not remove a directory that has
   become empty.
