Git v1.6.5.7 Release Notes
==========================

Fixes since v1.6.5.6
--------------------

* If a user specifies a color for a <slot> (i.e. a class of things to show
  in a particular color) that is known only by newer versions of git
  (e.g. "color.diff.func" was recently added for upcoming 1.6.6 release),
  an older version of git should just ignore them.  Instead we diagnosed
  it as an error.

* With help.autocorrect set to non-zero value, the logic to guess typos
  in the subcommand name misfired and ran a random nonsense command.

* If a command is run with an absolute path as a pathspec inside a bare
  repository, e.g. "rev-list HEAD -- /home", the code tried to run
  strlen() on NULL, which is the result of get_git_work_tree(), and
  segfaulted.
