@ -4,6 +4,14 @@ Git 2.21 Release Notes
|
|||||||
Backward Compatibility Notes
|
Backward Compatibility Notes
|
||||||
----------------------------
|
----------------------------
|
||||||
|
|
||||||
|
* Historically, the "-m" (mainline) option can only be used for "git
|
||||||
|
cherry-pick" and "git revert" when working with a merge commit.
|
||||||
|
This version of Git no longer warns or errors out when working with
|
||||||
|
a single-parent commit, as long as the argument to the "-m" option
|
||||||
|
is 1 (i.e. it has only one parent, and the request is to pick or
|
||||||
|
revert relative to that first parent). Scripts that relied on the
|
||||||
|
behaviour may get broken with this change.
|
||||||
|
|
||||||
|
|
||||||
Updates since v2.20
|
Updates since v2.20
|
||||||
-------------------
|
-------------------
|
||||||
@ -11,11 +19,11 @@ Updates since v2.20
|
|||||||
UI, Workflows & Features
|
UI, Workflows & Features
|
||||||
|
|
||||||
* The "http.version" configuration variable can be used with recent
|
* The "http.version" configuration variable can be used with recent
|
||||||
enough cURL library to force the version of HTTP used to talk when
|
enough versions of cURL library to force the version of HTTP used
|
||||||
fetching and pushing.
|
to talk when fetching and pushing.
|
||||||
|
|
||||||
* Small fixes and features for fast-export and fast-import, mostly on
|
* Small fixes and features for fast-export and fast-import, mostly on
|
||||||
the fast-export side.
|
the fast-export side has been made.
|
||||||
|
|
||||||
* "git push $there $src:$dst" rejects when $dst is not a fully
|
* "git push $there $src:$dst" rejects when $dst is not a fully
|
||||||
qualified refname and not clear what the end user meant. The
|
qualified refname and not clear what the end user meant. The
|
||||||
@ -62,13 +70,23 @@ UI, Workflows & Features
|
|||||||
* "git instaweb" learned to drive http.server that comes with
|
* "git instaweb" learned to drive http.server that comes with
|
||||||
"batteries included" Python installation (both Python2 & 3).
|
"batteries included" Python installation (both Python2 & 3).
|
||||||
|
|
||||||
|
* A new encoding UTF-16LE-BOM has been invented to force encoding to
|
||||||
|
UTF-16 with BOM in little endian byte order, which cannot be directly
|
||||||
|
generated by using iconv.
|
||||||
|
|
||||||
|
* A new date format "--date=human" that morphs its output depending
|
||||||
|
on how far the time is from the current time has been introduced.
|
||||||
|
"--date=auto" can be used to use this new format when the output is
|
||||||
|
going to the pager or to the terminal and otherwise the default
|
||||||
|
format.
|
||||||
|
|
||||||
|
|
||||||
Performance, Internal Implementation, Development Support etc.
|
Performance, Internal Implementation, Development Support etc.
|
||||||
|
|
||||||
* Code clean-up with optimization for the codepath that checks
|
* Code clean-up with optimization for the codepath that checks
|
||||||
(non-)existence of loose objects.
|
(non-)existence of loose objects.
|
||||||
|
|
||||||
* More codepaths become aware of working with in-core repository
|
* More codepaths have become aware of working with in-core repository
|
||||||
instance other than the default "the_repository".
|
instance other than the default "the_repository".
|
||||||
|
|
||||||
* The "strncat()" function is now among the banned functions.
|
* The "strncat()" function is now among the banned functions.
|
||||||
@ -86,7 +104,6 @@ Performance, Internal Implementation, Development Support etc.
|
|||||||
|
|
||||||
* Flaky tests can now be repeatedly run under load with the
|
* Flaky tests can now be repeatedly run under load with the
|
||||||
"--stress" option.
|
"--stress" option.
|
||||||
(merge fb7d1e3ac8 sg/stress-test later to maint).
|
|
||||||
|
|
||||||
* Documentation/Makefile is getting prepared for manpage
|
* Documentation/Makefile is getting prepared for manpage
|
||||||
localization.
|
localization.
|
||||||
@ -124,6 +141,39 @@ Performance, Internal Implementation, Development Support etc.
|
|||||||
|
|
||||||
* Cocci rules have been updated to encourage use of strbuf_addbuf().
|
* Cocci rules have been updated to encourage use of strbuf_addbuf().
|
||||||
|
|
||||||
|
* "git rebase --merge" has been reimplemented by reusing the internal
|
||||||
|
machinery used for "git rebase -i".
|
||||||
|
|
||||||
|
* More code in "git bisect" has been rewritten in C.
|
||||||
|
|
||||||
|
* Instead of going through "git-rebase--am" scriptlet to use the "am"
|
||||||
|
backend, the built-in version of "git rebase" learned to drive the
|
||||||
|
"am" backend directly.
|
||||||
|
|
||||||
|
* The assumption to work on the single "in-core index" instance has
|
||||||
|
been reduced from the library-ish part of the codebase.
|
||||||
|
|
||||||
|
* The test lint learned to catch non-portable "sed" options.
|
||||||
|
|
||||||
|
* "git pack-objects" learned another algorithm to compute the set of
|
||||||
|
objects to send, that trades the resulting packfile off to save
|
||||||
|
traversal cost to favor small pushes.
|
||||||
|
|
||||||
|
* The travis CI scripts have been corrected to build Git with the
|
||||||
|
compiler(s) of our choice.
|
||||||
|
|
||||||
|
* "git submodule update" learned to abort early when core.worktree
|
||||||
|
for the submodule is not set correctly to prevent spreading damage.
|
||||||
|
|
||||||
|
* Test suite has been adjusted to run on Azure Pipeline.
|
||||||
|
|
||||||
|
* Running "Documentation/doc-diff x" from anywhere other than the
|
||||||
|
top-level of the working tree did not show the usage string
|
||||||
|
correctly, which has been fixed.
|
||||||
|
|
||||||
|
* Use of the sparse tool got easier to customize from the command
|
||||||
|
line to help developers.
|
||||||
|
|
||||||
|
|
||||||
Fixes since v2.20
|
Fixes since v2.20
|
||||||
-----------------
|
-----------------
|
||||||
@ -265,7 +315,7 @@ Fixes since v2.20
|
|||||||
* "git add --ignore-errors" did not work as advertised and instead
|
* "git add --ignore-errors" did not work as advertised and instead
|
||||||
worked as an unintended synonym for "git add --renormalize", which
|
worked as an unintended synonym for "git add --renormalize", which
|
||||||
has been fixed.
|
has been fixed.
|
||||||
(merge 9e5da3d055 jk/add-ignore-errors-bit-assignment-fix later to maint).
|
(merge e2c2a37545 jk/add-ignore-errors-bit-assignment-fix later to maint).
|
||||||
|
|
||||||
* On a case-insensitive filesystem, we failed to compare the part of
|
* On a case-insensitive filesystem, we failed to compare the part of
|
||||||
the path that is above the worktree directory in an absolute
|
the path that is above the worktree directory in an absolute
|
||||||
@ -309,6 +359,50 @@ Fixes since v2.20
|
|||||||
* "git fetch" output cleanup.
|
* "git fetch" output cleanup.
|
||||||
(merge dc40b24df4 nd/fetch-compact-update later to maint).
|
(merge dc40b24df4 nd/fetch-compact-update later to maint).
|
||||||
|
|
||||||
|
* "git cat-file --batch" reported a dangling symbolic link by
|
||||||
|
mistake, when it wanted to report that a given name is ambiguous.
|
||||||
|
|
||||||
|
* Documentation around core.crlf has been updated.
|
||||||
|
(merge c9446f0504 jk/autocrlf-overrides-eol-doc later to maint).
|
||||||
|
|
||||||
|
* The documentation of "git commit-tree" said that the command
|
||||||
|
understands "--gpg-sign" in addition to "-S", but the command line
|
||||||
|
parser did not know about the longhand, which has been corrected.
|
||||||
|
|
||||||
|
* "git rebase -x $cmd" did not reject multi-line command, even though
|
||||||
|
the command is incapable of handling such a command. It now is
|
||||||
|
rejected upfront.
|
||||||
|
(merge c762aada1a pw/rebase-x-sanity-check later to maint).
|
||||||
|
|
||||||
|
* Output from "git help" was not correctly aligned, which has been
|
||||||
|
fixed.
|
||||||
|
(merge 6195a76da4 nd/help-align-command-desc later to maint).
|
||||||
|
|
||||||
|
* The "git submodule summary" subcommand showed shortened commit
|
||||||
|
object names by mechanically truncating them at 7-hexdigit, which
|
||||||
|
has been improved to let "rev-parse --short" scale the length of
|
||||||
|
the abbreviation with the size of the repository.
|
||||||
|
(merge 0586a438f6 sh/submodule-summary-abbrev-fix later to maint).
|
||||||
|
|
||||||
|
* The way the OSX build jobs updates its build environment used the
|
||||||
|
"--quiet" option to "brew update" command, but it wasn't all that
|
||||||
|
quiet to be useful. The use of the option has been replaced with
|
||||||
|
an explicit redirection to the /dev/null (which incidentally would
|
||||||
|
have worked around a breakage by recent updates to homebrew, which
|
||||||
|
has fixed itself already).
|
||||||
|
(merge a1ccaedd62 sg/travis-osx-brew-breakage-workaround later to maint).
|
||||||
|
|
||||||
|
* "git --work-tree=$there --git-dir=$here describe --dirty" did not
|
||||||
|
work correctly as it did not pay attention to the location of the
|
||||||
|
worktree specified by the user by mistake, which has been
|
||||||
|
corrected.
|
||||||
|
(merge c801170b0c ss/describe-dirty-in-the-right-directory later to maint).
|
||||||
|
|
||||||
|
* "git fetch" over protocol v2 that needs to make a second connection
|
||||||
|
to backfill tags did not clear a variable that holds shallow
|
||||||
|
repository information correctly, leading to an access of freed
|
||||||
|
piece of memory.
|
||||||
|
|
||||||
* Code cleanup, docfix, build fix, etc.
|
* Code cleanup, docfix, build fix, etc.
|
||||||
(merge 89ba9a79ae hb/t0061-dot-in-path-fix later to maint).
|
(merge 89ba9a79ae hb/t0061-dot-in-path-fix later to maint).
|
||||||
(merge d173e799ea sb/diff-color-moved-config-option-fixup later to maint).
|
(merge d173e799ea sb/diff-color-moved-config-option-fixup later to maint).
|
||||||
@ -325,8 +419,11 @@ Fixes since v2.20
|
|||||||
(merge 0650614982 cy/completion-typofix later to maint).
|
(merge 0650614982 cy/completion-typofix later to maint).
|
||||||
(merge 6881925ef5 rs/sha1-file-close-mapped-file-on-error later to maint).
|
(merge 6881925ef5 rs/sha1-file-close-mapped-file-on-error later to maint).
|
||||||
(merge bd8d6f0def en/show-ref-doc-fix later to maint).
|
(merge bd8d6f0def en/show-ref-doc-fix later to maint).
|
||||||
(merge 1747125e2c cc/parial-clone-doc-typofix later to maint).
|
(merge 1747125e2c cc/partial-clone-doc-typofix later to maint).
|
||||||
(merge e01378753d cc/fetch-error-message-fix later to maint).
|
(merge e01378753d cc/fetch-error-message-fix later to maint).
|
||||||
(merge 54e8c11215 jk/remote-insteadof-cleanup later to maint).
|
(merge 54e8c11215 jk/remote-insteadof-cleanup later to maint).
|
||||||
(merge d609615f48 js/test-git-installed later to maint).
|
(merge d609615f48 js/test-git-installed later to maint).
|
||||||
(merge ba170517be ja/doc-style-fix later to maint).
|
(merge ba170517be ja/doc-style-fix later to maint).
|
||||||
|
(merge 86fb1c4e77 km/init-doc-typofix later to maint).
|
||||||
|
(merge 5cfd4a9d10 nd/commit-doc later to maint).
|
||||||
|
(merge 9fce19a431 ab/diff-tree-doc-fix later to maint).
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
GVF=GIT-VERSION-FILE
|
GVF=GIT-VERSION-FILE
|
||||||
DEF_VER=v2.20.GIT
|
DEF_VER=v2.21.0-rc0
|
||||||
|
|
||||||
LF='
|
LF='
|
||||||
'
|
'
|
||||||
|
Reference in New Issue
Block a user