]> git.ipfire.org Git - thirdparty/git.git/commitdiff
Sync with Git 2.33.1
authorJunio C Hamano <gitster@pobox.com>
Tue, 12 Oct 2021 20:59:32 +0000 (13:59 -0700)
committerJunio C Hamano <gitster@pobox.com>
Tue, 12 Oct 2021 20:59:32 +0000 (13:59 -0700)
1  2 
Documentation/RelNotes/2.34.0.txt

index 6c9c5301f4ee7e556dc45c7a37a74b34e94dd4a1,0000000000000000000000000000000000000000..080687f202f62dfdff1665fa02352549e43f6a3b
mode 100644,000000..100644
--- /dev/null
@@@ -1,360 -1,0 +1,285 @@@
-    (merge 561fa03529 ab/pack-stdin-packs-fix later to maint).
 +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'.
 +
 + * "git maintenance" scheduler learned to use systemd timers as a
 +   possible backend.
 +
 + * "git diff --submodule=diff" showed failure from run_command() when
 +   trying to run diff inside a submodule, when the user manually
 +   removes the submodule directory.
 +
 + * "git bundle unbundle" learned to show progress display.
 +
 + * In cone mode, the sparse-index code path learned to remove ignored
 +   files (like build artifacts) outside the sparse cone, allowing the
 +   entire directory outside the sparse cone to be removed, which is
 +   especially useful when the sparse patterns change.
 +
 + * Taking advantage of the CGI interface, http-backend has been
 +   updated to enable protocol v2 automatically when the other side
 +   asks for it.
 +
 + * The credential-cache helper has been adjusted to Windows.
 +
 + * The error in "git help no-such-git-command" is handled better.
 +
 + * The unicode character width table (used for output alignment) has
 +   been updated.
 +
 + * The ref iteration code used to optionally allow dangling refs to be
 +   shown, which has been tightened up.
 +
 +
 +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.
 +
 + * Code that handles large number of refs in the "git fetch" code
 +   path has been optimized.
 +
 + * The reachability bitmap file used to be generated only for a single
 +   pack, but now we've learned to generate bitmaps for history that
 +   span across multiple packfiles.
 +
 + * The code to make "git grep" recurse into submodules has been
 +   updated to migrate away from the "add submodule's object store as
 +   an alternate object store" mechanism (which is suboptimal).
 +
 + * The tracing of process ancestry information has been enhanced.
 +
 + * Reduce number of write(2) system calls while sending the
 +   ref advertisement.
 +
 + * Update the build procedure to use the "-pedantic" build when
 +   DEVELOPER makefile macro is in effect.
 +
 + * Large part of "git submodule add" gets rewritten in C.
 +
 + * The run-command API has been updated so that the callers can easily
 +   ask the file descriptors open for packfiles to be closed immediately
 +   before spawning commands that may trigger auto-gc.
 +
 + * An oddball OPTION_ARGUMENT feature has been removed from the
 +   parse-options API.
 +
 + * The mergesort implementation used to sort linked list has been
 +   optimized.
 +
 + * Remove external declaration of functions that no longer exist.
 +
 + * "git multi-pack-index write --bitmap" learns to propagate the
 +   hashcache from original bitmap to resulting bitmap.
 +
 + * CI learns to run the leak sanitizer builds.
 +
 +
 +Fixes since v2.33
 +-----------------
 +
 + * Input validation of "git pack-objects --stdin-packs" has been
 +   corrected.
-    (merge 82823118b9 jt/push-negotiation-fixes later to maint).
 +
 + * Bugfix for common ancestor negotiation recently introduced in "git
 +   push" code path.
-    (merge 6f843a3355 en/pull-conflicting-options 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 46d723ce57 jk/apply-binary-hunk-parsing-fix later to maint).
 +
 + * "git apply" miscounted the bytes and failed to read to the end of
 +   binary hunks.
-    (merge c4d5907324 jk/range-diff-fixes later to maint).
 +
 + * "git range-diff" code clean-up.
-    (merge 8ef6aad664 jk/commit-edit-fixup-fix later to maint).
 +
 + * "git commit --fixup" now works with "--edit" again, after it was
 +   broken in v2.32.
-    (merge 3cf9bb36bf cb/ci-use-upload-artifacts-v1 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 e5ee33e855 pw/rebase-skip-final-fix 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 f2563c9ef3 pw/rebase-r-fixes later to maint).
 +
 + * Various bugs in "git rebase -r" have been fixed.
-    (merge 95b4ff3931 rs/git-mmap-uses-malloc 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 8174627b3d dd/diff-files-unmerged-fix later to maint).
 +
 + * "git diff --relative" segfaulted and/or produced incorrect result
 +   when there are unmerged paths.
-    (merge 7a132c628e mt/quiet-with-delayed-checkout 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 597a977489 rs/branch-allow-deleting-dangling 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 f32c5d3716 cb/makefile-apple-clang later to maint).
 +
 + * Build update for Apple clang.
-    (merge c93ca46cf5 sg/column-nl later to maint).
 +
 + * The parser for the "--nl" option of "git column" has been
 +   corrected.
