Skip to content

Commit f2820cf

Browse files
committed
Sync with master
2 parents 918870c + 83232e3 commit f2820cf

File tree

1 file changed

+118
-0
lines changed

1 file changed

+118
-0
lines changed

Documentation/RelNotes/2.22.0.txt

Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,24 @@ UI, Workflows & Features
4949
* "git mergetool" learned to offer Sublime Merge (smerge) as one of
5050
its backends.
5151

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+
5270

5371
Performance, Internal Implementation, Development Support etc.
5472

@@ -94,6 +112,24 @@ Performance, Internal Implementation, Development Support etc.
94112
command getting non-unique when a new option that share the same
95113
prefix is added.
96114

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+
97133

98134
Fixes since v2.21
99135
-----------------
@@ -240,6 +276,81 @@ Fixes since v2.21
240276
* The documentation for "git read-tree --reset -u" has been updated.
241277
(merge b5a0bd694c nd/read-tree-reset-doc later to maint).
242278

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+
243354
* Code cleanup, docfix, build fix, etc.
244355
(merge 11f470aee7 jc/test-yes-doc later to maint).
245356
(merge 90503a240b js/doc-symref-in-proto-v1 later to maint).
@@ -267,3 +378,10 @@ Fixes since v2.21
267378
(merge 0b918b75af sg/t5318-cleanup later to maint).
268379
(merge 68ed71b53c cb/doco-mono later to maint).
269380
(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).

0 commit comments

Comments
 (0)