GIT v1.5.4.6 Release Notes
==========================

I personally do not think there is any reason anybody should want to
run v1.5.4.X series these days, because 'master' version is always
more stable than any tagged released version of git.

This is primarily to futureproof "git-shell" to accept requests
without a dash between "git" and subcommand name (e.g. "git
upload-pack") which the newer client will start to make sometime in
the future.

Fixes since v1.5.4.5
--------------------

 * Command line option "-n" to "git-repack" was not correctly parsed.

 * Error messages from "git-apply" when the patchfile cannot be opened
   have been improved.

 * Error messages from "git-bisect" when given nonsense revisions have
   been improved.

 * reflog syntax that uses time e.g. "HEAD@{10 seconds ago}:path" did not
   stop parsing at the closing "}".

 * "git rev-parse --symbolic-full-name ^master^2" printed solitary "^",
   but it should print nothing.

 * "git apply" did not enforce "match at the beginning" correctly.

 * a path specification "a/b" in .gitattributes file should not match
   "sub/a/b", but it did.

 * "git log --date-order --topo-order" did not override the earlier
   date-order with topo-order as expected.

 * "git fast-export" did not export octopus merges correctly.

 * "git archive --prefix=$path/" mishandled gitattributes.

As usual, it also comes with many documentation fixes and clarifications.

