mirror of
https://github.com/git/git.git
synced 2025-12-23 12:14:22 +01:00
217 lines
8.9 KiB
Plaintext
217 lines
8.9 KiB
Plaintext
Git v2.53 Release Notes
|
|
=======================
|
|
|
|
UI, Workflows & Features
|
|
------------------------
|
|
|
|
* "git maintenance" command learned "is-needed" subcommand to tell if
|
|
it is necessary to perform various maintenance tasks.
|
|
|
|
* "git replay" (experimental) learned to perform ref updates itself
|
|
in a transaction by default, instead of emitting where each refs
|
|
should point at and leaving the actual update to another command.
|
|
|
|
* "git blame" learns "--diff-algorithm=<algo>" option.
|
|
|
|
* "git repo info" learned "--all" option.
|
|
|
|
* Both "git apply" and "git diff" learn a new whitespace error class,
|
|
"incomplete-line".
|
|
|
|
* Add a new manual that describes the data model.
|
|
|
|
* "git fast-import" learns "--strip-if-invalid" option to drop
|
|
invalid cryptographic signature from objects.
|
|
|
|
* The use of "revision" (a connected set of commits) has been
|
|
clarified in the "git replay" documentation.
|
|
|
|
* A help message from "git branch" now mentions "git help" instead of
|
|
"man" when suggesting to read some documentation.
|
|
|
|
* "git repo struct" learned to take "-z" as a synonym to "--format=nul".
|
|
|
|
|
|
Performance, Internal Implementation, Development Support etc.
|
|
--------------------------------------------------------------
|
|
|
|
* The list of packfiles used in a running Git process is moved from
|
|
the packed_git structure into the packfile store.
|
|
|
|
* Some ref backend storage can hold not just the object name of an
|
|
annotated tag, but the object name of the object the tag points at.
|
|
The code to handle this information has been streamlined.
|
|
|
|
* As "git diff --quiet" only cares about the existence of any
|
|
changes, disable rename/copy detection to skip more expensive
|
|
processing whose result will be discarded anyway.
|
|
|
|
* A part of code paths that deals with loose objects has been cleaned
|
|
up.
|
|
|
|
* "make strip" has been taught to strip "scalar" as well as "git".
|
|
|
|
* Dockerised jobs at the GitHub Actions CI have been taught to show
|
|
more details of failed tests.
|
|
|
|
* Code refactoring around object database sources.
|
|
|
|
* Halve the memory consumed by artificial filepairs created during
|
|
"git diff --find-copioes-harder", also making the operation run
|
|
faster.
|
|
|
|
* The "git_istream" abstraction has been revamped to make it easier
|
|
to interface with pluggable object database design.
|
|
|
|
* Rewrite the only use of "mktemp()" that is subject to TOCTOU race
|
|
and Stop using the insecure "mktemp()" function.
|
|
(merge 10bba537c4 rs/ban-mktemp later to maint).
|
|
|
|
* In-code comment update to clarify that single-letter options are
|
|
outside of the scope of command line completion script.
|
|
(merge dc8a00fafe jc/completion-no-single-letter-options later to maint).
|
|
|
|
* MEMZERO_ARRAY() helper is introduced to avoid clearing only the
|
|
first N bytes of an N-element array whose elements are larger than
|
|
a byte.
|
|
|
|
* "git diff-files -R --find-copies-harder" has been taught to use
|
|
the potential copy sources from the index correctly.
|
|
|
|
|
|
Fixes since v2.52
|
|
-----------------
|
|
|
|
* Ever since we added whitespace rules for this project, we misspelt
|
|
an entry, which has been corrected.
|
|
(merge 358e94dc70 jc/gitattributes-whitespace-no-indent-fix later to maint).
|
|
|
|
* The code to expand attribute macros has been rewritten to avoid
|
|
recursion to avoid running out of stack space in an uncontrolled
|
|
way.
|
|
(merge 42ed046866 jk/attr-macroexpand-wo-recursion later to maint).
|
|
|
|
* Adding a repository that uses a different hash function is a no-no,
|
|
but "git submodule add" did nt prevent it, which has been corrected.
|
|
(merge 6fe288bfbc bc/submodule-force-same-hash later to maint).
|
|
|
|
* An earlier check added to osx keychain credential helper to avoid
|
|
storing the credential itself supplied was overeager and rejected
|
|
credential material supplied by other helper backends that it would
|
|
have wanted to store, which has been corrected.
|
|
(merge 4580bcd235 kn/osxkeychain-idempotent-store-fix later to maint).
|
|
|
|
* The "git repo structure" subcommand tried to align its output but
|
|
mixed up byte count and display column width, which has been
|
|
corrected.
|
|
(merge 7a03a10a3a jx/repo-struct-utf8width-fix later to maint).
|
|
|
|
* Yet another corner case fix around renames in the "ort" merge
|
|
strategy.
|
|
(merge a562d90a35 en/ort-rename-another-fix later to maint).
|
|
|
|
* Test leakfix.
|
|
(merge 14b561e768 jk/test-mktemp-leakfix later to maint).
|
|
|
|
* Update a version of action used at the GitHub Actrions CI.
|
|
(merge cd99203f86 js/ci-github-setup-go-update later to maint).
|
|
|
|
* The "return errno = EFOO, -1" construct, which is heavily used in
|
|
compat/mingw.c and triggers warnings under "-Wcomma", has been
|
|
rewritten to avoid the warnings.
|
|
(merge af3919816f js/mingw-assign-comma-fix later to maint).
|
|
|
|
* Makefile based build have recently been updated to build a
|
|
libgit.a that also has reftable and xdiff objects; CMake based
|
|
build procedure has been updated to match.
|
|
(merge b0d5c88cca js/cmake-libgit-fix later to maint).
|
|
|
|
* Under-allocation fix.
|
|
(merge d22a488482 js/wincred-get-credential-alloc-fix later to maint).
|
|
|
|
* "git worktree list" attempts to show paths to worktrees while
|
|
aligning them, but miscounted display columns for the paths when
|
|
non-ASCII characters were involved, which has been corrected.
|
|
(merge 08dfa59835 pw/worktree-list-display-width-fix later to maint).
|
|
|
|
* "Windows+meson" job at the GitHub Actions CI was hard to debug, as
|
|
it did not show and save failed test artifacts, which has been
|
|
corrected.
|
|
(merge 17bd1108ea jk/ci-windows-meson-test-fix later to maint).
|
|
|
|
* Emulation code clean-up.
|
|
(merge 2367c6bcd6 gf/win32-pthread-cond-wait-err later to maint).
|
|
|
|
* Various issues detected by Asan have been corrected.
|
|
(merge a031b6181a jk/asan-bonanza later to maint).
|
|
|
|
* "git config get --path" segfaulted on an ":(optional)path" that
|
|
does not exist, which has been corrected.
|
|
(merge 0bd16856ff jc/optional-path later to maint).
|
|
|
|
* The "--committer-date-is-author-date" option of "git am/rebase" is
|
|
a misguided one. The documentation is updated to discourage its
|
|
use.
|
|
(merge fbf3d0669f kh/doc-committer-date-is-author-date later to maint).
|
|
|
|
* The option help text given by "git config unset -h" described
|
|
the "--all" option to "replace", not "unset", multiple variables,
|
|
which has been corrected.
|
|
(merge 18bf67b753 rs/config-unset-opthelp-fix later to maint).
|
|
|
|
* The error message given by "git config set", when the variable
|
|
being updated has more than one values defined, used old style "git
|
|
config" syntax with an incorrect option in its hint, both of which
|
|
have been corrected.
|
|
(merge df963f0df4 rs/config-set-multi-error-message-fix later to maint).
|
|
|
|
* "git replay" forgot to omit the "gpgsig-sha256" extended header
|
|
from the resulting commit the same way it omits "gpgsig", which has
|
|
been corrected.
|
|
(merge 9f3a115087 pw/replay-exclude-gpgsig-fix later to maint).
|
|
|
|
* A few tests have been updated to work under the shell compatible
|
|
mode of zsh.
|
|
(merge a92f243a94 bc/zsh-testsuite later to maint).
|
|
|
|
* The way patience diff finds LCS has been optimized.
|
|
(merge c7e3b8085b yc/xdiff-patience-optim later to maint).
|
|
|
|
* Recent optimization to "last-modified" command introduced use of
|
|
uninitialized block of memory, which has been corrected.
|
|
(merge fe4e60759b tc/last-modified-active-paths-optimization later to maint).
|
|
|
|
* "git last-modified" used to mishandle "--" to mark the beginning of
|
|
pathspec, which has been corrected.
|
|
(merge 05491b90ce js/last-modified-with-sparse-checkouts later to maint).
|
|
|
|
* Emulation code clean-up.
|
|
(merge 42aa7603aa gf/win32-pthread-cond-init later to maint).
|
|
|
|
* "git submodule add" to add a submodule under <name> segfaulted,
|
|
when a submodule.<name>.something is already in .gitmodules file
|
|
without defining where its submodule.<name>.path is, which has been
|
|
corrected.
|
|
(merge dd8e8c786e jc/submodule-add later to maint).
|
|
|
|
* "git fetch" that involves fetching tags, when a tag being fetched
|
|
needs to overwrite existing one, failed to fetch other tags, which
|
|
has been corrected.
|
|
(merge b7b17ec8a6 kn/fix-fetch-backfill-tag-with-batched-ref-updates later to maint).
|
|
|
|
* Other code cleanup, docfix, build fix, etc.
|
|
(merge 46207a54cc qj/doc-http-bad-want-response later to maint).
|
|
(merge df90eccd93 kh/doc-commit-extra-references later to maint).
|
|
(merge f18aa68861 rs/xmkstemp-simplify later to maint).
|
|
(merge fddba8f737 ja/doc-synopsis-style later to maint).
|
|
(merge 22ce0cb639 en/xdiff-cleanup-2 later to maint).
|
|
(merge 8ef7355a8f je/doc-pull later to maint).
|
|
(merge 48176f953f jc/capability-leak later to maint).
|
|
(merge 8cbbdc92f7 kh/doc-pre-commit-fix later to maint).
|
|
(merge d4bc39a4d9 mh/doc-config-gui-gcwarning later to maint).
|
|
(merge 41d425008a kh/doc-send-email-paragraph-fix later to maint).
|
|
(merge d4b732899e jc/macports-darwinports later to maint).
|
|
(merge bab391761d kj/pull-options-decl-cleanup later to maint).
|
|
(merge 007b8994d4 rs/t4014-git-version-string-fix later to maint).
|
|
(merge 4ce170c522 ds/doc-scalar-config later to maint).
|