4c719308ce
Signed-off-by: Junio C Hamano <gitster@pobox.com>
227 lines
9.7 KiB
Plaintext
227 lines
9.7 KiB
Plaintext
Git 2.34 Release Notes
|
|
======================
|
|
|
|
Updates since Git 2.33
|
|
----------------------
|
|
|
|
UI, Workflows & Features
|
|
|
|
* Pathname expansion (like "~username/") learned a way to specify a
|
|
location relative to Git installation (e.g. its $sharedir which is
|
|
$(prefix)/share), with "%(prefix)".
|
|
|
|
* Use `ort` instead of `recursive` as the default merge strategy.
|
|
|
|
* The userdiff pattern for "java" language has been updated.
|
|
|
|
* "git rebase" by default skips changes that are equivalent to
|
|
commits that are already in the history the branch is rebased onto;
|
|
give messages when this happens to let the users be aware of
|
|
skipped commits, and also teach them how to tell "rebase" to keep
|
|
duplicated changes.
|
|
|
|
* The advice message that "git cherry-pick" gives when it asks
|
|
conflicted replay of a commit to be resolved by the end user has
|
|
been updated.
|
|
|
|
* After "git clone --recurse-submodules", all submodules are cloned
|
|
but they are not by default recursed into by other commands. With
|
|
submodule.stickyRecursiveClone configuration set, submodule.recurse
|
|
configuration is set to true in a repository created by "clone"
|
|
with "--recurse-submodules" option.
|
|
|
|
* The logic for auto-correction of misspelt subcommands learned to go
|
|
interactive when the help.autocorrect configuration variable is set
|
|
to 'prompt'.
|
|
|
|
|
|
Performance, Internal Implementation, Development Support etc.
|
|
|
|
* "git bisect" spawned "git show-branch" only to pretty-print the
|
|
title of the commit after checking out the next version to be
|
|
tested; this has been rewritten in C.
|
|
|
|
* "git add" can work better with the sparse index.
|
|
|
|
* Support for ancient versions of cURL library (pre 7.19.4) has been
|
|
dropped.
|
|
|
|
* A handful of tests that assumed implementation details of files
|
|
backend for refs have been cleaned up.
|
|
|
|
* trace2 logs learned to show parent process name to see in what
|
|
context Git was invoked.
|
|
|
|
* Loading of ref tips to prepare for common ancestry negotiation in
|
|
"git fetch-pack" has been optimized by taking advantage of the
|
|
commit graph when available.
|
|
|
|
* Remind developers that the userdiff patterns should be kept simple
|
|
and permissive, assuming that the contents they apply are always
|
|
syntactically correct.
|
|
|
|
* The current implementation of GIT_TEST_FAIL_PREREQS is broken in
|
|
that checking for the lack of a prerequisite would not work. Avoid
|
|
the use of "if ! test_have_prereq X" in a test script.
|
|
|
|
* The revision traversal API has been optimized by taking advantage
|
|
of the commit-graph, when available, to determine if a commit is
|
|
reachable from any of the existing refs.
|
|
|
|
* "git fetch --quiet" optimization to avoid useless computation of
|
|
info that will never be displayed.
|
|
|
|
* Callers from older advice_config[] based API has been updated to
|
|
use the newer advice_if_enabled() and advice_enabled() API.
|
|
|
|
* Teach "test_pause" and "debug" helpers to allow using the HOME and
|
|
TERM environment variables the user usually uses.
|
|
|
|
* "make INSTALL_STRIP=-s install" allows the installation step to use
|
|
"install -s" to strip the binaries as they get installed.
|
|
|
|
|
|
Fixes since v2.33
|
|
-----------------
|
|
|
|
* Input validation of "git pack-objects --stdin-packs" has been
|
|
corrected.
|
|
(merge 561fa03529 ab/pack-stdin-packs-fix later to maint).
|
|
|
|
* Bugfix for common ancestor negotiation recently introduced in "git
|
|
push" code path.
|
|
(merge 82823118b9 jt/push-negotiation-fixes later to maint).
|
|
|
|
* "git pull" had various corner cases that were not well thought out
|
|
around its --rebase backend, e.g. "git pull --ff-only" did not stop
|
|
but went ahead and rebased when the history on other side is not a
|
|
descendant of our history. The series tries to fix them up.
|
|
(merge 6f843a3355 en/pull-conflicting-options later to maint).
|
|
|
|
* "git apply" miscounted the bytes and failed to read to the end of
|
|
binary hunks.
|
|
(merge 46d723ce57 jk/apply-binary-hunk-parsing-fix later to maint).
|
|
|
|
* "git range-diff" code clean-up.
|
|
(merge c4d5907324 jk/range-diff-fixes later to maint).
|
|
|
|
* "git commit --fixup" now works with "--edit" again, after it was
|
|
broken in v2.32.
|
|
(merge 8ef6aad664 jk/commit-edit-fixup-fix later to maint).
|
|
|
|
* Use upload-artifacts v1 (instead of v2) for 32-bit linux, as the
|
|
new version has a blocker bug for that architecture.
|
|
(merge 3cf9bb36bf cb/ci-use-upload-artifacts-v1 later to maint).
|
|
|
|
* Checking out all the paths from HEAD during the last conflicted
|
|
step in "git rebase" and continuing would cause the step to be
|
|
skipped (which is expected), but leaves MERGE_MSG file behind in
|
|
$GIT_DIR and confuses the next "git commit", which has been
|
|
corrected.
|
|
(merge e5ee33e855 pw/rebase-skip-final-fix later to maint).
|
|
|
|
* Various bugs in "git rebase -r" have been fixed.
|
|
(merge f2563c9ef3 pw/rebase-r-fixes later to maint).
|
|
|
|
* mmap() imitation used to call xmalloc() that dies upon malloc()
|
|
failure, which has been corrected to just return an error to the
|
|
caller to be handled.
|
|
(merge 95b4ff3931 rs/git-mmap-uses-malloc later to maint).
|
|
|
|
* "git diff --relative" segfaulted and/or produced incorrect result
|
|
when there are unmerged paths.
|
|
(merge 8174627b3d dd/diff-files-unmerged-fix later to maint).
|
|
|
|
* The delayed checkout code path in "git checkout" etc. were chatty
|
|
even when --quiet and/or --no-progress options were given.
|
|
(merge 7a132c628e mt/quiet-with-delayed-checkout later to maint).
|
|
|
|
* "git branch -D <branch>" used to refuse to remove a broken branch
|
|
ref that points at a missing commit, which has been corrected.
|
|
(merge 597a977489 rs/branch-allow-deleting-dangling later to maint).
|
|
|
|
* Build update for Apple clang.
|
|
(merge f32c5d3716 cb/makefile-apple-clang later to maint).
|
|
|
|
* The parser for the "--nl" option of "git column" has been
|
|
corrected.
|
|
(merge c93ca46cf5 sg/column-nl later to maint).
|
|
|
|
* "git upload-pack" which runs on the other side of "git fetch"
|
|
forgot to take the ref namespaces into account when handling
|
|
want-ref requests.
|
|
(merge 53a66ec37c ka/want-ref-in-namespace later to maint).
|
|
|
|
* The sparse-index support can corrupt the index structure by storing
|
|
a stale and/or uninitialized data, which has been corrected.
|
|
(merge d9e9b44d7a jh/sparse-index-resize-fix later to maint).
|
|
|
|
* Buggy tests could damage repositories outside the throw-away test
|
|
area we created. We now by default export GIT_CEILING_DIRECTORIES
|
|
to limit the damage from such a stray test.
|
|
(merge 614c3d8f2e sg/set-ceiling-during-tests later to maint).
|
|
|
|
* Even when running "git send-email" without its own threaded
|
|
discussion support, a threading related header in one message is
|
|
carried over to the subsequent message to result in an unwanted
|
|
threading, which has been corrected.
|
|
(merge e082113484 mh/send-email-reset-in-reply-to later to maint).
|
|
|
|
* The output from "git fast-export", when its anonymization feature
|
|
is in use, showed an annotated tag incorrectly.
|
|
(merge 2f040a9671 tk/fast-export-anonymized-tag-fix later to maint).
|
|
|
|
* Doc update plus improved error reporting.
|
|
(merge 1e93770888 jk/log-warn-on-bogus-encoding later to maint).
|
|
|
|
* Recent "diff -m" changes broke "gitk", which has been corrected.
|
|
(merge 5acffd3473 so/diff-index-regression-fix later to maint).
|
|
|
|
* Regression fix.
|
|
(merge b996f84989 ab/send-email-config-fix later to maint).
|
|
|
|
* The "git apply -3" code path learned not to bother the lower level
|
|
merge machinery when the three-way merge can be trivially resolved
|
|
without the content level merge. This fixes a regression caused by
|
|
recent "-3way first and fall back to direct application" change.
|
|
(merge 57f183b698 jc/trivial-threeway-binary-merge later to maint).
|
|
|
|
* The code that optionally creates the *.rev reverse index file has
|
|
been optimized to avoid needless computation when it is not writing
|
|
the file out.
|
|
(merge 8fe8bae9d2 ab/reverse-midx-optim later to maint).
|
|
|
|
* "git range-diff -I... <range> <range>" segfaulted, which has been
|
|
corrected.
|
|
(merge 709b3f32d3 rs/range-diff-avoid-segfault-with-I later to maint).
|
|
|
|
* Other code cleanup, docfix, build fix, etc.
|
|
(merge 1d9c8daef8 ab/bundle-doc later to maint).
|
|
(merge 81483fe613 en/merge-strategy-docs later to maint).
|
|
(merge 626beebdf8 js/log-protocol-version later to maint).
|
|
(merge 00e302da76 cb/builtin-merge-format-string-fix later to maint).
|
|
(merge ad51ae4dc0 cb/ci-freebsd-update later to maint).
|
|
(merge be6444d1ca fc/completion-updates later to maint).
|
|
(merge ff7b83f562 ti/tcsh-completion-regression-fix later to maint).
|
|
(merge 325b06deda sg/make-fix-ar-invocation later to maint).
|
|
(merge bd72824c60 me/t5582-cleanup later to maint).
|
|
(merge f6a5af0f62 ga/send-email-sendmail-cmd later to maint).
|
|
(merge f58c7468cd ab/ls-remote-packet-trace later to maint).
|
|
(merge 0160f7e725 ab/rebase-fatal-fatal-fix later to maint).
|
|
(merge a16eb6b1ff js/maintenance-launchctl-fix later to maint).
|
|
(merge c21b2511c2 jk/t5323-no-pack-test-fix later to maint).
|
|
(merge 5146c2f148 mh/credential-leakfix later to maint).
|
|
(merge 1549577338 dd/t6300-wo-gpg-fix later to maint).
|
|
(merge 66e905b7dd rs/xopen-reports-open-failures later to maint).
|
|
(merge 469888e6a5 es/walken-tutorial-fix later to maint).
|
|
(merge 88682b016d ba/object-info later to maint).
|
|
(merge b45c172e51 ab/gc-log-rephrase later to maint).
|
|
(merge ccdd5d1eb1 ab/mailmap-leakfix later to maint).
|
|
(merge 6540b71614 cb/remote-ndebug-fix later to maint).
|
|
(merge e4f8d27585 rs/show-branch-simplify later to maint).
|
|
(merge e124ecf7f7 rs/archive-use-object-id later to maint).
|
|
(merge cebead1ebf cb/ci-build-pedantic later to maint).
|
|
(merge ca0cc98e03 bs/doc-bugreport-outdir later to maint).
|
|
(merge 72b113e562 ab/no-more-check-bindir later to maint).
|
|
(merge 92a5d1c9b4 jc/prefix-filename-allocates later to maint).
|