@@ -6,7 +6,9 @@ Updates since v2.2
6
6
7
7
Ports
8
8
9
- *
9
+ * Recent gcc toolchain on Cygwin started throwing compilation warning,
10
+ which has been squelched.
11
+
10
12
11
13
UI, Workflows & Features
12
14
@@ -18,10 +20,61 @@ UI, Workflows & Features
18
20
note from the object but with --allow-empty we will store a
19
21
(surprise!) note that is empty.
20
22
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
+
21
56
22
57
Performance, Internal Implementation, Development Support etc.
23
58
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.
25
78
26
79
27
80
Also contains various documentation updates and code clean-ups.
@@ -34,6 +87,44 @@ Unless otherwise noted, all the fixes since v2.2 in the maintenance
34
87
track are contained in this release (see the maintenance releases'
35
88
notes for details).
36
89
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
+
37
128
* "git checkout $treeish $path", when $path in the index and the
38
129
working tree already matched what is in $treeish at the $path,
39
130
still overwrote the $path unnecessarily.
0 commit comments