350dc9f0e8
Signed-off-by: Junio C Hamano <gitster@pobox.com>
192 lines
7.4 KiB
Plaintext
192 lines
7.4 KiB
Plaintext
Git v2.38 Release Notes
|
|
=======================
|
|
|
|
UI, Workflows & Features
|
|
|
|
* "git remote show [-n] frotz" now pays attention to negative
|
|
pathspec.
|
|
|
|
* "git push" sometimes perform poorly when reachability bitmaps are
|
|
used, even in a repository where other operations are helped by
|
|
bitmaps. The push.useBitmaps configuration variable is introduced
|
|
to allow disabling use of reachability bitmaps only for "git push".
|
|
|
|
* "git grep -m<max-hits>" is a way to limit the hits shown per file.
|
|
|
|
* "git merge-tree" learned a new mode where it takes two commits and
|
|
computes a tree that would result in the merge commit, if the
|
|
histories leading to these two commits were to be merged.
|
|
|
|
* "git mv A B" in a sparsely populated working tree can be asked to
|
|
move a path between directories that are "in cone" (i.e. expected
|
|
to be materialized in the working tree) and "out of cone"
|
|
(i.e. expected to be hidden). The handling of such cases has been
|
|
improved.
|
|
|
|
* Earlier, HTTP transport clients learned to tell the server side
|
|
what locale they are in by sending Accept-Language HTTP header, but
|
|
this was done only for some requests but not others.
|
|
|
|
* Introduce a discovery.barerepository configuration variable that
|
|
allows users to forbid discovery of bare repositories.
|
|
|
|
* Various messages that come from the pack-bitmap codepaths have been
|
|
tweaked.
|
|
|
|
* "git rebase -i" learns to update branches whose tip appear in the
|
|
rebased range with "--update-refs" option.
|
|
|
|
|
|
Performance, Internal Implementation, Development Support etc.
|
|
|
|
* Collection of what is referenced by objects in promisor packs have
|
|
been optimized to inspect these objects in the in-pack order.
|
|
|
|
* Introduce a helper to see if a branch is already being worked on
|
|
(hence should not be newly checked out in a working tree), which
|
|
performs much better than the existing find_shared_symref() to
|
|
replace many uses of the latter.
|
|
|
|
* Teach "git archive" to (optionally and then by default) avoid
|
|
spawning an external "gzip" process when creating ".tar.gz" (and
|
|
".tgz") archives.
|
|
|
|
* Allow large objects read from a packstream to be streamed into a
|
|
loose object file straight, without having to keep it in-core as a
|
|
whole.
|
|
|
|
* Further preparation to turn git-submodule.sh into a builtin
|
|
continues.
|
|
|
|
* Apply Coccinelle rule to turn raw memmove() into MOVE_ARRAY() cpp
|
|
macro, which would improve maintainability and readability.
|
|
|
|
* Teach "make all" to build gitweb as well.
|
|
|
|
* Tweak tests so that they still work when the "git init" template
|
|
did not create .git/info directory.
|
|
|
|
* Add Coccinelle rules to detect the pattern of initializing and then
|
|
finalizing a structure without using it in between at all, which
|
|
happens after code restructuring and the compilers fail to
|
|
recognize as an unused variable.
|
|
|
|
* The code to convert between GPG trust level strings and internal
|
|
constants we use to represent them have been cleaned up.
|
|
|
|
* Support for libnettle as SHA256 implementation has been added.
|
|
|
|
* The way "git multi-pack" uses parse-options API has been improved.
|
|
|
|
* A coccinelle rule (in contrib/) to encourage use of COPY_ARRAY
|
|
macro has been improved.
|
|
|
|
* API tweak to make it easier to run fuzz testing on commit-graph parser.
|
|
|
|
* Omit fsync-related trace2 entries when their values are all zero.
|
|
|
|
|
|
Fixes since v2.37
|
|
-----------------
|
|
|
|
* Rewrite of "git add -i" in C that appeared in Git 2.25 didn't
|
|
correctly record a removed file to the index, which was fixed.
|
|
|
|
* Certain diff options are currently ignored when combined-diff is
|
|
shown; mark them as incompatible with the feature.
|
|
|
|
* Adjust technical/bitmap-format to be formatted by AsciiDoc, and
|
|
add some missing information to the documentation.
|
|
|
|
* Fixes for tests when the source directory has unusual characters in
|
|
its path, e.g. whitespaces, double-quotes, etc.
|
|
|
|
* "git mktree --missing" lazily fetched objects that are missing from
|
|
the local object store, which was totally unnecessary for the purpose
|
|
of creating the tree object(s) from its input.
|
|
|
|
* Give _() markings to fatal/warning/usage: labels that are shown in
|
|
front of these messages.
|
|
|
|
* References to commands-to-be-typed-literally in "git rebase"
|
|
documentation mark-up have been corrected.
|
|
|
|
* In a non-bare repository, the behavior of Git when the
|
|
core.worktree configuration variable points at a directory that has
|
|
a repository as its subdirectory, regressed in Git 2.27 days.
|
|
|
|
* Recent update to vimdiff layout code has been made more robust
|
|
against different end-user vim settings.
|
|
|
|
* Plug various memory leaks.
|
|
(merge ece3974ba6 ab/leakfix later to maint).
|
|
|
|
* Plug various memory leaks in test-tool commands.
|
|
(merge f40a693450 ab/test-tool-leakfix later to maint).
|
|
|
|
* Fixes a long-standing corner case bug around directory renames in
|
|
the merge-ort strategy.
|
|
|
|
* The resolve-undo information in the index was not protected against
|
|
GC, which has been corrected.
|
|
(merge e0ad13977a jc/resolve-undo later to maint).
|
|
|
|
* A corner case bug where lazily fetching objects from a promisor
|
|
remote resulted in infinite recursion has been corrected.
|
|
(merge cb88b37cb9 hx/lookup-commit-in-graph-fix later to maint).
|
|
|
|
* "git clone" from a repository with some ref whose HEAD is unborn
|
|
did not set the HEAD in the resulting repository correctly, which
|
|
has been corrected.
|
|
(merge daf7898abb jk/clone-unborn-confusion later to maint).
|
|
|
|
* An earlier attempt to plug leaks placed a clean-up label to jump to
|
|
at a bogus place, which as been corrected.
|
|
|
|
* Variable quoting fix in the vimdiff driver of "git mergetool"
|
|
|
|
* "git shortlog -n" relied on the underlying qsort() to be stable,
|
|
which shouldn't have. Fixed.
|
|
|
|
* A fix for a regression in test framework.
|
|
|
|
* mkstemp() emulation on Windows has been improved.
|
|
(merge ae25974de3 rs/mingw-tighten-mkstemp later to maint).
|
|
|
|
* Add missing documentation for "include" and "includeIf" features in
|
|
"git config" file format, which incidentally teaches the command
|
|
line completion to include them in its offerings.
|
|
(merge 07aed58017 mb/config-document-include later to maint).
|
|
|
|
* Avoid "white/black-list" in documentation and code comments.
|
|
(merge f5adaa5cc3 ds/doc-wo-whitelist later to maint).
|
|
|
|
* Workaround for a compiler warning against use of die() in
|
|
osx-keychain (in contrib/).
|
|
(merge f2fc531585 ld/osx-keychain-usage-fix later to maint).
|
|
|
|
* Workaround for a false positive compiler warning.
|
|
(merge b4f52f09ae ds/win-syslog-compiler-fix later to maint).
|
|
|
|
* "git p4" working on UTF-16 files on Windows did not implement
|
|
CRLF-to-LF conversion correctly, which has been corrected.
|
|
(merge 4d35f74421 mb/p4-utf16-crlf later to maint).
|
|
|
|
* "git p4" did not handle non-ASCII client name well, which has been
|
|
corrected.
|
|
(merge d205483695 kk/p4-client-name-encoding-fix later to maint).
|
|
|
|
* "rerere-train" script (in contrib/) used to honor commit.gpgSign
|
|
while recreating the throw-away merges.
|
|
(merge cc391fc886 cl/rerere-train-with-no-sign later to maint).
|
|
|
|
* "git checkout" miscounted the paths it updated, which has been
|
|
corrected.
|
|
(merge 611c7785e8 mt/checkout-count-fix later to maint).
|
|
|
|
* Other code cleanup, docfix, build fix, etc.
|
|
(merge a700395eaf ma/t4200-update later to maint).
|
|
(merge ae436f283c ma/sparse-checkout-cone-doc-fix later to maint).
|
|
(merge a10f6e2bda sg/index-format-doc-update later to maint).
|
|
(merge ce5f07983d mt/pkt-line-comment-tweak later to maint).
|