GIT v1.6.1.4 Release Notes
==========================

Fixes since v1.6.1.3
--------------------

* .gitignore learned to handle backslash as a quoting mechanism for
  comment introduction character "#".
  This fix was first merged to 1.6.2.1.

* "git fast-export" produced wrong output with some parents missing from
  commits, when the history is clock-skewed.

* "git fast-import" sometimes failed to read back objects it just wrote
  out and aborted, because it failed to flush stale cached data.

* "git-ls-tree" and "git-diff-tree" used a pathspec correctly when
  deciding to descend into a subdirectory but they did not match the
  individual paths correctly.  This caused pathspecs "abc/d ab" to match
  "abc/0" ("abc/d" made them decide to descend into the directory "abc/",
  and then "ab" incorrectly matched "abc/0" when it shouldn't).
  This fix was first merged to 1.6.2.3.

* import-zips script (in contrib) did not compute the common directory
  prefix correctly.
  This fix was first merged to 1.6.2.2.

* "git init" segfaulted when given an overlong template location via
  the --template= option.
  This fix was first merged to 1.6.2.4.

* "git repack" did not error out when necessary object was missing in the
  repository.

* git-repack (invoked from git-gc) did not work as nicely as it should in
  a repository that borrows objects from neighbours via alternates
  mechanism especially when some packs are marked with the ".keep" flag
  to prevent them from being repacked.
  This fix was first merged to 1.6.2.3.

Also includes minor documentation fixes and updates.
