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>

Junio C Hamano committed Oct 26, 2016 at 13:28 UTC 2cc2e70264e0fcba04f9ef791d144bbc8b501206
1 file changed +106
Documentation/RelNotes/2.11.0.txt
+106
@@ -1,11 +1,32 @@
1 Git 2.11 Release Notes
2 ======================
3
4 +Backward compatibility notes.
5 +
6 + * An empty string used as a pathspec element has always meant
7 + 'everything matches', but it is too easy to write a script that
8 + finds a path to remove in $path and run 'git rm "$paht"', which
9 + ends up removing everything. This release starts warning about the
10 + use of an empty string that is used for 'everything matches' and
11 + asks users to use a more explicit '.' for that instead.
12 +
13 + The hope is that existing users will not mind this change, and
14 + eventually the warning can be turned into a hard error, upgrading
15 + the deprecation into removal of this (mis)feature.
16 +
17 +
18 + * The historical argument order "git merge <msg> HEAD <commit>..."
19 + has been deprecated for quite some time, and will be removed in the
20 + next release (not this one).
21 +
22 +
23 Updates since v2.10
24 -------------------
25
26 UI, Workflows & Features
27
28 + * Comes with new version of git-gui, now at its 0.21.0 tag.
29 +
30 * "git format-patch --cover-letter HEAD^" to format a single patch
31 with a separate cover letter now numbers the output as [PATCH 0/1]
32 and [PATCH 1/1] by default.
@@ -89,6 +110,29 @@ UI, Workflows & Features
110 * "git mergetool" learned to honor "-O<orderfile>" to control the
111 order of paths to present to the end user.
112
113 + * "git diff/log --ws-error-highlight=<kind>" lacked the corresponding
114 + configuration variable to set it by default.
115 +
116 + * "git ls-files" learned "--recurse-submodules" option that can be
117 + used to get a listing of tracked files across submodules (i.e. this
118 + only works with "--cached" option, not for listing untracked or
119 + ignored files). This would be a useful tool to sit on the upstream
120 + side of a pipe that is read with xargs to work on all working tree
121 + files from the top-level superproject.
122 +
123 + * A new credential helper that talks via "libsecret" with
124 + implementations of XDG Secret Service API has been added to
125 + contrib/credential/.
126 +
127 + * The GPG verification status shown in "%G?" pretty format specifier
128 + was not rich enough to differentiate a signature made by an expired
129 + key, a signature made by a revoked key, etc. New output letters
130 + have been assigned to express them.
131 +
132 + * In addition to purely abbreviated commit object names, "gitweb"
133 + learned to turn "git describe" output (e.g. v2.9.3-599-g2376d31787)
134 + into clickable links in its output.
135 +
136
137 Performance, Internal Implementation, Development Support etc.
138
@@ -160,6 +204,14 @@ Performance, Internal Implementation, Development Support etc.
204 decide if we accept the check, and once we decide, either migrate
205 them to the repository or purge them immediately.
206
207 + * The require_clean_work_tree() helper was recreated in C when "git
208 + pull" was rewritten from shell; the helper is now made available to
209 + other callers in preparation for upcoming "rebase -i" work.
210 +
211 + * "git upload-pack" had its code cleaned-up and performance improved
212 + by reducing use of timestamp-ordered commit-list, which was
213 + replaced with a priority queue.
214 +
215
216 Also contains various documentation updates and code clean-ups.
217
@@ -416,7 +468,61 @@ notes for details).
468 each other as if both belong to .git/config. This has been fixed.
469 (merge 72710165c9 sb/submodule-config-doc-drop-path later to maint).
470
471 + * In a worktree connected to a repository elsewhere, created via "git
472 + worktree", "git checkout" attempts to protect users from confusion
473 + by refusing to check out a branch that is already checked out in
474 + another worktree. However, this also prevented checking out a
475 + branch, which is designated as the primary branch of a bare
476 + reopsitory, in a worktree that is connected to the bare
477 + repository. The check has been corrected to allow it.
478 + (merge 171c646f8c dk/worktree-dup-checkout-with-bare-is-ok later to maint).
479 +
480 + * "git rebase" immediately after "git clone" failed to find the fork
481 + point from the upstream.
482 + (merge 4f21454b55 jk/merge-base-fork-point-without-reflog later to maint).
483 +
484 + * When fetching from a remote that has many tags that are irrelevant
485 + to branches we are following, we used to waste way too many cycles
486 + when checking if the object pointed at by a tag (that we are not
487 + going to fetch!) exists in our repository too carefully.
488 + (merge 5827a03545 jk/fetch-quick-tag-following later to maint).
489 +
490 + * Protect our code from over-eager compilers.
491 + (merge 0ac52a38e8 jk/tighten-alloc later to maint).
492 +
493 + * Recent git allows submodule.<name>.branch to use a special token
494 + "." instead of the branch name; the documentation has been updated
495 + to describe it.
496 + (merge 15ef78008a bw/submodule-branch-dot-doc later to maint).
497 +
498 + * A hot-fix for a test added by a recent topic that went to both
499 + 'master' and 'maint' already.
500 + (merge 76e368c378 tg/add-chmod+x-fix later to maint).
501 +
502 + * "git send-email" attempts to pick up valid e-mails from the
503 + trailers, but people in real world write non-addresses there, like
504 + "Cc: Stable <add@re.ss> # 4.8+", which broke the output depending
505 + on the availability and vintage of Mail::Address perl module.
506 + (merge dcfafc5214 mm/send-email-cc-cruft-after-address later to maint).
507 +
508 + * The Travis CI configuration we ship ran the tests with --verbose
509 + option but this risks non-TAP output that happens to be "ok" to be
510 + misinterpreted as TAP signalling a test that passed. This resulted
511 + in unnecessary failure. This has been corrected by introducing a
512 + new mode to run our tests in the test harness to send the verbose
513 + output separately to the log file.
514 + (merge 614fe01521 jk/tap-verbose-fix later to maint).
515 +
516 + * Some AsciiDoc formatter mishandles a displayed illustration with
517 + tabs in it. Adjust a few of them in merge-base documentation to
518 + work around them.
519 + (merge 6750f62699 po/fix-doc-merge-base-illustration later to maint).
520 +
521 * Other minor doc, test and build updates and code cleanups.
522 (merge a94bb68397 rs/cocci later to maint).
523 (merge 641c900b2c js/reset-usage later to maint).
524 (merge 30cfe72d37 rs/pretty-format-color-doc-fix later to maint).
525 + (merge d709f1fb9d jc/diff-unique-abbrev-comments later to maint).
526 + (merge 13092a916d jc/cocci-xstrdup-or-null later to maint).
527 + (merge 86009f32bb pb/test-parse-options-expect later to maint).
528 + (merge 749a2279a4 yk/git-tag-remove-mention-of-old-layout-in-doc later to maint).