89b43f80a5
Signed-off-by: Junio C Hamano <gitster@pobox.com>
189 lines
7.3 KiB
Plaintext
189 lines
7.3 KiB
Plaintext
Git 2.32 Release Notes
|
|
======================
|
|
|
|
Backward compatibility notes
|
|
----------------------------
|
|
|
|
* ".gitattributes", ".gitignore", and ".mailmap" files that are
|
|
symbolic links are ignored.
|
|
|
|
|
|
Updates since v2.31
|
|
-------------------
|
|
|
|
UI, Workflows & Features
|
|
|
|
* It does not make sense to make ".gitattributes", ".gitignore" and
|
|
".mailmap" symlinks, as they are supposed to be usable from the
|
|
object store (think: bare repositories where HEAD:.mailmap etc. are
|
|
used). When these files are symbolic links, we used to read the
|
|
contents of the files pointed by them by mistake, which has been
|
|
corrected.
|
|
|
|
* "git stash show" learned to optionally show untracked part of the
|
|
stash.
|
|
|
|
* "git log --format='...'" learned "%(describe)" placeholder.
|
|
|
|
* "git repack" so far has been only capable of repacking everything
|
|
under the sun into a single pack (or split by size). A cleverer
|
|
strategy to reduce the cost of repacking a repository has been
|
|
introduced.
|
|
|
|
* The http codepath learned to let the credential layer to cache the
|
|
password used to unlock a certificate that has successfully been
|
|
used.
|
|
|
|
* "git commit --fixup=<commit>", which was to tweak the changes made
|
|
to the contents while keeping the original log message intact,
|
|
learned "--fixup=(amend|reword):<commit>", that can be used to
|
|
tweak both the message and the contents, and only the message,
|
|
respectively.
|
|
|
|
* When accessing a server with a URL like https://user:pass@site/, we
|
|
did not to fall back to the basic authentication with the
|
|
credential material embedded in the URL after the "Negotiate"
|
|
authentication failed. Now we do.
|
|
|
|
* "git send-email" learned to honor the core.hooksPath configuration.
|
|
|
|
* "git format-patch -v<n>" learned to allow a reroll count that is
|
|
not an integer.
|
|
|
|
* "git commit" learned "--trailer <key>[=<value>]" option; together
|
|
with the interpret-trailers command, this will make it easier to
|
|
support custom trailers.
|
|
|
|
* "git clone --reject-shallow" option fails the clone as soon as we
|
|
notice that we are cloning from a shallow repository.
|
|
|
|
|
|
|
|
Performance, Internal Implementation, Development Support etc.
|
|
|
|
* Rename detection rework continues.
|
|
|
|
* GIT_TEST_FAIL_PREREQS is a mechanism to skip test pieces with
|
|
prerequisites to catch broken tests that depend on the side effects
|
|
of optional pieces, but did not work at all when negative
|
|
prerequisites were involved.
|
|
(merge 27d578d904 jk/fail-prereq-testfix later to maint).
|
|
|
|
* "git diff-index" codepath has been taught to trust fsmonitor status
|
|
to reduce number of lstat() calls.
|
|
(merge 7e5aa13d2c nk/diff-index-fsmonitor later to maint).
|
|
|
|
* Reorganize Makefile to allow building git.o and other essential
|
|
objects without extra stuff needed only for testing.
|
|
|
|
* Preparatory API changes for parallel checkout.
|
|
|
|
* A simple IPC interface gets introduced to build services like
|
|
fsmonitor on top.
|
|
|
|
* Fsck API clean-up.
|
|
|
|
* SECURITY.md that is facing individual contributors and end users
|
|
has been introduced. Also a procedure to follow when preparing
|
|
embargoed releases has been spelled out.
|
|
(merge 09420b7648 js/security-md later to maint).
|
|
|
|
* Optimize "rev-list --use-bitmap-index --objects" corner case that
|
|
uses negative tags as the stopping points.
|
|
|
|
* CMake update for vsbuild.
|
|
|
|
* An on-disk reverse-index to map the in-pack location of an object
|
|
back to its object name across multiple packfiles is introduced.
|
|
|
|
* Generate [ec]tags under $(QUIET_GEN).
|
|
|
|
|
|
Fixes since v2.31
|
|
-----------------
|
|
|
|
* The fsmonitor interface read from its input without making sure
|
|
there is something to read from. This bug is new in 2.31
|
|
timeframe.
|
|
|
|
* The data structure used by fsmonitor interface was not properly
|
|
duplicated during an in-core merge, leading to use-after-free etc.
|
|
|
|
* "git bisect" reimplemented more in C during 2.30 timeframe did not
|
|
take an annotated tag as a good/bad endpoint well. This regression
|
|
has been corrected.
|
|
|
|
* Fix macros that can silently inject unintended null-statements.
|
|
|
|
* CALLOC_ARRAY() macro replaces many uses of xcalloc().
|
|
|
|
* Update insn in Makefile comments to run fuzz-all target.
|
|
|
|
* Fix a corner case bug in "git mv" on case insensitive systems,
|
|
which was introduced in 2.29 timeframe.
|
|
|
|
* We had a code to diagnose and die cleanly when a required
|
|
clean/smudge filter is missing, but an assert before that
|
|
unnecessarily fired, hiding the end-user facing die() message.
|
|
(merge 6fab35f748 mt/cleanly-die-upon-missing-required-filter later to maint).
|
|
|
|
* Update C code that sets a few configuration variables when a remote
|
|
is configured so that it spells configuration variable names in the
|
|
canonical camelCase.
|
|
(merge 0f1da600e6 ab/remote-write-config-in-camel-case later to maint).
|
|
|
|
* A new configuration variable has been introduced to allow choosing
|
|
which version of the generation number gets used in the
|
|
commit-graph file.
|
|
(merge 702110aac6 ds/commit-graph-generation-config later to maint).
|
|
|
|
* Perf test update to work better in secondary worktrees.
|
|
(merge 36e834abc1 jk/perf-in-worktrees later to maint).
|
|
|
|
* Updates to memory allocation code around the use of pcre2 library.
|
|
(merge c1760352e0 ab/grep-pcre2-allocfix later to maint).
|
|
|
|
* "git -c core.bare=false clone --bare ..." would have segfaulted,
|
|
which has been corrected.
|
|
(merge 75555676ad bc/clone-bare-with-conflicting-config later to maint).
|
|
|
|
* When "git checkout" removes a path that does not exist in the
|
|
commit it is checking out, it wasn't careful enough not to follow
|
|
symbolic links, which has been corrected.
|
|
(merge fab78a0c3d mt/checkout-remove-nofollow later to maint).
|
|
|
|
* A few option description strings started with capital letters,
|
|
which were corrected.
|
|
(merge 5ee90326dc cc/downcase-opt-help later to maint).
|
|
|
|
* Plug or annotate remaining leaks that trigger while running the
|
|
very basic set of tests.
|
|
(merge 68ffe095a2 ah/plugleaks later to maint).
|
|
|
|
* The hashwrite() API uses a buffering mechanism to avoid calling
|
|
write(2) too frequently. This logic has been refactored to be
|
|
easier to understand.
|
|
(merge ddaf1f62e3 ds/clarify-hashwrite later to maint).
|
|
|
|
* "git cherry-pick/revert" with or without "--[no-]edit" did not spawn
|
|
the editor as expected (e.g. "revert --no-edit" after a conflict
|
|
still asked to edit the message), which has been corrected.
|
|
(merge 39edfd5cbc en/sequencer-edit-upon-conflict-fix later to maint).
|
|
|
|
* "git daemon" has been tightened against systems that take backslash
|
|
as directory separator.
|
|
(merge 9a7f1ce8b7 rs/daemon-sanitize-dir-sep later to maint).
|
|
|
|
* Other code cleanup, docfix, build fix, etc.
|
|
(merge f451960708 dl/cat-file-doc-cleanup later to maint).
|
|
(merge 12604a8d0c sv/t9801-test-path-is-file-cleanup later to maint).
|
|
(merge ea7e63921c jr/doc-ignore-typofix later to maint).
|
|
(merge 23c781f173 ps/update-ref-trans-hook-doc later to maint).
|
|
(merge 42efa1231a jk/filter-branch-sha256 later to maint).
|
|
(merge 4c8e3dca6e tb/push-simple-uses-branch-merge-config later to maint).
|
|
(merge 6534d436a2 bs/asciidoctor-installation-hints later to maint).
|
|
(merge 47957485b3 ab/read-tree later to maint).
|
|
(merge 2be927f3d1 ab/diff-no-index-tests later to maint).
|
|
(merge 76593c09bb ab/detox-gettext-tests later to maint).
|
|
(merge 28e29ee38b jc/doc-format-patch-clarify later to maint).
|