-    (merge 53a66ec37c ka/want-ref-in-namespace 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 d9e9b44d7a jh/sparse-index-resize-fix 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 614c3d8f2e sg/set-ceiling-during-tests 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 e082113484 mh/send-email-reset-in-reply-to 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 2f040a9671 tk/fast-export-anonymized-tag-fix later to maint).
 +
 + * The output from "git fast-export", when its anonymization feature
 +   is in use, showed an annotated tag incorrectly.
-    (merge 1e93770888 jk/log-warn-on-bogus-encoding later to maint).
 +
 + * Doc update plus improved error reporting.
-    (merge 5acffd3473 so/diff-index-regression-fix later to maint).
 +
 + * Recent "diff -m" changes broke "gitk", which has been corrected.
-    (merge b996f84989 ab/send-email-config-fix later to maint).
 +
 + * Regression fix.
-    (merge 57f183b698 jc/trivial-threeway-binary-merge 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 8fe8bae9d2 ab/reverse-midx-optim 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 709b3f32d3 rs/range-diff-avoid-segfault-with-I later to maint).
 +
 + * "git range-diff -I... <range> <range>" segfaulted, which has been
 +   corrected.
-    (merge 4bc1fd6e39 tb/pack-finalize-ordering later to maint).
 +
 + * The order in which various files that make up a single (conceptual)
 +   packfile has been reevaluated and straightened up.  This matters in
 +   correctness, as an incomplete set of files must not be shown to a
 +   running Git.
-    (merge 35cf94eaf6 rs/no-mode-to-open-when-appending later to maint).
 +
 + * The "mode" word is useless in a call to open(2) that does not
 +   create a new file.  Such a call in the files backend of the ref
 +   subsystem has been cleaned up.
-    (merge 7c1200745b ps/update-ref-batch-flush later to maint).
 +
 + * "git update-ref --stdin" failed to flush its output as needed,
 +   which potentially led the conversation to a deadlock.
-    (merge c5ead19ea2 en/am-abort-fix later to maint).
 +
 + * When "git am --abort" fails to abort correctly, it still exited
 +   with exit status of 0, which has been corrected.
-    (merge 8d133a4653 jk/strvec-typefix later to maint).
 +
 + * Correct nr and alloc members of strvec struct to be of type size_t.
-    (merge bee8691f19 en/stash-df-fix later to maint).
 +
 + * "git stash", where the tentative change involves changing a
 +   directory to a file (or vice versa), was confused, which has been
 +   corrected.
-    (merge 6b58df54cf jk/clone-unborn-head-in-bare later to maint).
 +
 + * "git clone" from a repository whose HEAD is unborn into a bare
 +   repository didn't follow the branch name the other side used, which
 +   is corrected.
-    (merge 4b81f690f6 cb/cvsserver later to maint).
 +
 + * "git cvsserver" had a long-standing bug in its authentication code,
 +   which has finally been corrected (it is unclear and is a separate
 +   question if anybody is seriously using it, though).
-    (merge 5bafb3576a da/difftool-dir-diff-symlink-fix later to maint).
 +
 + * "git difftool --dir-diff" mishandled symbolic links.
-    (merge b66c77a64e jk/http-redact-fix later to maint).
 +
 + * Sensitive data in the HTTP trace were supposed to be redacted, but
 +   we failed to do so in HTTP/2 requests.
-    (merge f0a74bcb03 ab/make-clean-depend-dirs later to maint).
 +
 + * "make clean" has been updated to remove leftover .depend/
 +   directories, even when it is not told to use them to compute header
 +   dependencies.
-    (merge 44d2aec6e8 ah/connect-parse-feature-v0-fix later to maint).
 +
 + * Protocol v0 clients can get stuck parsing a malformed feature line.
-    (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).
-    (merge d9a65b6c0a rs/setup-use-xopen-and-xdup later to maint).
-    (merge e8f55568de jk/t5562-racefix later to maint).
-    (merge 8f0f110156 rs/drop-core-compression-vars later to maint).
-    (merge b6d8887d3d ma/doc-git-version later to maint).
-    (merge 66c0c44df6 cb/plug-leaks-in-alloca-emu-users later to maint).
-    (merge afb32e8101 kz/revindex-comment-fix later to maint).
-    (merge ae578de926 po/git-config-doc-mentions-help-c later to maint).
-    (merge 187fc8b8b6 cb/unicode-14 later to maint).
-    (merge 3584cff71c en/typofixes later to maint).
 +
 + * Other code cleanup, docfix, build fix, etc.
 +   (merge f188160be9 ab/bundle-remove-verbose-option later to maint).
 +   (merge 8c6b4332b4 rs/close-pack-leakfix later to maint).
 +   (merge 51b04c05b7 bs/difftool-msg-tweak later to maint).
 +   (merge dd20e4a6db ab/make-compdb-fix later to maint).
 +   (merge 6ffb990dc4 os/status-docfix later to maint).
 +   (merge 100c2da2d3 rs/p3400-lose-tac later to maint).
 +   (merge 76f3b69896 tb/aggregate-ignore-leading-whitespaces later to maint).