218 lines
8.5 KiB
Plaintext
218 lines
8.5 KiB
Plaintext
Git v2.50 Release Notes
|
|
=======================
|
|
|
|
UI, Workflows & Features
|
|
------------------------
|
|
|
|
* A post-processing filter for "diff --raw" output has been
|
|
introduced.
|
|
|
|
* "git repack" learned "--combine-cruft-below-size" option that
|
|
controls how cruft-packs are combined.
|
|
|
|
* TCP keepalive behaviour on http transports can now be configured by
|
|
calling cURL library.
|
|
|
|
* Incrementally updating multi-pack index files.
|
|
|
|
* "git reflog" learns "drop" subcommand, that discards the entire
|
|
reflog data for a ref.
|
|
|
|
* A new userdiff driver for ".ini" format configuration files has
|
|
been added.
|
|
|
|
* The job to coalesce loose objects into packfiles in "git
|
|
maintenance" now has configurable batch size.
|
|
|
|
* "git clone" still gave the message about the default branch name;
|
|
this message has been turned into an advice message that can be
|
|
turned off.
|
|
|
|
* "git rev-list" learns machine-parsable output format that delimits
|
|
each field with NUL.
|
|
|
|
* "git maintenance" learns a new task to expire reflog entries.
|
|
|
|
* Auth-related (and unrelated) error handling in send-email has been
|
|
made more robust.
|
|
|
|
* Updating multiple references have only been possible in all-or-none
|
|
fashion with transactions, but it can be more efficient to batch
|
|
multiple updates even when some of them are allowed to fail in a
|
|
best-effort manner. A new "best effort batches of updates" mode
|
|
has been introduced.
|
|
|
|
* "git help --build-options" reports SHA-1 and SHA-256 backends used
|
|
in the build.
|
|
|
|
* "git cat-file --batch" and friends learned to allow "--filter=" to
|
|
omit certain objects, just like the transport layer does.
|
|
|
|
* "git blame --porcelain" mode now talks about unblamable lines and
|
|
lines that are blamed to an ignored commit.
|
|
|
|
|
|
Performance, Internal Implementation, Development Support etc.
|
|
--------------------------------------------------------------
|
|
|
|
* A handful of built-in command implementations have been rewritten
|
|
to use the repository instance supplied by git.c:run_builtin(), its
|
|
caller.
|
|
|
|
* "git fsck" becomes more careful when checking the refs.
|
|
|
|
* "git fast-export | git fast-import" learns to deal with commit and
|
|
tag objects with embedded signatures a bit better.
|
|
|
|
* The code paths to check whether a refname X is available (by seeing
|
|
if another ref X/Y exists, etc.) have been optimized.
|
|
|
|
* First step of deprecating and removing merge-recursive.
|
|
|
|
* In protocol v2 where the refs advertisement is constrained, we try
|
|
to tell the server side not to limit the advertisement when there
|
|
is no specific need to, which has been the source of confusion and
|
|
recent bugs. Revamp the logic to simplify.
|
|
|
|
* Update meson based build procedure for breaking changes support.
|
|
|
|
* Enable -Wunreachable-code for developer builds.
|
|
|
|
* Ensure what we write in assert() does not have side effects,
|
|
and introduce ASSERT() macro to mark those that cannot be
|
|
mechanically checked for lack of side effects.
|
|
|
|
* Give more meaningful error return values from block writer layer of
|
|
the reftable ref-API backend.
|
|
|
|
* Make the code in reftable library less reliant on the service
|
|
routines it used to borrow from Git proper, to make it easier to
|
|
use by external users of the library.
|
|
|
|
* CI update.
|
|
|
|
* The object layer has been updated to take an explicit repository
|
|
instance as a parameter in more code paths.
|
|
|
|
* Some warnings from "-Wsign-compare" for builtin/rm.c have been
|
|
squelched.
|
|
|
|
* A few traditional unit tests have been rewritten to use the clar
|
|
framework.
|
|
|
|
* Some warnings from "-Wsign-compare" for pathspec.c have been
|
|
squelched.
|
|
|
|
* "make test" used to have a hard dependency on (basic) Perl; tests
|
|
have been rewritten help environment with NO_PERL test the build as
|
|
much as possible.
|
|
|
|
* Remove remnants of the recursive merge strategy backend, which was
|
|
superseded by the ort merge strategy.
|
|
|
|
|
|
Fixes since v2.49
|
|
-----------------
|
|
|
|
* The refname exclusion logic in the packed-ref backend has been
|
|
broken for some time, which confused upload-pack to advertise
|
|
different set of refs. This has been corrected.
|
|
(merge 10e8a9352b tb/refs-exclude-fixes later to maint).
|
|
|
|
* The merge-recursive and merge-ort machinery crashed in corner cases
|
|
when certain renames are involved.
|
|
(merge 3adba40858 en/merge-process-renames-crash-fix later to maint).
|
|
|
|
* Certain "cruft" objects would have never been refreshed when there
|
|
are multiple cruft packs in the repository, which has been
|
|
corrected.
|
|
(merge 08f612ba70 tb/multi-cruft-pack-refresh-fix later to maint).
|
|
|
|
* The xdiff code on 32-bit platform misbehaved when an insanely large
|
|
context size is given, which has been corrected.
|
|
(merge d39e28e68c rs/xdiff-context-length-fix later to maint).
|
|
|
|
* GitHub Actions CI switched on a CI/CD variable that does not exist
|
|
when choosing what packages to install etc., which has been
|
|
corrected.
|
|
(merge ee89f7c79d kn/ci-meson-check-build-docs-fix later to maint).
|
|
|
|
* Using "git name-rev --stdin" as an example, improve the framework to
|
|
prepare tests to pretend to be in the future where the breaking
|
|
changes have already happened.
|
|
(merge de3dec1187 jc/name-rev-stdin later to maint).
|
|
|
|
* An earlier code refactoring of the hash machinery missed a few
|
|
required calls to init_fn.
|
|
(merge d39f04b638 jh/hash-init-fixes later to maint).
|
|
|
|
* A documentation page was left out from formatting and installation,
|
|
which has been corrected.
|
|
(merge ae85116f18 pw/build-breaking-changes-doc later to maint).
|
|
|
|
* The bash command line completion script (in contrib/) has been
|
|
updated to cope with remote repository nicknames with slashes in
|
|
them.
|
|
(merge 778d2f1760 dm/completion-remote-names-fix later to maint).
|
|
|
|
* "Dubious ownership" checks on Windows has been tightened up.
|
|
(merge 5bb88e89ef js/mingw-admins-are-special later to maint).
|
|
|
|
* Layout configuration in vimdiff backend didn't work as advertised,
|
|
which has been corrected.
|
|
(merge 93bab2d04b fr/vimdiff-layout-fixes later to maint).
|
|
|
|
* Fix our use of zlib corner cases.
|
|
(merge 1cb2f293f5 jk/zlib-inflate-fixes later to maint).
|
|
|
|
* Fix lockfile contention in reftable code on Windows.
|
|
(merge 0a3dceabf1 ps/mingw-creat-excl-fix later to maint).
|
|
|
|
* "git-merge-file" documentation source, which has lines that look
|
|
like conflict markers, lacked custom conflict marker size defined,
|
|
which has been corrected..
|
|
(merge d3b5832381 pw/custom-conflict-marker-size-for-merge-related-docs later to maint).
|
|
|
|
* Squelch false-positive from sparse.
|
|
(merge da87b58014 dd/sparse-glibc-workaround later to maint).
|
|
|
|
* Adjust to the deprecation of use of Ubuntu 20.04 GitHub Actions CI.
|
|
(merge 832d9f6d0b js/ci-github-update-ubuntu later to maint).
|
|
|
|
* Work around CI breakage due to fedora base image getting updated.
|
|
(merge 8a471a663b js/ci-fedora-gawk later to maint).
|
|
|
|
* A ref transaction corner case fix.
|
|
(merge b9fadeead7 jt/ref-transaction-abort-fix later to maint).
|
|
|
|
* Random build fixes.
|
|
(merge 85e1d6819f ps/misc-build-fixes later to maint).
|
|
|
|
* "git fetch [<remote>]" with only the configured fetch refspec
|
|
should be the only thing to update refs/remotes/<remote>/HEAD,
|
|
but the code was overly eager to do so in other cases.
|
|
|
|
* Incorrect sorting of refs with bytes with high-bit set on platforms
|
|
with signed char led to a BUG, which has been corrected.
|
|
|
|
* Other code cleanup, docfix, build fix, etc.
|
|
(merge 227c4f33a0 ja/doc-block-delimiter-markup-fix later to maint).
|
|
(merge 2bfd3b3685 ab/decorate-code-cleanup later to maint).
|
|
(merge 5337daddc7 am/dir-dedup-decl-of-repository later to maint).
|
|
(merge 554051d691 en/diff-rename-follow-fix later to maint).
|
|
(merge a18c18b470 en/random-cleanups later to maint).
|
|
(merge 5af21c9acb hj/doc-rev-list-ancestry-fix later to maint).
|
|
(merge 26d76ca284 aj/doc-restore-p-update later to maint).
|
|
(merge 2c0dcb9754 cc/lop-remote later to maint).
|
|
(merge 7b399322a2 ja/doc-branch-markup later to maint).
|
|
(merge ee434e1807 pw/doc-pack-refs-markup-fix later to maint).
|
|
(merge c000918eb7 tb/bitamp-typofix later to maint).
|
|
(merge fa8cd29676 js/imap-send-peer-cert-verify later to maint).
|
|
(merge 98b423bc1c rs/clear-commit-marks-simplify later to maint).
|
|
(merge 133d065dd6 ta/bulk-checkin-signed-compare-false-warning-fix later to maint).
|
|
(merge d2827dc31e es/meson-build-skip-coccinelle later to maint).
|
|
(merge ee8edb7156 dk/vimdiff-doc-fix later to maint).
|
|
(merge 107d889303 md/t1403-path-is-file later to maint).
|
|
(merge abd4192b07 js/comma-semicolon-confusion later to maint).
|
|
(merge 27b7264206 ab/environment-clean-header later to maint).
|