|
1 | 1 | Git 2.11 Release Notes
|
2 | 2 | ======================
|
3 | 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 | + |
4 | 23 | Updates since v2.10
|
5 | 24 | -------------------
|
6 | 25 |
|
7 | 26 | UI, Workflows & Features
|
8 | 27 |
|
| 28 | + * Comes with new version of git-gui, now at its 0.21.0 tag. |
| 29 | + |
9 | 30 | * "git format-patch --cover-letter HEAD^" to format a single patch
|
10 | 31 | with a separate cover letter now numbers the output as [PATCH 0/1]
|
11 | 32 | and [PATCH 1/1] by default.
|
@@ -89,6 +110,29 @@ UI, Workflows & Features
|
89 | 110 | * "git mergetool" learned to honor "-O<orderfile>" to control the
|
90 | 111 | order of paths to present to the end user.
|
91 | 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 | + |
92 | 136 |
|
93 | 137 | Performance, Internal Implementation, Development Support etc.
|
94 | 138 |
|
@@ -160,6 +204,14 @@ Performance, Internal Implementation, Development Support etc.
|
160 | 204 | decide if we accept the check, and once we decide, either migrate
|
161 | 205 | them to the repository or purge them immediately.
|
162 | 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 | + |
163 | 215 |
|
164 | 216 | Also contains various documentation updates and code clean-ups.
|
165 | 217 |
|
@@ -416,7 +468,61 @@ notes for details).
|
416 | 468 | each other as if both belong to .git/config. This has been fixed.
|
417 | 469 | (merge 72710165c9 sb/submodule-config-doc-drop-path later to maint).
|
418 | 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 < [email protected]> # 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 | + |
419 | 521 | * Other minor doc, test and build updates and code cleanups.
|
420 | 522 | (merge a94bb68397 rs/cocci later to maint).
|
421 | 523 | (merge 641c900b2c js/reset-usage later to maint).
|
422 | 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). |
0 commit comments