Ninth batch for 2.11
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano committed
Oct 10, 2016 at 14:09 UTC
8a36cd87b7c85a651ab388d403629865ffa3ba0d
1 file changed
+40
-23
Documentation/RelNotes/2.11.0.txt
+40
-23
@@ -133,6 +133,16 @@ Performance, Internal Implementation, Development Support etc.
133
* The codepath in "git fsck" to detect malformed tree objects has
134
been updated not to die but keep going after detecting them.
135
136
+ * We call "qsort(array, nelem, sizeof(array[0]), fn)", and most of
137
+ the time third parameter is redundant. A new QSORT() macro lets us
138
+ omit it.
139
+
140
+ * "git pack-objects" in a repository with many packfiles used to
141
+ spend a lot of time looking for/at objects in them; the accesses to
142
+ the packfiles are now optimized by checking the most-recently-used
143
+ packfile first.
144
+ (merge c9af708b1a jk/pack-objects-optim-mru later to maint).
145
+
146
147
Also contains various documentation updates and code clean-ups.
148
@@ -174,35 +184,28 @@ notes for details).
184
we are sending an object C, we want a tag B that directly points at
185
C but also a tag A that points at the tag B. We used to miss the
186
intermediate tag B in some cases.
177
- (merge b773dde jk/pack-tag-of-tag later to maint).
187
188
* Update Japanese translation for "git-gui".
180
- (merge 02748bc sy/git-gui-i18n-ja later to maint).
189
190
* "git fetch http::/site/path" did not die correctly and segfaulted
191
instead.
184
- (merge d63ed6e jk/fix-remote-curl-url-wo-proto later to maint).
192
193
* "git commit-tree" stopped reading commit.gpgsign configuration
194
variable that was meant for Porcelain "git commit" in Git 2.9; we
195
forgot to update "git gui" to look at the configuration to match
196
this change.
190
- (merge f14a310 js/git-gui-commit-gpgsign later to maint).
197
198
* "git add --chmod=+x" added recently lacked documentation, which has
199
been corrected.
194
- (merge 7ef7903 et/add-chmod-x later to maint).
200
201
* "git log --cherry-pick" used to include merge commits as candidates
202
to be matched up with other commits, resulting a lot of wasted time.
203
The patch-id generation logic has been updated to ignore merges to
204
avoid the wastage.
200
- (merge 7c81040 jk/patch-ids-no-merges later to maint).
205
206
* The http transport (with curl-multi option, which is the default
207
these days) failed to remove curl-easy handle from a curlm session,
208
which led to unnecessary API failures.
205
- (merge 2abc848 ew/http-do-not-forget-to-call-curl-multi-remove-handle later to maint).
209
210
* There were numerous corner cases in which the configuration files
211
are read and used or not read at all depending on the directory a
@@ -221,13 +224,11 @@ notes for details).
224
* Performance tests done via "t/perf" did not use the same set of
225
build configuration if the user relied on autoconf generated
226
configuration.
224
- (merge cd5c281 ks/perf-build-with-autoconf later to maint).
227
228
* "git format-patch --base=..." feature that was recently added
229
showed the base commit information after "-- " e-mail signature
230
line, which turned out to be inconvenient. The base information
231
has been moved above the signature line.
230
- (merge 480871e jt/format-patch-base-info-above-sig later to maint).
232
233
* More i18n.
234
(merge 43073f8 va/i18n later to maint).
@@ -239,13 +240,11 @@ notes for details).
240
than nice. As the underlying commands used inside "git rebase"
241
would fail with a more meaningful error message and advice text
242
when the bogus ident matters, this extra check was removed.
242
- (merge 1e461c4 jk/rebase-i-drop-ident-check later to maint).
243
244
* "git gc --aggressive" used to limit the delta-chain length to 250,
245
which is way too deep for gaining additional space savings and is
246
detrimental for runtime performance. The limit has been reduced to
247
50.
248
- (merge 07e7dbf jk/reduce-gc-aggressive-depth later to maint).
248
249
* Documentation for individual configuration variables to control use
250
of color (like `color.grep`) said that their default value is
@@ -253,7 +252,6 @@ notes for details).
252
When we updated the default value for color.ui from 'false' to
253
'auto' quite a while ago, all of them broke. This has been
254
corrected.
256
- (merge 14d16e2 mm/config-color-ui-default-to-auto later to maint).
255
256
* The pretty-format specifier "%C(auto)" used by the "log" family of
257
commands to enable coloring of the output is taught to also issue a
@@ -262,7 +260,6 @@ notes for details).
260
261
* A shell script example in check-ref-format documentation has been
262
fixed.
265
- (merge 92dece7 ep/doc-check-ref-format-example later to maint).
263
264
* "git checkout <word>" does not follow the usual disambiguation
265
rules when the <word> can be both a rev and a path, to allow
@@ -270,7 +267,6 @@ notes for details).
267
file 'foo' in the working tree without having to disambiguate.
268
This was poorly documented and the check was incorrect when the
269
command was run from a subdirectory.
273
- (merge b829b94 nd/checkout-disambiguation later to maint).
270
271
* Some codepaths in "git diff" used regexec(3) on a buffer that was
272
mmap(2)ed, which may not have a terminating NUL, leading to a read
@@ -283,15 +279,12 @@ notes for details).
279
internal directory structure we assumed HomeBrew uses, which was a
280
no-no. The procedure has been updated to ask HomeBrew things we
281
need to know to fix this.
286
- (merge f86f49b ls/travis-homebrew-path-fix later to maint).
282
283
* When "git rebase -i" is given a broken instruction, it told the
284
user to fix it with "--edit-todo", but didn't say what the step
285
after that was (i.e. "--continue").
291
- (merge 37875b4 rt/rebase-i-broken-insn-advise later to maint).
286
287
* Documentation around tools to import from CVS was fairly outdated.
294
- (merge 106b672 jk/doc-cvs-update later to maint).
288
289
* "git clone --recurse-submodules" lost the progress eye-candy in
290
recent update, which has been corrected.
@@ -311,7 +304,6 @@ notes for details).
304
* In the codepath that comes up with the hostname to be used in an
305
e-mail when the user didn't tell us, we looked at ai_canonname
306
field in struct addrinfo without making sure it is not NULL first.
314
- (merge c375a7efa3 jk/ident-ai-canonname-could-be-null later to maint).
307
308
* "git worktree", even though it used the default_abbrev setting that
309
ought to be affected by core.abbrev configuration variable, ignored
@@ -361,12 +353,37 @@ notes for details).
353
has seen a micro-optimization.
354
(merge e94ce1394e sg/ref-filter-parse-optim later to maint).
355
356
+ * When we started cURL to talk to imap server when a new enough
357
+ version of cURL library is available, we forgot to explicitly add
358
+ imap(s):// before the destination. To some folks, that didn't work
359
+ and the library tried to make HTTP(s) requests instead.
360
+ (merge d2d07ab861 ak/curl-imap-send-explicit-scheme later to maint).
361
+
362
+ * The ./configure script generated from configure.ac was taught how
363
+ to detect support of SSL by libcurl better.
364
+ (merge 924b7eb1c9 dp/autoconf-curl-ssl later to maint).
365
+
366
+ * The command-line completion script (in contrib/) learned to
367
+ complete "git cmd ^mas<HT>" to complete the negative end of
368
+ reference to "git cmd ^master".
369
+ (merge 49416ad22a cp/completion-negative-refs later to maint).
370
+
371
+ * The existing "git fetch --depth=<n>" option was hard to use
372
+ correctly when making the history of an existing shallow clone
373
+ deeper. A new option, "--deepen=<n>", has been added to make this
374
+ easier to use. "git clone" also learned "--shallow-since=<date>"
375
+ and "--shallow-exclude=<tag>" options to make it easier to specify
376
+ "I am interested only in the recent N months worth of history" and
377
+ "Give me only the history since that version".
378
+ (merge cccf74e2da nd/shallow-deepen later to maint).
379
+
380
+ * It is a common mistake to say "git blame --reverse OLD path",
381
+ expecting that the command line is dwimmed as if asking how lines
382
+ in path in an old revision OLD have survived up to the current
383
+ commit.
384
+ (merge e1d09701a4 jc/blame-reverse later to maint).
385
+
386
* Other minor doc, test and build updates and code cleanups.
365
- (merge e78d57e bw/pathspec-remove-unused-extern-decl later to maint).
366
- (merge ce25e4c rs/checkout-some-states-are-const later to maint).
367
- (merge a8342a4 rs/strbuf-remove-fix later to maint).
368
- (merge b56aa5b rs/unpack-trees-reduce-file-scope-global later to maint).
369
- (merge 5efc60c mr/vcs-svn-printf-ulong later to maint).
387
(merge a22ae75 rs/cocci later to maint).
388
(merge 45ccef87b3 rs/copy-array later to maint).
389
(merge 8201688ecd dt/mailinfo later to maint).