The eighth batch

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Junio C Hamano committed May 9, 2019 at 00:37 UTC 6a6c0f10a70a6eb101c213b09ae82a9cad252743
1 file changed +88 -2
Documentation/RelNotes/2.22.0.txt
+88 -2
@@ -67,6 +67,34 @@ UI, Workflows & Features
67 * "git submodule" learns "set-branch" subcommand that allows the
68 submodule.*.branch settings to be modified.
69
70 + * "git merge-recursive" backend recently learned a new heuristics to
71 + infer file movement based on how other files in the same directory
72 + moved. As this is inherently less robust heuristics than the one
73 + based on the content similarity of the file itself (rather than
74 + based on what its neighbours are doing), it sometimes gives an
75 + outcome unexpected by the end users. This has been toned down to
76 + leave the renamed paths in higher/conflicted stages in the index so
77 + that the user can examine and confirm the result.
78 +
79 + * "git tag" learned to give an advice suggesting it might be a
80 + mistake when creating an annotated or signed tag that points at
81 + another tag.
82 +
83 + * The "git pack-objects" command learned to report the number of
84 + objects it packed via the trace2 mechanism.
85 +
86 + * The list of conflicted paths shown in the editor while concluding a
87 + conflicted merge was shown above the scissors line when the
88 + clean-up mode is set to "scissors", even though it was commented
89 + out just like the list of updated paths and other information to
90 + help the user explain the merge better.
91 +
92 + * The trace2 tracing facility learned to auto-generate a filename
93 + when told to log to a directory.
94 +
95 + * "git clone" learned a new --server-option option when talking over
96 + the protocol version 2.
97 +
98
99 Performance, Internal Implementation, Development Support etc.
100
@@ -347,10 +375,67 @@ Fixes since v2.21
375 eager and considered nonsense strings as if they can be legitimate
376 beginning of *-by: trailer. This has been tightened.
377
350 - * Build with gettext breaks on recent macOS w/ Homebrew when
351 - /usr/local/bin is not on PATH, which has been corrected.
378 + * Builds with gettext broke on recent macOS w/ Homebrew, which
379 + seems to have stopped including from /usr/local/include; this
380 + has been corrected.
381 (merge 92a1377a2a js/macos-gettext-build later to maint).
382
383 + * Running "git add" on a repository created inside the current
384 + repository is an explicit indication that the user wants to add it
385 + as a submodule, but when the HEAD of the inner repository is on an
386 + unborn branch, it cannot be added as a submodule. Worse, the files
387 + in its working tree can be added as if they are a part of the outer
388 + repository, which is not what the user wants. These problems are
389 + being addressed.
390 + (merge f937bc2f86 km/empty-repo-is-still-a-repo later to maint).
391 +
392 + * "git cherry-pick" run with the "-x" or the "--signoff" option used
393 + to (and more importantly, ought to) clean up the commit log message
394 + with the --cleanup=space option by default, but this has been
395 + broken since late 2017. This has been fixed.
396 +
397 + * When given a tag that points at a commit-ish, "git replace --graft"
398 + failed to peel the tag before writing a replace ref, which did not
399 + make sense because the old graft mechanism the feature wants to
400 + mimick only allowed to replace one commit object with another.
401 + This has been fixed.
402 + (merge ee521ec4cb cc/replace-graft-peel-tags later to maint).
403 +
404 + * Code tightening against a "wrong" object appearing where an object
405 + of a different type is expected, instead of blindly assuming that
406 + the connection between objects are correctly made.
407 + (merge 97dd512af7 tb/unexpected later to maint).
408 +
409 + * An earlier update for MinGW and Cygwin accidentally broke MSVC build,
410 + which has been fixed.
411 + (merge 22c3634c0f ss/msvc-path-utils-fix later to maint).
412 +
413 + * %(push:track) token used in the --format option to "git
414 + for-each-ref" and friends was not showing the right branch, which
415 + has been fixed.
416 + (merge c646d0934e dr/ref-filter-push-track-fix later to maint).
417 +
418 + * "make check-docs", "git help -a", etc. did not account for cases
419 + where a particular build may deliberately omit some subcommands,
420 + which has been corrected.
421 +
422 + * The logic to tell if a Git repository has a working tree protects
423 + "git branch -D" from removing the branch that is currently checked
424 + out by mistake. The implementation of this logic was broken for
425 + repositories with unusual name, which unfortunately is the norm for
426 + submodules these days. This has been fixed.
427 + (merge f3534c98e4 jt/submodule-repo-is-with-worktree later to maint).
428 +
429 + * AIX shared the same build issues with other BSDs around fileno(fp),
430 + which has been corrected.
431 + (merge ee662bf5c6 cc/aix-has-fileno-as-a-macro later to maint).
432 +
433 + * The autoconf generated configure script failed to use the right
434 + gettext() implementations from -libintl by ignoring useless stub
435 + implementations shipped in some C library, which has been
436 + corrected.
437 + (merge b71e56a683 vk/autoconf-gettext later to maint).
438 +
439 * Code cleanup, docfix, build fix, etc.
440 (merge 11f470aee7 jc/test-yes-doc later to maint).
441 (merge 90503a240b js/doc-symref-in-proto-v1 later to maint).
@@ -385,3 +470,4 @@ Fixes since v2.21
470 (merge f64a21bd82 tz/doc-apostrophe-no-longer-needed later to maint).
471 (merge dbe7b41019 js/t3301-unbreak-notes-test later to maint).
472 (merge d8083e4180 km/t3000-retitle later to maint).
473 + (merge 9e4cbccbd7 tz/git-svn-doc-markup-fix later to maint).