aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/RelNotes/2.47.0.txt
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/RelNotes/2.47.0.txt')
-rw-r--r--Documentation/RelNotes/2.47.0.txt130
1 files changed, 106 insertions, 24 deletions
diff --git a/Documentation/RelNotes/2.47.0.txt b/Documentation/RelNotes/2.47.0.txt
index 30bae56aa8..cae537422b 100644
--- a/Documentation/RelNotes/2.47.0.txt
+++ b/Documentation/RelNotes/2.47.0.txt
@@ -35,6 +35,38 @@ UI, Workflows & Features
environment variables, but now they can be configured in the user's
global and system wide configuration.
+ * "git send-email" learned "--translate-aliases" option that reads
+ addresses from the standard input and emits the result of applying
+ aliases on them to the standard output.
+
+ * 'git for-each-ref' learned a new "--format" atom to find the branch
+ that the history leading to a given commit "%(is-base:<commit>)" is
+ likely based on.
+
+ * The command line prompt support used to be littered with bash-isms,
+ which has been corrected to work with more shells.
+
+ * Support for the RUNTIME_PREFIX feature has been added to z/OS port.
+
+ * "git send-email" learned "--mailmap" option to allow rewriting the
+ recipient addresses.
+
+ * "git mergetool" learned to use VSCode as a merge backend.
+
+ * "git pack-redundant" has been marked for removal in Git 3.0.
+
+ * One-line messages to "die" and other helper functions will get LF
+ added by these helper functions, but many existing messages had an
+ unnecessary LF at the end, which have been corrected.
+
+ * The "scalar clone" command learned the "--no-tags" option.
+
+ * The environment GIT_ADVICE has been intentionally kept undocumented
+ to discourage its use by interactive users. Add documentation to
+ help tool writers.
+
+ * "git apply --3way" learned to take "--ours" and other options.
+
Performance, Internal Implementation, Development Support etc.
--------------------------------------------------------------
@@ -85,6 +117,34 @@ Performance, Internal Implementation, Development Support etc.
object in the config subsystem has been rewritten to pass a
repository object through the callchain.
+ * Unused parameters have been either marked as UNUSED to squelch
+ -Wunused warnings or dropped from many functions..
+
+ * The code in the reftable library has been cleaned up by discarding
+ unused "generic" interface.
+
+ * The underlying machinery for "git diff-index" has long been made to
+ expand the sparse index as needed, but the command fully expanded
+ the sparse index upfront, which now has been taught not to do.
+
+ * More trace2 events at key points on push and fetch code paths have
+ been added.
+
+ * Make our codebase compilable with the -Werror=unused-parameter
+ option.
+
+ * "git cat-file" works well with the sparse-index, and gets marked as
+ such.
+
+ * CI started failing completely for linux32 jobs, as the step to
+ upload failed test directory uses GitHub actions that is deprecated
+ and is now disabled.
+
+ * Import clar unit tests framework libgit2 folks invented for our
+ use.
+
+ * The error messages from the test script checker have been improved.
+
Fixes since v2.46
-----------------
@@ -114,61 +174,83 @@ Fixes since v2.46
corrected.
* 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).
* "git bundle unbundle" outside a repository triggered a BUG()
unnecessarily, which has been corrected.
- (merge 96a9a3e42e ps/bundle-outside-repo-fix later to maint).
+
+ * Maintenance tasks other than "gc" now properly go background when
+ "git maintenance" runs them.
+
+ * We created a useless pseudo-merge reachability bitmap that is about
+ 0 commits, and attempted to include commits that are not in packs,
+ which made no sense. These bugs have been corrected.
+ (merge a72dfab8b8 tb/pseudo-merge-bitmap-fixes later to maint).
+
+ * "git rebase -x --quiet" was not quiet, which was corrected.
+
+ * The code path for compacting reftable files saw some bugfixes
+ against concurrent operation.
+
+ * The code forgot to discard unnecessary in-core commit buffer data
+ for commits that "git log --skip=<number>" traversed but omitted
+ from the output, which has been corrected.
+
+ * "git verify-pack" and "git index-pack" started dying outside a
+ repository, which has been corrected.
+
+ * A data corruption bug when multi-pack-index is used and the same
+ objects are stored in multiple packfiles has been corrected.
+
+ * "git pack-refs --auto" for the files backend was too aggressive,
+ which has been a bit tamed.
+ (merge c3459ae9ef ps/pack-refs-auto-heuristics later to maint).
+
+ * A file descriptor left open is now properly closed when "git
+ sparse-checkout" updates the sparse patterns.
+
+ * In a few corner cases "git diff --exit-code" failed to report
+ "changes" (e.g., renamed without any content change), which has
+ been corrected.
+ (merge 11591850dd rs/diff-exit-code-fix later to maint).
+
+ * Cygwin does have /dev/tty support that is needed by things like
+ single-key input mode.
+ (merge 39ba986b0e rj/cygwin-has-dev-tty later to maint).
+
+ * The interpret-trailers command failed to recognise the end of the
+ message when the commit log ends in an incomplete line.
+ (merge c02414a997 bl/trailers-and-incomplete-last-line-fix later to maint).
* Other code cleanup, docfix, build fix, etc.
- (merge bb0498b1bb jc/how-to-maintain-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).
- (merge 0d66f601a9 jc/tests-no-useless-tee later to maint).
- (merge 170cdfc5a4 jc/grammo-fixes later to maint).
- (merge 983555a1f2 jc/how-to-maintain-updates later to maint).
- (merge e3209bd4df ps/stash-keep-untrack-empty-fix later to maint).
+ (merge be10ac7037 jc/mailinfo-header-cleanup later to maint).
+ (merge 9a36ea37ae jc/doc-skip-fetch-all-and-prefetch later to maint).
+ (merge 4460e052e0 jc/range-diff-lazy-setup later to maint).