Eleventh batch for 2.11

There still are a few topics that need to go in before -rc0 which
would make the shape of the upcoming release clearer, but here is
the final batch before it happens.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Junio C Hamano
2016-10-26 13:28:47 -07:00
parent 3b1e135b87
commit 2cc2e70264

View File

@ -1,11 +1,32 @@
Git 2.11 Release Notes Git 2.11 Release Notes
====================== ======================
Backward compatibility notes.
* An empty string used as a pathspec element has always meant
'everything matches', but it is too easy to write a script that
finds a path to remove in $path and run 'git rm "$paht"', which
ends up removing everything. This release starts warning about the
use of an empty string that is used for 'everything matches' and
asks users to use a more explicit '.' for that instead.
The hope is that existing users will not mind this change, and
eventually the warning can be turned into a hard error, upgrading
the deprecation into removal of this (mis)feature.
* The historical argument order "git merge <msg> HEAD <commit>..."
has been deprecated for quite some time, and will be removed in the
next release (not this one).
Updates since v2.10 Updates since v2.10
------------------- -------------------
UI, Workflows & Features UI, Workflows & Features
* Comes with new version of git-gui, now at its 0.21.0 tag.
* "git format-patch --cover-letter HEAD^" to format a single patch * "git format-patch --cover-letter HEAD^" to format a single patch
with a separate cover letter now numbers the output as [PATCH 0/1] with a separate cover letter now numbers the output as [PATCH 0/1]
and [PATCH 1/1] by default. and [PATCH 1/1] by default.
@ -89,6 +110,29 @@ UI, Workflows & Features
* "git mergetool" learned to honor "-O<orderfile>" to control the * "git mergetool" learned to honor "-O<orderfile>" to control the
order of paths to present to the end user. order of paths to present to the end user.
* "git diff/log --ws-error-highlight=<kind>" lacked the corresponding
configuration variable to set it by default.
* "git ls-files" learned "--recurse-submodules" option that can be
used to get a listing of tracked files across submodules (i.e. this
only works with "--cached" option, not for listing untracked or
ignored files). This would be a useful tool to sit on the upstream
side of a pipe that is read with xargs to work on all working tree
files from the top-level superproject.
* A new credential helper that talks via "libsecret" with
implementations of XDG Secret Service API has been added to
contrib/credential/.
* The GPG verification status shown in "%G?" pretty format specifier
was not rich enough to differentiate a signature made by an expired
key, a signature made by a revoked key, etc. New output letters
have been assigned to express them.
* In addition to purely abbreviated commit object names, "gitweb"
learned to turn "git describe" output (e.g. v2.9.3-599-g2376d31787)
into clickable links in its output.
Performance, Internal Implementation, Development Support etc. Performance, Internal Implementation, Development Support etc.
@ -160,6 +204,14 @@ Performance, Internal Implementation, Development Support etc.
decide if we accept the check, and once we decide, either migrate decide if we accept the check, and once we decide, either migrate
them to the repository or purge them immediately. them to the repository or purge them immediately.
* The require_clean_work_tree() helper was recreated in C when "git
pull" was rewritten from shell; the helper is now made available to
other callers in preparation for upcoming "rebase -i" work.
* "git upload-pack" had its code cleaned-up and performance improved
by reducing use of timestamp-ordered commit-list, which was
replaced with a priority queue.
Also contains various documentation updates and code clean-ups. Also contains various documentation updates and code clean-ups.
@ -416,7 +468,61 @@ notes for details).
each other as if both belong to .git/config. This has been fixed. each other as if both belong to .git/config. This has been fixed.
(merge 72710165c9 sb/submodule-config-doc-drop-path later to maint). (merge 72710165c9 sb/submodule-config-doc-drop-path later to maint).
* In a worktree connected to a repository elsewhere, created via "git
worktree", "git checkout" attempts to protect users from confusion
by refusing to check out a branch that is already checked out in
another worktree. However, this also prevented checking out a
branch, which is designated as the primary branch of a bare
reopsitory, in a worktree that is connected to the bare
repository. The check has been corrected to allow it.
(merge 171c646f8c dk/worktree-dup-checkout-with-bare-is-ok later to maint).
* "git rebase" immediately after "git clone" failed to find the fork
point from the upstream.
(merge 4f21454b55 jk/merge-base-fork-point-without-reflog later to maint).
* When fetching from a remote that has many tags that are irrelevant
to branches we are following, we used to waste way too many cycles
when checking if the object pointed at by a tag (that we are not
going to fetch!) exists in our repository too carefully.
(merge 5827a03545 jk/fetch-quick-tag-following later to maint).
* Protect our code from over-eager compilers.
(merge 0ac52a38e8 jk/tighten-alloc later to maint).
* Recent git allows submodule.<name>.branch to use a special token
"." instead of the branch name; the documentation has been updated
to describe it.
(merge 15ef78008a bw/submodule-branch-dot-doc later to maint).
* A hot-fix for a test added by a recent topic that went to both
'master' and 'maint' already.
(merge 76e368c378 tg/add-chmod+x-fix later to maint).
* "git send-email" attempts to pick up valid e-mails from the
trailers, but people in real world write non-addresses there, like
"Cc: Stable <add@re.ss> # 4.8+", which broke the output depending
on the availability and vintage of Mail::Address perl module.
(merge dcfafc5214 mm/send-email-cc-cruft-after-address later to maint).
* The Travis CI configuration we ship ran the tests with --verbose
option but this risks non-TAP output that happens to be "ok" to be
misinterpreted as TAP signalling a test that passed. This resulted
in unnecessary failure. This has been corrected by introducing a
new mode to run our tests in the test harness to send the verbose
output separately to the log file.
(merge 614fe01521 jk/tap-verbose-fix later to maint).
* Some AsciiDoc formatter mishandles a displayed illustration with
tabs in it. Adjust a few of them in merge-base documentation to
work around them.
(merge 6750f62699 po/fix-doc-merge-base-illustration later to maint).
* Other minor doc, test and build updates and code cleanups. * Other minor doc, test and build updates and code cleanups.
(merge a94bb68397 rs/cocci later to maint). (merge a94bb68397 rs/cocci later to maint).
(merge 641c900b2c js/reset-usage later to maint). (merge 641c900b2c js/reset-usage later to maint).
(merge 30cfe72d37 rs/pretty-format-color-doc-fix later to maint). (merge 30cfe72d37 rs/pretty-format-color-doc-fix later to maint).
(merge d709f1fb9d jc/diff-unique-abbrev-comments later to maint).
(merge 13092a916d jc/cocci-xstrdup-or-null later to maint).
(merge 86009f32bb pb/test-parse-options-expect later to maint).
(merge 749a2279a4 yk/git-tag-remove-mention-of-old-layout-in-doc later to maint).