Git v2.6.5 Release Notes
========================

Fixes since v2.6.4
------------------

 * Because "test_when_finished" in our test framework queues the
   clean-up tasks to be done in a shell variable, it should not be
   used inside a subshell.  Add a mechanism to allow 'bash' to catch
   such uses, and fix the ones that were found.

 * Update "git subtree" (in contrib/) so that it can take whitespaces
   in the pathnames, not only in the in-tree pathname but the name of
   the directory that the repository is in.

 * Cosmetic improvement to lock-file error messages.

 * mark_tree_uninteresting() has code to handle the case where it gets
   passed a NULL pointer in its 'tree' parameter, but the function had
   'object = &tree->object' assignment before checking if tree is
   NULL.  This gives a compiler an excuse to declare that tree will
   never be NULL and apply a wrong optimization.  Avoid it.

 * The helper used to iterate over loose object directories to prune
   stale objects did not closedir() immediately when it is done with a
   directory--a callback such as the one used for "git prune" may want
   to do rmdir(), but it would fail on open directory on platforms
   such as WinXP.

 * "git p4" used to import Perforce CLs that touch only paths outside
   the client spec as empty commits.  It has been corrected to ignore
   them instead, with a new configuration git-p4.keepEmptyCommits as a
   backward compatibility knob.

 * The exit code of git-fsck did not reflect some types of errors
   found in packed objects, which has been corrected.

 * The completion script (in contrib/) used to list "git column"
   (which is not an end-user facing command) as one of the choices

 * Improve error reporting when SMTP TLS fails.

 * When getpwuid() on the system returned NULL (e.g. the user is not
   in the /etc/passwd file or other uid-to-name mappings), the
   codepath to find who the user is to record it in the reflog barfed
   and died.  Loosen the check in this codepath, which already accepts
   questionable ident string (e.g. host part of the e-mail address is
   obviously bogus), and in general when we operate fmt_ident() function
   in non-strict mode.

 * "git symbolic-ref" forgot to report a failure with its exit status.

 * History traversal with "git log --source" that starts with an
   annotated tag failed to report the tag as "source", due to an
   old regression in the command line parser back in v2.2 days.

Also contains typofixes, documentation updates and trivial code
clean-ups.