The seventh batch

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Junio C Hamano committed Apr 25, 2019 at 16:03 UTC 83232e38648b51abbcbdb56c94632b6906cc85a6
1 file changed +118
Documentation/RelNotes/2.22.0.txt
+118
@@ -49,6 +49,24 @@ UI, Workflows & Features
49 * "git mergetool" learned to offer Sublime Merge (smerge) as one of
50 its backends.
51
52 + * A new hook "post-index-change" is called when the on-disk index
53 + file changes, which can help e.g. a virtualized working tree
54 + implementation.
55 +
56 + * "git difftool" can now run outside a repository.
57 +
58 + * "git checkout -m <other>" was about carrying the differences
59 + between HEAD and the working-tree files forward while checking out
60 + another branch, and ignored the differences between HEAD and the
61 + index. The command has been taught to abort when the index and the
62 + HEAD are different.
63 +
64 + * A progress indicator has been added to the "index-pack" step, which
65 + often makes users wait for completion during "git clone".
66 +
67 + * "git submodule" learns "set-branch" subcommand that allows the
68 + submodule.*.branch settings to be modified.
69 +
70
71 Performance, Internal Implementation, Development Support etc.
72
@@ -94,6 +112,24 @@ Performance, Internal Implementation, Development Support etc.
112 command getting non-unique when a new option that share the same
113 prefix is added.
114
115 + * The scripted version of "git rebase -i" wrote and rewrote the todo
116 + list many times during a single step of its operation, and the
117 + recent C-rewrite made a faithful conversion of the logic to C. The
118 + implementation has been updated to carry necessary information
119 + around in-core to avoid rewriting the same file over and over
120 + unnecessarily.
121 +
122 + * Test framework update to more robustly clean up leftover files and
123 + processes after tests are done.
124 +
125 + * Conversion from unsigned char[20] to struct object_id continues.
126 +
127 + * While running "git diff" in a lazy clone, we can upfront know which
128 + missing blobs we will need, instead of waiting for the on-demand
129 + machinery to discover them one by one. The code learned to aim to
130 + achieve better performance by batching the request for these
131 + promised blobs.
132 +
133
134 Fixes since v2.21
135 -----------------
@@ -240,6 +276,81 @@ Fixes since v2.21
276 * The documentation for "git read-tree --reset -u" has been updated.
277 (merge b5a0bd694c nd/read-tree-reset-doc later to maint).
278
279 + * Code clean-up around a much-less-important-than-it-used-to-be
280 + update_server_info() funtion.
281 + (merge b3223761c8 jk/server-info-rabbit-hole later to maint).
282 +
283 + * The message given when "git commit -a <paths>" errors out has been
284 + updated.
285 + (merge 5a1dbd48bc nd/commit-a-with-paths-msg-update later to maint).
286 +
287 + * "git cherry-pick --options A..B", after giving control back to the
288 + user to ask help resolving a conflicted step, did not honor the
289 + options it originally received, which has been corrected.
290 +
291 + * Various glitches in "git gc" around reflog handling have been fixed.
292 +
293 + * The code to read from commit-graph file has been cleanup with more
294 + careful error checking before using data read from it.
295 +
296 + * Performance fix around "git fetch" that grabs many refs.
297 + (merge b764300912 jt/fetch-pack-wanted-refs-optim later to maint).
298 +
299 + * Protocol v2 support in "git fetch-pack" of shallow clones has been
300 + corrected.
301 +
302 + * Performance fix around "git blame", especially in a linear history
303 + (which is the norm we should optimize for).
304 + (merge f892014943 dk/blame-keep-origin-blob later to maint).
305 +
306 + * Performance fix for "rev-list --parents -- pathspec".
307 + (merge 8320b1dbe7 jk/revision-rewritten-parents-in-prio-queue later to maint).
308 +
309 + * Updating the display with progress message has been cleaned up to
310 + deal better with overlong messages.
311 + (merge 545dc345eb sg/overlong-progress-fix later to maint).
312 +
313 + * "git blame -- path" in a non-bare repository starts blaming from
314 + the working tree, and the same command in a bare repository errors
315 + out because there is no working tree by definition. The command
316 + has been taught to instead start blaming from the commit at HEAD,
317 + which is more useful.
318 + (merge a544fb08f8 sg/blame-in-bare-start-at-head later to maint).
319 +
320 + * An underallocation in the code to read the untracked cache
321 + extension has been corrected.
322 + (merge 3a7b45a623 js/untracked-cache-allocfix later to maint).
323 +
324 + * The code is updated to check the result of memory allocation before
325 + it is used in more places, by using xmalloc and/or xcalloc calls.
326 + (merge 999b951b28 jk/xmalloc later to maint).
327 +
328 + * The GETTEXT_POISON test option has been quite broken ever since it
329 + was made runtime-tunable, which has been fixed.
330 + (merge f88b9cb603 jc/gettext-test-fix later to maint).
331 +
332 + * Test fix on APFS that is incapable of store paths in Latin-1.
333 + (merge 3889149619 js/iso8895-test-on-apfs later to maint).
334 +
335 + * "git submodule foreach <command> --quiet" did not pass the option
336 + down correctly, which has been corrected.
337 + (merge a282f5a906 nd/submodule-foreach-quiet later to maint).
338 +
339 + * "git send-email" has been taught to use quoted-printable when the
340 + payload contains carriage-return. The use of the mechanism is in
341 + line with the design originally added the codepath that chooses QP
342 + when the payload has overly long lines.
343 + (merge 74d76a1701 bc/send-email-qp-cr later to maint).
344 +
345 + * The recently added feature to add addresses that are on
346 + anything-by: trailers in 'git send-email' was found to be way too
347 + eager and considered nonsense strings as if they can be legitimate
348 + beginning of *-by: trailer. This has been tightened.
349 +
350 + * Build with gettext breaks on recent macOS w/ Homebrew when
351 + /usr/local/bin is not on PATH, which has been corrected.
352 + (merge 92a1377a2a js/macos-gettext-build later to maint).
353 +
354 * Code cleanup, docfix, build fix, etc.
355 (merge 11f470aee7 jc/test-yes-doc later to maint).
356 (merge 90503a240b js/doc-symref-in-proto-v1 later to maint).
@@ -267,3 +378,10 @@ Fixes since v2.21
378 (merge 0b918b75af sg/t5318-cleanup later to maint).
379 (merge 68ed71b53c cb/doco-mono later to maint).
380 (merge a34dca2451 nd/interpret-trailers-docfix later to maint).
381 + (merge cf7b857a77 en/fast-import-parsing-fix later to maint).
382 + (merge fe61ccbc35 po/rerere-doc-fmt later to maint).
383 + (merge ffea0248bf po/describe-not-necessarily-7 later to maint).
384 + (merge 7cb7283adb tg/ls-files-debug-format-fix later to maint).
385 + (merge f64a21bd82 tz/doc-apostrophe-no-longer-needed later to maint).
386 + (merge dbe7b41019 js/t3301-unbreak-notes-test later to maint).
387 + (merge d8083e4180 km/t3000-retitle later to maint).