variables with REMOTE_USER and REMOTE_ADDR, but these variables are
now preserved when set.
+ * "git am" learned the "--include" option, which is an opposite of
+ existing the "--exclude" option.
+
+ * When "git am -3" needs to fall back to an application to a
+ synthesized preimage followed by a 3-way merge, the paths that
+ needed such treatment are now reported to the end user, so that the
+ result in them can be eyeballed with extra care.
+
+ * The "fmt-merge-msg" command learns to list the primary contributors
+ involved in the side topic you are merging.
+
+ * The cases "git push" fails due to non-ff can be broken into three
+ categories; each case is given a separate advise message.
+
* A 'snapshot' request to "gitweb" honors If-Modified-Since: header,
based on the commit date.
Foreign Interface
+ * "git p4" has been moved out of contrib/ area.
Performance
+ * "git apply" had some memory leaks plugged.
+
+ * Setting up a revision traversal with many starting points was
+ inefficient as these were placed in a date-order priority queue
+ one-by-one. Now they are collected in the queue unordered first,
+ and sorted immediately before getting used.
Internal Implementation (please report possible regressions)
+ * "git rev-parse --show-prefix" used to emit nothing when run at the
+ top-level of the working tree, but now it gives a blank line.
+
* Minor memory leak during unpack_trees (hence "merge" and "checkout"
to check out another branch) has been plugged.
* Because "sh" on the user's PATH may be utterly broken on some
systems, run-command API now uses SHELL_PATH, not /bin/sh, when
- spawning an external command.
+ spawning an external command (not applicable to Windows port).
Also contains minor documentation updates and code clean-ups.
releases are contained in this release (see release notes to them for
details).
+ * "git fetch" that recurses into submodules on demand did not check
+ if it needs to go into submodules when non branches (most notably,
+ tags) are fetched.
+ (merge a6801ad jl/maint-submodule-recurse-fetch later to maint).
+
+ * "git blame" started missing quite a few changes from the origin
+ since we stopped using the diff minimalization by default in v1.7.2
+ era.
+ (merge 059a500 jc/maint-blame-minimal later to maint).
+
+ * "log -p --graph" used with "--stat" had a few formatting error.
+ (merge e2c5966 lp/maint-diff-three-dash-with-graph later to maint).
+
+ * Giving "--continue" to a conflicted "rebase -i" session skipped a
+ commit that only results in changes to submodules.
+ (merge a6754cd jk/rebase-i-submodule-conflict-only later to maint).
+
+ * When PATH contains an unreadable directory, alias expansion code
+ did not kick in, and failed with an error that said "git-subcmd"
+ was not found.
+ (merge 38f865c jk/run-command-eacces later to maint).
+
+ * The 'push to upstream' implementation was broken in some corner
+ cases. "git push $there" without refspec, when the current branch
+ is set to push to a remote different from $there, used to push to
+ $there using the upstream information to a remote unreleated to
+ $there.
+ (merge 135dade jc/push-upstream-sanity later to maint).
+
* "git clean -d -f" (not "-d -f -f") is supposed to protect nested
working trees of independent git repositories that exist in the
current project working tree from getting removed, but the