Updates since v1.7.1
--------------------
- * 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.
+ * core.eol configuration and eol attribute are the new way to control
+ the end of line conventions for files in the working tree;
+ core.autocrlf overrides it, keeping the traditional behaviour by
+ default.
+
+ * 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.
+
+ * Usage help messages generated by parse-options library (i.e. most
+ of the Porcelain commands) are sent to the standard output now.
+
+ * ':/<string>' notation to look for a commit now takes regular expression
+ and it is not anchored at the beginning of the commit log message
+ anymore (this is a backward incompatible change).
+
+ * "git" wrapper learned "-c name=value" option to override configuration
+ variable from the command line.
+
+ * Improved portability for various platforms including older SunOS,
+ HP-UX 10/11, AIX, Tru64, etc. and platforms with Python 2.4.
+
+ * The message from "git am -3" has been improved when conflict
+ resolution ended up making the patch a no-op.
+
+ * "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 cherry-pick" learned to pick a range of commits (e.g. "cherry-pick
+ A..B"); this does not have nicer sequencing control "rebase [-i]" has,
+ though.
+
+ * "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 send-email" learned --smtp-domain option to specify the domainname
- used in the EHLO/HELO exchange.
+ * "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.
+
+ * "diff.noprefix" configuration variable can be used to implicitly
+ ask for "diff --no-prefix" behaviour.
+
+ * "git for-each-ref" learned "%(objectname:short)" that gives the object
+ name abbreviated.
+
+ * "git format-patch" learned --signature option and format.signature
+ configuration variable to customize the e-mail signature used in the
+ output.
+
+ * Various options to "git grep" (e.g. --count, --name-only) work better
+ with binary files.
+
+ * "git help -w" learned "chrome" and "chromium" browsers.
+
+ * "git log --follow <path>" follows across copies (it used to only follow
+ renames). This may make the processing more expensive.
+
+ * "git log --pretty=format:<template>" specifier learned "% <something>"
+ magic that inserts a space only when %<something> expands to a
+ non-empty string; this is similar to "%+<something>" magic, but is
+ useful in a context to generate a single line output.
+
+ * "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 remote" learned "set-branches" subcommand.
* "git revert" learned --strategy option to specify the merge strategy.
- * 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.
+ * "git rev-list A..B" learned --ancestry-path option to further limit
+ the result to the commits that are on the ancestry chain between A and
+ B (i.e. commits that are not descendants of A are excluded).
+
+ * "git status [-s] --ignored" can be used to list ignored paths.
+
+ * "git status -s -b" shows the current branch in the output.
- * Authentication over http transport can now be made lazily, in that the
- request can first go to a URL without username, get a 401 response and
- then the client will ask for the username to use.
+ * Various "gitweb" enhancements and clean-ups, including syntax
+ highlighting, "plackup" support for instaweb, .fcgi suffix to run
+ it as FastCGI script, etc.
Fixes since v1.7.1
------------------
- * In 1.7.1, "git status" stopped refreshing the index by mistake.
-
All of the fixes in v1.7.1.X maintenance series are included in this
release, unless otherwise noted.
+ * We didn't URL decode "file:///path/to/repo" correctly when path/to/repo
+ had percent-encoded characters (638794c, 9d2e942).
+
+ * "git commit" did not honor GIT_REFLOG_ACTION environment variable, resulting
+ reflog messages for cherry-pick and revert actions to be recorded as "commit".
+
+ * "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 (0e71bc3).
+
+ * "git clone" did not configure remote.origin.url correctly for bare
+ clones (df61c889).
+
+ * "git diff" inside a tree with many pathnames that have certain
+ characters has become very slow in 1.7.0 by mistake (will merge
+ e53e6b443 to 'maint').
+
+ * "git diff --graph" works better with "--color-words" and other options
+ (81fa024..4297c0a).
+
+ * "git diff" could show ambiguous abbreviation of blob object names on
+ its "index" line (3e5a188).
+
+ * "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-77-gb751157
-echo O=$(git describe master)
-git shortlog --no-merges master ^maint ^$O
+O=v1.7.1-568-g2c177a1
+echo O=$(git describe HEAD)
+git shortlog --no-merges HEAD ^maint ^$O