mirror of
https://github.com/git/git.git
synced 2024-10-30 22:07:53 +01:00
16a465bc01
Signed-off-by: Junio C Hamano <gitster@pobox.com>
188 lines
8.1 KiB
Text
188 lines
8.1 KiB
Text
Git 2.21 Release Notes
|
|
======================
|
|
|
|
Backward Compatibility Notes
|
|
----------------------------
|
|
|
|
|
|
Updates since v2.20
|
|
-------------------
|
|
|
|
UI, Workflows & Features
|
|
|
|
* The "http.version" configuration variable can be used with recent
|
|
enough cURL library to force the version of HTTP used to talk when
|
|
fetching and pushing.
|
|
|
|
* Small fixes and features for fast-export and fast-import, mostly on
|
|
the fast-export side.
|
|
|
|
* "git push $there $src:$dst" rejects when $dst is not a fully
|
|
qualified refname and not clear what the end user meant. The
|
|
codepath has been taught to give a clearer error message, and also
|
|
guess where the push should go by taking the type of the pushed
|
|
object into account (e.g. a tag object would want to go under
|
|
refs/tags/).
|
|
|
|
* "git checkout [<tree-ish>] path..." learned to report the number of
|
|
paths that have been checked out of the index or the tree-ish,
|
|
which gives it the same degree of noisy-ness as the case in which
|
|
the command checks out a branch.
|
|
|
|
* "git quiltimport" learned "--keep-non-patch" option.
|
|
|
|
* "git worktree remove" and "git worktree move" refused to work when
|
|
there is a submodule involved. This has been loosened to ignore
|
|
uninitialized submodules.
|
|
|
|
* "git cherry-pick -m1" was forbidden when picking a non-merge
|
|
commit, even though there _is_ parent number 1 for such a commit.
|
|
This was done to avoid mistakes back when "cherry-pick" was about
|
|
picking a single commit, but is no longer useful with "cherry-pick"
|
|
that can pick a range of commits. Now the "-m$num" option is
|
|
allowed when picking any commit, as long as $num names an existing
|
|
parent of the commit.
|
|
|
|
* Update "git multimail" from the upstream.
|
|
|
|
* "git p4" update.
|
|
|
|
* The "--format=<placeholder>" option of for-each-ref, branch and tag
|
|
learned to show a few more traits of objects that can be learned by
|
|
the object_info API.
|
|
|
|
|
|
Performance, Internal Implementation, Development Support etc.
|
|
|
|
* Code clean-up with optimization for the codepath that checks
|
|
(non-)existence of loose objects.
|
|
|
|
* More codepaths become aware of working with in-core repository
|
|
instance other than the default "the_repository".
|
|
|
|
* The "strncat()" function is now among the banned functions.
|
|
|
|
* Portability updates for the HPE NonStop platform.
|
|
|
|
* Earlier we added "-Wformat-security" to developer builds, assuming
|
|
that "-Wall" (which includes "-Wformat" which in turn is required
|
|
to use "-Wformat-security") is always in effect. This is not true
|
|
when config.mak.autogen is in use, unfortunately. This has been
|
|
fixed by unconditionally adding "-Wall" to developer builds.
|
|
|
|
* The loose object cache used to optimize existence look-up has been
|
|
updated.
|
|
|
|
* Flaky tests can now be repeatedly run under load with the
|
|
"--stress" option.
|
|
(merge fb7d1e3ac8 sg/stress-test later to maint).
|
|
|
|
|
|
Fixes since v2.20
|
|
-----------------
|
|
|
|
* Updates for corner cases in merge-recursive.
|
|
(merge cc4cb0902c en/merge-path-collision later to maint).
|
|
|
|
* "git checkout frotz" (without any double-dash) avoids ambiguity by
|
|
making sure 'frotz' cannot be interpreted as a revision and as a
|
|
path at the same time. This safety has been updated to check also
|
|
a unique remote-tracking branch 'frotz' in a remote, when dwimming
|
|
to create a local branch 'frotz' out of a remote-tracking branch
|
|
'frotz' from a remote.
|
|
(merge be4908f103 nd/checkout-dwim-fix later to maint).
|
|
|
|
* Refspecs configured with "git -c var=val clone" did not propagate
|
|
to the resulting repository, which has been corrected.
|
|
(merge 7eae4a3ac4 sg/clone-initial-fetch-configuration later to maint).
|
|
|
|
* A properly configured username/email is required under
|
|
user.useConfigOnly in order to create commits; now "git stash"
|
|
(even though it creates commit objects to represent stash entries)
|
|
command is exempt from the requirement.
|
|
(merge 3bc2111fc2 sd/stash-wo-user-name later to maint).
|
|
|
|
* The http-backend CGI process did not correctly clean up the child
|
|
processes it spawns to run upload-pack etc. when it dies itself,
|
|
which has been corrected.
|
|
(merge 02818a98d7 mk/http-backend-kill-children-before-exit later to maint).
|
|
|
|
* "git rev-list --exclude-promisor-objects" had to take an object
|
|
that does not exist locally (and is lazily available) from the
|
|
command line without barfing, but the code dereferenced NULL.
|
|
(merge 4cf67869b2 md/list-lazy-objects-fix later to maint).
|
|
|
|
* The traversal over tree objects has learned to honor
|
|
":(attr:label)" pathspec match, which has been implemented only for
|
|
enumerating paths on the filesystem.
|
|
(merge 5a0b97b34c nd/attr-pathspec-in-tree-walk later to maint).
|
|
|
|
* BSD port updates.
|
|
(merge 4e3ecbd439 cb/openbsd-allows-reading-directory later to maint).
|
|
(merge b6bdc2a0f5 cb/t5004-empty-tar-archive-fix later to maint).
|
|
(merge 82cbc8cde2 cb/test-lint-cp-a later to maint).
|
|
|
|
* Lines that begin with a certain keyword that come over the wire, as
|
|
well as lines that consist only of one of these keywords, ought to
|
|
be painted in color for easier eyeballing, but the latter was
|
|
broken ever since the feature was introduced in 2.19, which has
|
|
been corrected.
|
|
(merge 1f67290450 hn/highlight-sideband-keywords later to maint).
|
|
|
|
* "git log -G<regex>" looked for a hunk in the "git log -p" patch
|
|
output that contained a string that matches the given pattern.
|
|
Optimize this code to ignore binary files, which by default will
|
|
not show any hunk that would match any pattern (unless textconv or
|
|
the --text option is in effect, that is).
|
|
(merge e0e7cb8080 tb/log-G-binary later to maint).
|
|
|
|
* "git submodule update" ought to use a single job unless asked, but
|
|
by mistake used multiple jobs, which has been fixed.
|
|
(merge e3a9d1aca9 sb/submodule-fetchjobs-default-to-one later to maint).
|
|
|
|
* "git stripspace" should be usable outside a git repository, but
|
|
under the "-s" or "-c" mode, it didn't.
|
|
(merge 957da75802 jn/stripspace-wo-repository later to maint).
|
|
|
|
* Some of the documentation pages formatted incorrectly with
|
|
Asciidoctor, which have been fixed.
|
|
(merge b62eb1d2f4 ma/asciidoctor later to maint).
|
|
|
|
* The core.worktree setting in a submodule repository should not be
|
|
pointing at a directory when the submodule loses its working tree
|
|
(e.g. getting deinit'ed), but the code did not properly maintain
|
|
this invariant.
|
|
|
|
* With zsh, "git cmd path<TAB>" was completed to "git cmd path name"
|
|
when the completed path has a special character like SP in it,
|
|
without any attempt to keep "path name" a single filename. This
|
|
has been fixed to complete it to "git cmd path\ name" just like
|
|
Bash completion does.
|
|
|
|
* The test suite tried to see if it is run under bash, but the check
|
|
itself failed under some other implementations of shell (notably
|
|
under NetBSD). This has been corrected.
|
|
(merge 54ea72f09c sg/test-bash-version-fix later to maint).
|
|
|
|
* "git gc" and "git repack" did not close the open packfiles that
|
|
they found unneeded before removing them, which didn't work on a
|
|
platform incapable of removing an open file. This has been
|
|
corrected.
|
|
(merge 5bdece0d70 js/gc-repack-close-before-remove later to maint).
|
|
|
|
* Code cleanup, docfix, build fix, etc.
|
|
(merge 89ba9a79ae hb/t0061-dot-in-path-fix later to maint).
|
|
(merge d173e799ea sb/diff-color-moved-config-option-fixup later to maint).
|
|
(merge a8f5a59067 en/directory-renames-nothanks-doc-update later to maint).
|
|
(merge ec36c42a63 nd/indentation-fix later to maint).
|
|
(merge f116ee21cd do/gitweb-strict-export-conf-doc later to maint).
|
|
(merge 112ea42663 fd/gitweb-snapshot-conf-doc-fix later to maint).
|
|
(merge 1cadad6f65 tb/use-common-win32-pathfuncs-on-cygwin later to maint).
|
|
(merge 57e9dcaa65 km/rebase-doc-typofix later to maint).
|
|
(merge b8b4cb27e6 ds/gc-doc-typofix later to maint).
|
|
(merge 3b3357626e nd/style-opening-brace later to maint).
|
|
(merge b4583d5595 es/doc-worktree-guessremote-config later to maint).
|
|
(merge cce99cd8c6 ds/commit-graph-assert-missing-parents 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 bd8d6f0def en/show-ref-doc-fix later to maint).
|