]> git.ipfire.org Git - thirdparty/git.git/commitdiff
Sync with Git 2.37.2
authorJunio C Hamano <gitster@pobox.com>
Thu, 11 Aug 2022 04:54:33 +0000 (21:54 -0700)
committerJunio C Hamano <gitster@pobox.com>
Thu, 11 Aug 2022 04:57:59 +0000 (21:57 -0700)
1  2 
Documentation/RelNotes/2.38.0.txt

index c3de8e2cd1617755e994df1430297cad7631d32b,0000000000000000000000000000000000000000..9a435dc7c0f02c828a10261649a5ff5a43b47f26
mode 100644,000000..100644
--- /dev/null
@@@ -1,239 -1,0 +1,228 @@@
-    (merge e0ad13977a jc/resolve-undo later to maint).
 +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.
 +
 + * "git ls-files" learns the "--format" option to tweak its output.
 +
 + * "git cat-file" learned an option to use the mailmap when showing
 +   commit and tag objects.
 +
 + * When "git merge" finds that it cannot perform a merge, it should
 +   restore the working tree to the state before the command was
 +   initiated, but in some corner cases it didn't.
 +
 + * Operating modes like "--batch" of "git cat-file" command learned to
 +   take NUL-terminated input, instead of one-item-per-line.
 +
 +
 +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.
 +
 + * The codepath to write multi-pack index has been taught to release a
 +   large chunk of memory that holds an array of objects in the packs,
 +   as soon as it is done with the array, to reduce memory consumption.
 +
 + * Add a level of redirection to array allocation API in xdiff part,
 +   to make it easier to share with the libgit2 project.
 +
 + * "git fetch" client logs the partial clone filter used in the trace2
 +   output.
 +
 +
 +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 cb88b37cb9 hx/lookup-commit-in-graph-fix later to maint).
 +
 + * A corner case bug where lazily fetching objects from a promisor
 +   remote resulted in infinite recursion has been corrected.
-    (merge 4d35f74421 mb/p4-utf16-crlf 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.
 +
 + * 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.
 +
 + * 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.
 +
 + * Avoid "white/black-list" in documentation and code comments.
 +
 + * Workaround for a compiler warning against use of die() in
 +   osx-keychain (in contrib/).
 +
 + * Workaround for a false positive compiler warning.
 +
 + * "git p4" working on UTF-16 files on Windows did not implement
 +   CRLF-to-LF conversion correctly, which has been corrected.
-    (merge d205483695 kk/p4-client-name-encoding-fix later to maint).
 +
 + * "git p4" did not handle non-ASCII client name well, which has been
 +   corrected.
-    (merge cc391fc886 cl/rerere-train-with-no-sign later to maint).
 +
 + * "rerere-train" script (in contrib/) used to honor commit.gpgSign
 +   while recreating the throw-away merges.
-    (merge 611c7785e8 mt/checkout-count-fix later to maint).
 +
 + * "git checkout" miscounted the paths it updated, which has been
 +   corrected.
-    (merge 4447d4129d tk/untracked-cache-with-uall later to maint).
 +
 + * Fix for a bug that makes write-tree to fail to write out a
 +   non-existent index as a tree, introduced in 2.37.
-    (merge 9550f6c16a tb/commit-graph-genv2-upgrade-fix later to maint).
 +
 + * There was a bug in the codepath to upgrade generation information
 +   in commit-graph from v1 to v2 format, which has been corrected.
-    (merge a700395eaf ma/t4200-update later to maint).
-    (merge ce5f07983d mt/pkt-line-comment-tweak later to maint).
-    (merge 1e11fab59c jc/string-list-cleanup later to maint).
 +
 + * Gitweb had legacy URL shortener that is specific to the way
 +   projects hosted on kernel.org used to (but no longer) work, which
 +   has been removed.
 +   (merge 75707da4fa jr/gitweb-title-shortening later to maint).
 +
 + * Fix build procedure for Windows that uses CMake so that it can pick
 +   up the shell interpreter from local installation location.
 +   (merge 476e54b1c6 ca/unignore-local-installation-on-windows later to maint).
 +
 + * Conditionally allow building Python interpreter on Windows
 +   (merge 2f0623aaa7 js/mingw-with-python later to maint).
 +
 + * Fix to lstat() emulation on Windows.
 +   (merge 82ba1191ff js/lstat-mingw-enotdir-fix later to maint).
 +
 + * Older gcc with -Wall complains about the universal zero initializer
 +   "struct s = { 0 };" idiom, which makes developers' lives
 +   inconvenient (as -Werror is enabled by DEVELOPER=YesPlease).  The
 +   build procedure has been tweaked to help these compilers.
 +   (merge b53a5f2416 jk/struct-zero-init-with-older-gcc later to maint).
 +
 + * Plug memory leaks in the failure code path in the "merge-ort" merge
 +   strategy backend.
 +   (merge 1250dff32b js/ort-clean-up-after-failed-merge later to maint).
 +
 + * Other code cleanup, docfix, build fix, etc.