From: Junio C Hamano Date: Fri, 16 Aug 2024 19:53:18 +0000 (-0700) Subject: Sync with 'maint' X-Git-Tag: v2.47.0-rc0~118 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b9849e4f7631d80f146d159bf7b60263b3205632;p=thirdparty%2Fgit.git Sync with 'maint' Signed-off-by: Junio C Hamano --- b9849e4f7631d80f146d159bf7b60263b3205632 diff --cc Documentation/RelNotes/2.47.0.txt index 5e1af5788e,0000000000..18e3eaeec1 mode 100644,000000..100644 --- a/Documentation/RelNotes/2.47.0.txt +++ b/Documentation/RelNotes/2.47.0.txt @@@ -1,158 -1,0 +1,148 @@@ +Git v2.47 Release Notes +======================= + +UI, Workflows & Features +------------------------ + + * Many Porcelain commands that internally use the merge machinery + were taught to consistently honor the diff.algorithm configuration. + + * A few descriptions in "git show-ref -h" have been clarified. + + * A 'P' command to "git add -p" that passes the patch hunk to the + pager has been added. + + * "git grep -W" omits blank lines that follow the found function at + the end of the file, just like it omits blank lines before the next + function. + + * The value of http.proxy can have "path" at the end for a socks + proxy that listens to a unix-domain socket, but we started to + discard it when we taught proxy auth code path to use the + credential helpers, which has been corrected. + + * The code paths to compact multiple reftable files have been updated + to correctly deal with multiple compaction triggering at the same + time. + + * Support to specify ref backend for submodules has been enhanced. + + +Performance, Internal Implementation, Development Support etc. +-------------------------------------------------------------- + + * A build tweak knob has been simplified by not setting the value + that is already the default; another unused one has been removed. + + * A CI job that use clang-format to check coding style issues in new + code has been added. + + * The reviewing guidelines document now explicitly encourages people + to give positive reviews and how. + + * Test script linter has been updated to catch an attempt to use + one-shot export construct "VAR=VAL func" for shell functions (which + does not work for some shells) better. + + * Some project conventions have been added to CodingGuidelines. + + * In the refs subsystem, implicit reliance of the_repository has been + eliminated; the repository associated with the ref store object is + used instead. + + * Various tests in reftable library have been rewritten using the unit test + framework. + + * A test that fails on an unusually slow machine was found, and made + less likely to cause trouble by lengthening the expiry value it + uses. + + * An existing test of hashmap API has been rewritten with the + unit-test framework. + + * A policy document that describes platform support levels and + expectation on platform stakeholders has been introduced. + + * The refs API has been taught to give symref target information to + the users of ref iterators, allowing for-each-ref and friends to + avoid an extra ref_resolve_* API call per a symbolic ref. + + +Fixes since v2.46 +----------------- + + * "git add -p" by users with diff.suppressBlankEmpty set to true + failed to parse the patch that represents an unmodified empty line + with an empty line (not a line with a single space on it), which + has been corrected. - (merge 60cf761ed1 pw/add-patch-with-suppress-blank-empty later to maint). + + * "git checkout --ours" (no other arguments) complained that the + option is incompatible with branch switching, which is technically + correct, but found confusing by some users. It now says that the + user needs to give pathspec to specify what paths to checkout. - (merge d1e6c61272 jc/checkout-no-op-switch-errors later to maint). + + * It has been documented that we avoid "VAR=VAL shell_func" and why. - (merge 728a1962cd jc/doc-one-shot-export-with-shell-func later to maint). + + * "git rebase --help" referred to "offset" (the difference between + the location a change was taken from and the change gets replaced) + incorrectly and called it "fuzz", which has been corrected. - (merge 70058db385 jc/doc-rebase-fuzz-vs-offset-fix later to maint). + + * "git notes add -m '' --allow-empty" and friends that take prepared + data to create notes should not invoke an editor, but it started + doing so since Git 2.42, which has been corrected. - (merge 8b426c84f3 dd/notes-empty-no-edit-by-default later to maint). + + * An expensive operation to prepare tracing was done in re-encoding + code path even when the tracing was not requested, which has been + corrected. - (merge 63ad8dbf16 dh/encoding-trace-optim later to maint). + + * More leakfixes. + (merge f30bfafcd4 ps/leakfixes-part-3 later to maint). + + * The credential helper to talk to OSX keychain sometimes sent + garbage bytes after the username, which has been corrected. + (merge b201316835 jk/osxkeychain-username-is-nul-terminated later to maint). + + * A recent update broke "git ls-remote" used outside a repository, + which has been corrected. + (merge 9e89dcb66a ps/ls-remote-out-of-repo-fix later to maint). + + * The patch parser in 'git apply' has been a bit more lenient against + unexpected mode bits, like 100664, recorded on extended header lines. + (merge e95d515141 jk/apply-patch-mode-check-fix later to maint). + + * "git config --value=foo --fixed-value section.key newvalue" barfed + when the existing value in the configuration file used the + valueless true syntax, which has been corrected. + (merge 615d2de3b4 tb/config-fixed-value-with-valueless-true later to maint). + + * The patch parser in "git patch-id" has been tightened to avoid + getting confused by lines that look like a patch header in the log + message. + (merge a6e9429f72 jc/patch-id later to maint). + + * "git reflog expire" failed to honor annotated tags when computing + reachable commits. + (merge 5133ead528 jc/reflog-expire-lookup-commit-fix later to maint). + + * A flakey test and incorrect calls to strtoX() functions have been + fixed. + (merge ec60bb9fc4 kl/test-fixes later to maint). + + * Follow-up on 2.45.1 regression fix. + (merge ee0be850b0 jc/safe-directory later to maint). + + * "git rev-list ... | git diff-tree -p --remerge-diff --stdin" should + behave more or less like "git log -p --remerge-diff" but instead it + crashed, forgetting to prepare a temporary object store needed. + (merge a77554ea09 xx/diff-tree-remerge-diff-fix later to maint). + + * Other code cleanup, docfix, build fix, etc. - (merge 8db8786fc2 jt/doc-post-receive-hook-update later to maint). - (merge 1c473dd6af tn/doc-commit-fix later to maint). + (merge bb0498b1bb jc/how-to-maintain-updates later to maint). - (merge 6e71d6ac7c ks/unit-test-comment-typofix later to maint). - (merge 63ee933383 ps/p4-tests-updates later to maint). + (merge 7c7516b8db jc/jl-git-no-advice-fix later to maint). + (merge c3d034df16 jc/leakfix-hashfile later to maint). + (merge d98d9c77e5 jc/leakfix-mailmap later to maint). + (merge c199707496 jr/ls-files-expand-literal-doc later to maint). + (merge e2e373ba82 ss/packed-ref-store-leakfix later to maint). + (merge 0c4d5aa22d rs/use-decimal-width later to maint). + (merge 67be8c4de5 jc/document-use-of-local later to maint). + (merge 098be29f5b rs/t-example-simplify later to maint).