Git v1.7.2 Release Notes (draft)
================================

Updates since v1.7.1
--------------------

 * The whitespace rules used in "git apply --whitespace" and "git diff"
   gained a new member in the family (tab-in-indent) to help projects with
   policy to indent only with spaces.

 * When working from a subdirectory, by default, git does not look for its
   metadirectory ".git" across filesystems, primarily to help people who
   have invocations of git in their custom PS1 prompts, as being outside
   of a git repository would look for ".git" all the way up to the root
   directory, and NFS mounts are often slow.  DISCOVERY_ACROSS_FILESYSTEM
   environment variable can be used to tell git not to stop at a
   filesystem boundary.

 * "git" wrapper learned "-c name=value" option to override configuration
   variable from the command line.

 * After "git apply --whitespace=fix" removed trailing blank lines in an
   patch in a patch series, it failed to apply later patches that depend
   on the presense of such blank lines.

 * "git checkout --orphan newbranch" is similar to "-b newbranch" but
   prepares to create a root commit that is not connected to any existing
   commit.

 * "git commit --amend" on a commit with an invalid author-name line that
   lacks the display name didn't work (fb7749e4).

 * "git cvsserver" can be told to use pserver; its password file can be
   stored outside the repository.

 * The output from the textconv filter used by "git diff" can be cached to
   speed up their reuse.

 * "git diff --color" did not paint extended diff headers per line
   (i.e. the coloring escape sequence didn't end at the end of line),
   which confused "less -R".

 * "git diff --word-diff=<mode>" extends the existing "--color-words"
   option, making it more useful in color-challenged environments.

 * The regexp to detect function headers used by "git diff" for PHP has
   been enhanced for visibility modifiers (public, protected, etc.) to
   better support PHP5.

 * "git for-each-ref" learned "%(objectname:short)" that gives the object
   name abbreviated.

 * Various options to "git grep" (e.g. --count, --name-only) work better
   with binary files.

 * "git log --follow <path>" follows across copies (it used to only follow
   renames).  This may make the processing more expensive.

 * "git notes prune" learned "-n" (dry-run) and "-v" options, similar to
   what "git prune" has.

 * "git patch-id" can be fed a mbox without getting confused by the
   signature line in the format-patch output.

 * "git revert" learned --strategy option to specify the merge strategy.

 * "git status [-s] --ignored" can be used to list ignored paths.

 * Various "gitweb" enhancements and clean-ups, including syntax
   highlighting.


Fixes since v1.7.1
------------------

All of the fixes in v1.7.1.X maintenance series are included in this
release, unless otherwise noted.

 * We didn't recognize timezone "Z" as a synonym for "UTC" (75b37e70).

 * "git checkout" and "git rebase" overwrote paths that are marked "assume
   unchanged" (aecda37c).

 * "git clone/fetch/pull" issued an incorrect error message when a ref and
   a symref that points to the ref were updated at the same time.  This
   obviously would update them to the same value, and should not result in
   an error condition (7223dcaf).

 * "git clone" did not configure remote.origin.url correctly for bare
   clones (df61c889).

 * "git diff" used to tell underlying xdiff machinery to work very hard to
   minimize the output, but this often was spending too many extra cycles
   for very little gain (582aa00).

 * "git pull" accepted "--dry-run", gave it to underlying "git fetch" but
   ignored the option itself, resulting in a bogus attempt to merge
   unrelated commit (29609e68).

 * "git reset --hard" started from a wrong directory and a working tree in
   a nonstandard location is in use got confused (560fb6a1).

--
exec >/var/tmp/1
O=v1.7.1-336-g0925c02
echo O=$(git describe master)
git shortlog --no-merges master ^maint ^$O
