GIT v1.5.1.2 Release Notes
==========================

Fixes since v1.5.1.1
--------------------

* Bugfixes

  - "git clone" over http from a repository that has lost the
    loose refs by running "git pack-refs" were broken (a code to
    deal with this was added to "git fetch" in v1.5.0, but it
    was missing from "git clone").

  - "git diff a/ b/" incorrectly fell in "diff between two
    filesystem objects" codepath, when the user most likely
    wanted to limit the extent of output to two tracked
    directories.

  - git-quiltimport had the same bug as we fixed for
    git-applymbox in v1.5.1.1 -- it gave an alarming "did not
    have any patch" message (but did not actually fail and was
    harmless).

  - various git-svn fixes.

  - Sample update hook incorrectly always refused requests to
    delete branches through push.

  - git-blame on a very long working tree path had buffer
    overrun problem.

  - git-apply did not like to be fed two patches in a row that created
    and then modified the same file.

  - git-svn was confused when a non-project was stored directly under
    trunk/, branches/ and tags/.

  - git-svn wants the Error.pm module that was at least as new
    as what we ship as part of git; install ours in our private
    installation location if the one on the system is older.

  - An earlier update to command line integer parameter parser was
    botched and made 'update-index --cacheinfo' completely useless.


* Documentation updates

  - Various documentation updates from J. Bruce Fields, Frank
    Lichtenheld, Alex Riesen and others.  Andrew Ruder started a
    war on undocumented options.
