1 Git v2.45.3 Release Notes
2 =========================
4 This primarily is to backport various small fixes accumulated on the
5 'master' front during the development towards Git 2.46, the next
12 * Git-GUI has a new maintainer, Johannes Sixt.
14 * Tests that try to corrupt in-repository files in chunked format did
15 not work well on macOS due to its broken "mv", which has been
18 * The maximum size of attribute files is enforced more consistently.
20 * Unbreak CI jobs so that we do not attempt to use Python 2 that has
21 been removed from the platform.
23 * Git 2.43 started using the tree of HEAD as the source of attributes
24 in a bare repository, which has severe performance implications.
25 For now, revert the change, without ripping out a more explicit
26 support for the attr.tree configuration variable.
28 * Windows CI running in GitHub Actions started complaining about the
29 order of arguments given to calloc(); the imported regex code uses
30 the wrong order almost consistently, which has been corrected.
32 * The SubmittingPatches document now refers folks to manpages
35 * "git rebase --signoff" used to forget that it needs to add a
36 sign-off to the resulting commit when told to continue after a
37 conflict stops its operation.
39 * The procedure to build multi-pack-index got confused by the
40 replace-refs mechanism, which has been corrected by disabling the
43 * "git stash -S" did not handle binary files correctly, which has
46 * A scheduled "git maintenance" job is expected to work on all
47 repositories it knows about, but it stopped at the first one that
48 errored out. Now it keeps going.
50 * zsh can pretend to be a normal shell pretty well except for some
51 glitches that we tickle in some of our scripts. Work them around
52 so that "vimdiff" and our test suite works well enough with it.
54 * Command line completion support for zsh (in contrib/) has been
55 updated to stop exposing internal state to end-user shell
58 * The documentation for "git diff --name-only" has been clarified
59 that it is about showing the names in the post-image tree.
61 * The chainlint script (invoked during "make test") did nothing when
62 it failed to detect the number of available CPUs. It now falls
63 back to 1 CPU to avoid the problem.
65 * "git init" in an already created directory, when the user
66 configuration has includeif.onbranch, started to fail recently,
67 which has been corrected.
69 * The safe.directory configuration knob has been updated to
70 optionally allow leading path matches.
72 * An overly large ".gitignore" files are now rejected silently.
74 * Fix for an embarrassing typo that prevented Python2 tests from running
77 * Varargs functions that are unannotated as printf-like or execl-like
78 have been annotated as such.
80 * The "-k" and "--rfc" options of "format-patch" will now error out
81 when used together, as one tells us not to add anything to the
82 title of the commit, and the other one tells us to add "RFC" in
85 * When the user adds to "git rebase -i" instruction to "pick" a merge
86 commit, the error experience is not pleasant. Such an error is now
87 caught earlier in the process that parses the todo list.
89 * We forgot to normalize the result of getcwd() to NFC on macOS where
90 all other paths are normalized, which has been corrected. This still
91 does not address the case where core.precomposeUnicode configuration
92 is not defined globally.
94 * Earlier we stopped using the tree of HEAD as the default source of
95 attributes in a bare repository, but failed to document it. This
98 * An unused extern declaration for mingw has been removed to prevent
99 it from causing build failure.
101 * A helper function shared between two tests had a copy-paste bug,
102 which has been corrected.
104 * "git fetch-pack -k -k" without passing "--lock-pack" (which we
105 never do ourselves) did not work at all, which has been corrected.
107 Also contains various documentation updates and code clean-ups.