Git 2.21-rc0

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

Junio C Hamano committed Feb 6, 2019 at 21:30 UTC d62dad7a7dca3f6a65162bf0e52cdf6927958e78
2 files changed +105 -8
Documentation/RelNotes/2.21.0.txt
+104 -7
@@ -4,6 +4,14 @@ Git 2.21 Release Notes
4 Backward Compatibility Notes
5 ----------------------------
6
7 + * Historically, the "-m" (mainline) option can only be used for "git
8 + cherry-pick" and "git revert" when working with a merge commit.
9 + This version of Git no longer warns or errors out when working with
10 + a single-parent commit, as long as the argument to the "-m" option
11 + is 1 (i.e. it has only one parent, and the request is to pick or
12 + revert relative to that first parent). Scripts that relied on the
13 + behaviour may get broken with this change.
14 +
15
16 Updates since v2.20
17 -------------------
@@ -11,11 +19,11 @@ Updates since v2.20
19 UI, Workflows & Features
20
21 * The "http.version" configuration variable can be used with recent
14 - enough cURL library to force the version of HTTP used to talk when
15 - fetching and pushing.
22 + enough versions of cURL library to force the version of HTTP used
23 + to talk when fetching and pushing.
24
25 * Small fixes and features for fast-export and fast-import, mostly on
18 - the fast-export side.
26 + the fast-export side has been made.
27
28 * "git push $there $src:$dst" rejects when $dst is not a fully
29 qualified refname and not clear what the end user meant. The
@@ -62,13 +70,23 @@ UI, Workflows & Features
70 * "git instaweb" learned to drive http.server that comes with
71 "batteries included" Python installation (both Python2 & 3).
72
73 + * A new encoding UTF-16LE-BOM has been invented to force encoding to
74 + UTF-16 with BOM in little endian byte order, which cannot be directly
75 + generated by using iconv.
76 +
77 + * A new date format "--date=human" that morphs its output depending
78 + on how far the time is from the current time has been introduced.
79 + "--date=auto" can be used to use this new format when the output is
80 + going to the pager or to the terminal and otherwise the default
81 + format.
82 +
83
84 Performance, Internal Implementation, Development Support etc.
85
86 * Code clean-up with optimization for the codepath that checks
87 (non-)existence of loose objects.
88
71 - * More codepaths become aware of working with in-core repository
89 + * More codepaths have become aware of working with in-core repository
90 instance other than the default "the_repository".
91
92 * The "strncat()" function is now among the banned functions.
@@ -86,7 +104,6 @@ Performance, Internal Implementation, Development Support etc.
104
105 * Flaky tests can now be repeatedly run under load with the
106 "--stress" option.
89 - (merge fb7d1e3ac8 sg/stress-test later to maint).
107
108 * Documentation/Makefile is getting prepared for manpage
109 localization.
@@ -124,6 +141,39 @@ Performance, Internal Implementation, Development Support etc.
141
142 * Cocci rules have been updated to encourage use of strbuf_addbuf().
143
144 + * "git rebase --merge" has been reimplemented by reusing the internal
145 + machinery used for "git rebase -i".
146 +
147 + * More code in "git bisect" has been rewritten in C.
148 +
149 + * Instead of going through "git-rebase--am" scriptlet to use the "am"
150 + backend, the built-in version of "git rebase" learned to drive the
151 + "am" backend directly.
152 +
153 + * The assumption to work on the single "in-core index" instance has
154 + been reduced from the library-ish part of the codebase.
155 +
156 + * The test lint learned to catch non-portable "sed" options.
157 +
158 + * "git pack-objects" learned another algorithm to compute the set of
159 + objects to send, that trades the resulting packfile off to save
160 + traversal cost to favor small pushes.
161 +
162 + * The travis CI scripts have been corrected to build Git with the
163 + compiler(s) of our choice.
164 +
165 + * "git submodule update" learned to abort early when core.worktree
166 + for the submodule is not set correctly to prevent spreading damage.
167 +
168 + * Test suite has been adjusted to run on Azure Pipeline.
169 +
170 + * Running "Documentation/doc-diff x" from anywhere other than the
171 + top-level of the working tree did not show the usage string
172 + correctly, which has been fixed.
173 +
174 + * Use of the sparse tool got easier to customize from the command
175 + line to help developers.
176 +
177
178 Fixes since v2.20
179 -----------------
@@ -265,7 +315,7 @@ Fixes since v2.20
315 * "git add --ignore-errors" did not work as advertised and instead
316 worked as an unintended synonym for "git add --renormalize", which
317 has been fixed.
268 - (merge 9e5da3d055 jk/add-ignore-errors-bit-assignment-fix later to maint).
318 + (merge e2c2a37545 jk/add-ignore-errors-bit-assignment-fix later to maint).
319
320 * On a case-insensitive filesystem, we failed to compare the part of
321 the path that is above the worktree directory in an absolute
@@ -309,6 +359,50 @@ Fixes since v2.20
359 * "git fetch" output cleanup.
360 (merge dc40b24df4 nd/fetch-compact-update later to maint).
361
362 + * "git cat-file --batch" reported a dangling symbolic link by
363 + mistake, when it wanted to report that a given name is ambiguous.
364 +
365 + * Documentation around core.crlf has been updated.
366 + (merge c9446f0504 jk/autocrlf-overrides-eol-doc later to maint).
367 +
368 + * The documentation of "git commit-tree" said that the command
369 + understands "--gpg-sign" in addition to "-S", but the command line
370 + parser did not know about the longhand, which has been corrected.
371 +
372 + * "git rebase -x $cmd" did not reject multi-line command, even though
373 + the command is incapable of handling such a command. It now is
374 + rejected upfront.
375 + (merge c762aada1a pw/rebase-x-sanity-check later to maint).
376 +
377 + * Output from "git help" was not correctly aligned, which has been
378 + fixed.
379 + (merge 6195a76da4 nd/help-align-command-desc later to maint).
380 +
381 + * The "git submodule summary" subcommand showed shortened commit
382 + object names by mechanically truncating them at 7-hexdigit, which
383 + has been improved to let "rev-parse --short" scale the length of
384 + the abbreviation with the size of the repository.
385 + (merge 0586a438f6 sh/submodule-summary-abbrev-fix later to maint).
386 +
387 + * The way the OSX build jobs updates its build environment used the
388 + "--quiet" option to "brew update" command, but it wasn't all that
389 + quiet to be useful. The use of the option has been replaced with
390 + an explicit redirection to the /dev/null (which incidentally would
391 + have worked around a breakage by recent updates to homebrew, which
392 + has fixed itself already).
393 + (merge a1ccaedd62 sg/travis-osx-brew-breakage-workaround later to maint).
394 +
395 + * "git --work-tree=$there --git-dir=$here describe --dirty" did not
396 + work correctly as it did not pay attention to the location of the
397 + worktree specified by the user by mistake, which has been
398 + corrected.
399 + (merge c801170b0c ss/describe-dirty-in-the-right-directory later to maint).
400 +
401 + * "git fetch" over protocol v2 that needs to make a second connection
402 + to backfill tags did not clear a variable that holds shallow
403 + repository information correctly, leading to an access of freed
404 + piece of memory.
405 +
406 * Code cleanup, docfix, build fix, etc.
407 (merge 89ba9a79ae hb/t0061-dot-in-path-fix later to maint).
408 (merge d173e799ea sb/diff-color-moved-config-option-fixup later to maint).
@@ -325,8 +419,11 @@ Fixes since v2.20
419 (merge 0650614982 cy/completion-typofix later to maint).
420 (merge 6881925ef5 rs/sha1-file-close-mapped-file-on-error later to maint).
421 (merge bd8d6f0def en/show-ref-doc-fix later to maint).
328 - (merge 1747125e2c cc/parial-clone-doc-typofix later to maint).
422 + (merge 1747125e2c cc/partial-clone-doc-typofix later to maint).
423 (merge e01378753d cc/fetch-error-message-fix later to maint).
424 (merge 54e8c11215 jk/remote-insteadof-cleanup later to maint).
425 (merge d609615f48 js/test-git-installed later to maint).
426 (merge ba170517be ja/doc-style-fix later to maint).
427 + (merge 86fb1c4e77 km/init-doc-typofix later to maint).
428 + (merge 5cfd4a9d10 nd/commit-doc later to maint).
429 + (merge 9fce19a431 ab/diff-tree-doc-fix later to maint).
GIT-VERSION-GEN
+1 -1
@@ -1,7 +1,7 @@
1 #!/bin/sh
2
3 GVF=GIT-VERSION-FILE
4 -DEF_VER=v2.20.GIT
4 +DEF_VER=v2.21.0-rc0
5
6 LF='
7 '