@@ -39,6 +39,13 @@ UI, Workflows & Features
39
39
* The logic and data used to compute the display width needed for
40
40
UTF-8 strings have been updated to match Unicode 6.3 better.
41
41
42
+ * HTTP-based transports learned to propagate the error messages from
43
+ the webserver better to the client coming over the HTTP transport.
44
+
45
+ * The "core.preloadindex" configuration variable is by default
46
+ enabled, allowing modern platforms to take advantage of the
47
+ multiple cores they have.
48
+
42
49
* "git commit --date=<date>" option learned to read from more
43
50
timestamp formats, including "--date=now".
44
51
@@ -49,13 +56,20 @@ UI, Workflows & Features
49
56
already starts a line in the message being edited for cases like
50
57
"git commit --amend".
51
58
59
+ * "git format-patch" learned --signature-file=<file> to take the mail
60
+ signature from.
61
+
52
62
* "git grep" learned grep.fullname configuration variable to force
53
63
"--full-name" to be default. This may cause regressions on
54
64
scripted users that do not expect this new behaviour.
55
65
56
66
* "git imap-send" learned to ask the credential helper for auth
57
67
material.
58
68
69
+ * "git log" and friends now understand the value "auto" set to the
70
+ "log.decorate" configuration variable to enable the "--decorate"
71
+ option automatically when the output is sent to tty.
72
+
59
73
* "git merge" without argument, even when there is an upstream
60
74
defined for the current branch, refused to run until
61
75
merge.defaultToUpstream is set to true. Flip the default of that
@@ -76,6 +90,8 @@ UI, Workflows & Features
76
90
users need to explicitly set the variable to 'true' if they want
77
91
to resurrect the now-ignored use case.
78
92
93
+ * "git replace" learned the "--edit" subcommand.
94
+
79
95
* "git svn" learned to cope with malformed timestamps with only one
80
96
digit in the hour part, e.g. 2014-01-07T5:01:02.048176Z, emitted
81
97
by some broken subversion server implementations.
@@ -102,6 +118,10 @@ Performance, Internal Implementation, etc.
102
118
example, "update-ref --stdin [-z]" has been updated to use this
103
119
API.
104
120
121
+ * Parts of the test scripts can be skipped by using a range notation,
122
+ e.g. "sh t1234-test.sh --run='1-4 6 8-'" to omit test piece 5 and 7
123
+ and run everything else.
124
+
105
125
106
126
Also contains various documentation updates and code clean-ups.
107
127
@@ -129,6 +149,27 @@ notes for details).
129
149
corrected.
130
150
(merge e61a6c1 pb/trim-trailing-spaces later to maint).
131
151
152
+ * Reworded the error message given upon a failure to open an existing
153
+ loose object file due to e.g. permission issues; it was reported as
154
+ the object being corrupt, but that is not quite true.
155
+ (merge d6c8a05 jk/report-fail-to-read-objects-better later to maint).
156
+
157
+ * The "%<(10,trunc)%s" pretty format specifier in the log family of
158
+ commands is used to truncate the string to a given length (e.g. 10
159
+ in the example) with padding to column-align the output, but did
160
+ not take into account that number of bytes and number of display
161
+ columns are different.
162
+ (merge 7d50987 as/pretty-truncate later to maint).
163
+
164
+ * The "mailmap.file" configuration option did not support the tilde
165
+ expansion (i.e. ~user/path and ~/path).
166
+ (merge 9352fd5 ow/config-mailmap-pathname later to maint).
167
+
168
+ * The completion scripts (in contrib/) did not know about quite a few
169
+ options that are common between "git merge" and "git pull", and a
170
+ couple of options unique to "git merge".
171
+ (merge 8fee872 jk/complete-merge-pull later to maint).
172
+
132
173
* "--ignore-space-change" option of "git apply" ignored the spaces
133
174
at the beginning of line too aggressively, which is inconsistent
134
175
with the option of the same name "diff" and "git diff" have.
@@ -148,6 +189,22 @@ notes for details).
148
189
commit did not have any log message.
149
190
(merge 076cbd6 jk/commit-C-pick-empty later to maint).
150
191
192
+ * "git diff --find-copies-harder" sometimes pretended as if the mode
193
+ bits have changed for paths that are marked with assume-unchanged
194
+ bit.
195
+ (merge 5304810 jk/diff-files-assume-unchanged later to maint).
196
+
197
+ * "git format-patch" did not enforce the rule that the "--follow"
198
+ option from the log/diff family of commands must be used with
199
+ exactly one pathspec.
200
+ (merge dd63f16 jk/diff-follow-must-take-one-pathspec later to maint).
201
+
202
+ * "git gc --auto" was recently changed to run in the background to
203
+ give control back early to the end-user sitting in front of the
204
+ terminal, but it forgot that housekeeping involving reflogs should
205
+ be done without other processes competing for accesses to the refs.
206
+ (merge 62aad18 nd/daemonize-gc later to maint).
207
+
151
208
* "git grep -O" to show the lines that hit in the pager did not work
152
209
well with case insensitive search. We now spawn "less" with its
153
210
"-I" option when it is used as the pager (which is the default).
@@ -171,16 +228,31 @@ notes for details).
171
228
except for case differences.
172
229
(merge baa37bf dt/merge-recursive-case-insensitive later to maint).
173
230
231
+ * "git pack-objects" unnecessarily copied the previous contents when
232
+ extending the hashtable, even though it will populate the table
233
+ from scratch anyway.
234
+ (merge fb79947 rs/pack-objects-no-unnecessary-realloc later to maint).
235
+
174
236
* "git rerere forget" did not work well when merge.conflictstyle
175
237
was set to a non-default value.
176
238
(merge de3d8bb fc/rerere-conflict-style later to maint).
177
239
240
+ * "git remote rm" and "git remote prune" can involve removing many
241
+ refs at once, which is not a very efficient thing to do when very
242
+ many refs exist in the packed-refs file.
243
+ (merge e6bea66 jl/remote-rm-prune later to maint).
244
+
178
245
* "git log --exclude=<glob> --all | git shortlog" worked as expected,
179
246
but "git shortlog --exclude=<glob> --all", which is supposed to be
180
247
identical to the above pipeline, was not accepted at the command
181
248
line argument parser level.
182
249
(merge eb07774 jc/shortlog-ref-exclude later to maint).
183
250
251
+ * The autostash mode of "git rebase -i" did not restore the dirty
252
+ working tree state if the user aborted the interactive rebase by
253
+ emptying the insn sheet.
254
+ (merge ddb5432 rr/rebase-autostash-fix later to maint).
255
+
184
256
* "git show -s" (i.e. show log message only) used to incorrectly emit
185
257
an extra blank line after a merge commit.
186
258
(merge ad2f725 mk/show-s-no-extra-blank-line-for-merges later to maint).
@@ -192,6 +264,14 @@ notes for details).
192
264
is running. Detect such a race and avoid overwriting the index.
193
265
(merge 426ddee ym/fix-opportunistic-index-update-race later to maint).
194
266
267
+ * "git status" (and "git commit") behaved as if changes in a modified
268
+ submodule are not there if submodule.*.ignore configuration is set,
269
+ which was misleading. The configuration is only to unclutter diff
270
+ output during the course of development, and should not to hide
271
+ changes in the "status" output to cause the users forget to commit
272
+ them.
273
+ (merge c215d3d jl/status-added-submodule-is-never-ignored later to maint).
274
+
195
275
* "git update-index --cacheinfo" in 2.0 release crashed on a
196
276
malformed command line.
197
277
(merge c8e1ee4 jc/rev-parse-argh-dashed-multi-words later to maint).
0 commit comments