@@ -67,6 +67,34 @@ UI, Workflows & Features
67
67
* "git submodule" learns "set-branch" subcommand that allows the
68
68
submodule.*.branch settings to be modified.
69
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
+
70
98
71
99
Performance, Internal Implementation, Development Support etc.
72
100
@@ -347,10 +375,67 @@ Fixes since v2.21
347
375
eager and considered nonsense strings as if they can be legitimate
348
376
beginning of *-by: trailer. This has been tightened.
349
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.
352
381
(merge 92a1377a2a js/macos-gettext-build later to maint).
353
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
+
354
439
* Code cleanup, docfix, build fix, etc.
355
440
(merge 11f470aee7 jc/test-yes-doc later to maint).
356
441
(merge 90503a240b js/doc-symref-in-proto-v1 later to maint).
@@ -385,3 +470,4 @@ Fixes since v2.21
385
470
(merge f64a21bd82 tz/doc-apostrophe-no-longer-needed later to maint).
386
471
(merge dbe7b41019 js/t3301-unbreak-notes-test later to maint).
387
472
(merge d8083e4180 km/t3000-retitle later to maint).
473
+ (merge 9e4cbccbd7 tz/git-svn-doc-markup-fix later to maint).
0 commit comments