@@ -6,7 +6,9 @@ Updates since v2.2
66
77Ports
88
9- *
9+ * Recent gcc toolchain on Cygwin started throwing compilation warning,
10+ which has been squelched.
11+
1012
1113UI, Workflows & Features
1214
@@ -18,10 +20,61 @@ UI, Workflows & Features
1820 note from the object but with --allow-empty we will store a
1921 (surprise!) note that is empty.
2022
23+ * "git interpret-trailers" learned to properly handle the
24+ "Conflicts:" block at the end.
25+
26+ * "git am" learned "--message-id" option to copy the message ID of
27+ the incoming e-mail to the log message of resulting commit.
28+
29+ * "git send-email" learned "--transfer-encoding" option to force a
30+ non-fault Content-Transfer-Encoding header (e.g. base64).
31+
32+ * "git push" into a repository with a working tree normally refuses
33+ to modify the branch that is checked out. The command learned to
34+ optionally do an equivalent of "git reset --hard" only when there
35+ is no change to the working tree and the index instead, which would
36+ be useful to "deploy" by pushing into a repository.
37+
38+ * "git new-workdir" (in contrib/) can be used to populate an empty
39+ and existing directory now.
40+
41+ * Credential helpers are asked in turn until one of them give
42+ positive response, which is cumbersome to turn off when you need to
43+ run Git in an automated setting. The credential helper interface
44+ learned to allow a helper to say "stop, don't ask other helpers."
45+ Also GIT_TERMINAL_PROMPT environment can be set to false to disable
46+ our built-in prompt mechanism for passwords.
47+
48+ * "git branch -d" (delete) and "git branch -m" (move) learned to
49+ honor "-f" (force) flag; unlike many other subcommands, the way to
50+ force these have been with separate "-D/-M" options, which was
51+ inconsistent.
52+
53+ * "diff-highlight" filter (in contrib/) allows its color output to be
54+ customized via configuration variables.
55+
2156
2257Performance, Internal Implementation, Development Support etc.
2358
24- *
59+ * Some filesystems assign filemodes in a strange way, fooling then
60+ automatic "filemode trustability" check done during a new
61+ repository creation. The initialization codepath has been hardened
62+ against this issue.
63+
64+ * The codepath in "git remote update --prune" to drop many refs has
65+ been optimized.
66+
67+ * Long overdue departure from the assumption that S_IFMT is shared by
68+ everybody made in 2005, which was necessary to port to z/OS.
69+
70+ * "git push" and "git fetch" did not communicate an overlong refname
71+ correctly. Now it uses 64kB sideband to accommodate longer ones.
72+
73+ * Recent GPG changes the keyring format and drops support for RFC1991
74+ formatted signatures, breaking our existing tests.
75+
76+ * "git-prompt" (in contrib/) used a variable from the global scope,
77+ possibly contaminating end-user's namespace.
2578
2679
2780Also contains various documentation updates and code clean-ups.
@@ -34,6 +87,44 @@ Unless otherwise noted, all the fixes since v2.2 in the maintenance
3487track are contained in this release (see the maintenance releases'
3588notes for details).
3689
90+ * Recent update to "git commit" broke amending an existing commit
91+ with bogus author/committer lines without a valid e-mail address.
92+ (merge c83a509 jk/commit-date-approxidate later to maint).
93+
94+ * Git did not correctly read an overlong refname from a packed refs
95+ file.
96+ (merge ea41783 jk/read-packed-refs-without-path-max later to maint).
97+
98+ * "git apply" was described in the documentation to take --ignore-date
99+ option, which it does not.
100+ (merge 0cef4e7 rw/apply-does-not-take-ignore-date later to maint).
101+
102+ * New tag object format validation added in 2.2 showed garbage after
103+ a tagname it reported in its error message.
104+ (merge a1e920a js/fsck-tag-validation later to maint).
105+
106+ * The code that reads the reflog from the newer to the older entries
107+ did not handle an entry that crosses a boundary of block it uses to
108+ read them correctly.
109+ (merge 69216bf jk/for-each-reflog-ent-reverse later to maint).
110+
111+ * "git ls-tree" does not support path selection based on negative
112+ pathspecs, but did not error out when negative pathspecs are given.
113+ (merge f1f6224 nd/ls-tree-pathspec later to maint).
114+
115+ * The function sometimes returned a non-freeable memory and some
116+ other times returned a piece of memory that must be freed, leading
117+ to inevitable leaks.
118+ (merge 59362e5 jc/exec-cmd-system-path-leak-fix later to maint).
119+
120+ * The code to abbreviate an object name to its short unique prefix
121+ has been optimized when no abbreviation was requested.
122+ (merge 61e704e mh/find-uniq-abbrev later to maint).
123+
124+ * "git add --ignore-errors ..." did not ignore an error to
125+ give a file that did not exist.
126+ (merge 1d31e5a mg/add-ignore-errors later to maint).
127+
37128 * "git checkout $treeish $path", when $path in the index and the
38129 working tree already matched what is in $treeish at the $path,
39130 still overwrote the $path unnecessarily.
0 commit comments