Skip to content

Commit d166e6a

Browse files
committed
Tenth batch for 2.20
Signed-off-by: Junio C Hamano <gitster@pobox.com>
1 parent 95182c6 commit d166e6a

File tree

1 file changed

+98
-0
lines changed

1 file changed

+98
-0
lines changed

Documentation/RelNotes/2.20.0.txt

Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,18 @@ UI, Workflows & Features
161161
"--smtp-auth=none" option, even when the smtp username is given
162162
(which turns the authentication on by default).
163163

164+
* A fourth class of configuration files (in addition to the
165+
traditional "system wide", "per user in the $HOME directory" and
166+
"per repository in the $GIT_DIR/config") has been introduced so
167+
that different worktrees that share the same repository (hence the
168+
same $GIT_DIR/config file) can use different customization.
169+
170+
* A pattern with '**' that does not have a slash on either side used
171+
to be an invalid one, but the code now treats such double-asterisks
172+
the same way as two normal asterisks that happen to be adjacent to
173+
each other.
174+
(merge e5bbe09e88 nd/wildmatch-double-asterisk later to maint).
175+
164176

165177
Performance, Internal Implementation, Development Support etc.
166178

@@ -282,6 +294,44 @@ Performance, Internal Implementation, Development Support etc.
282294

283295
* Windows port learned to use nano-second resolution file timestamps.
284296

297+
* The overly large Documentation/config.txt file have been split into
298+
million little pieces. This potentially allows each individual piece
299+
included into the manual page of the command it affects more easily.
300+
301+
* Replace three string-list instances used as look-up tables in "git
302+
fetch" with hashmaps.
303+
304+
* Unify code to read the author-script used in "git am" and the
305+
commands that use the sequencer machinery, e.g. "git rebase -i".
306+
307+
* In preparation to the day when we can deprecate and remove the
308+
"rebase -p", make sure we can skip and later remove tests for
309+
it.
310+
311+
* The history traversal used to implement the tag-following has been
312+
optimized by introducing a new helper.
313+
314+
* The helper function to refresh the cached stat information in the
315+
in-core index has learned to perform the lstat() part of the
316+
operation in parallel on multi-core platforms.
317+
318+
* The code to traverse objects for reachability, used to decide what
319+
objects are unreferenced and expendable, have been taught to also
320+
consider per-worktree refs of other worktrees as starting points to
321+
prevent data loss.
322+
323+
* "git add" needs to internally run "diff-files" equivalent, and the
324+
codepath learned the same optimization as "diff-files" has to run
325+
lstat(2) in parallel to find which paths have been updated in the
326+
working tree.
327+
328+
* The procedure to install dependencies before testing at Travis CI
329+
is getting revamped for both simplicity and flexibility, taking
330+
advantage of the recent move to the vm-based environment.
331+
332+
* The support for format-patch (and send-email) by the command-line
333+
completion script (in contrib/) has been simplified a bit.
334+
285335

286336
Fixes since v2.19
287337
-----------------
@@ -447,6 +497,53 @@ Fixes since v2.19
447497
'--verbose-log' option.
448498
(merge a5f52c6dab sg/test-verbose-log later to maint).
449499

500+
* A regression in Git 2.12 era made "git fsck" fall into an infinite
501+
loop while processing truncated loose objects.
502+
(merge 18ad13e5b2 jk/detect-truncated-zlib-input later to maint).
503+
504+
* "git ls-remote $there foo" was broken by recent update for the
505+
protocol v2 and stopped showing refs that match 'foo' that are not
506+
refs/{heads,tags}/foo, which has been fixed.
507+
(merge 6a139cdd74 jk/proto-v2-ref-prefix-fix later to maint).
508+
509+
* Additional comment on a tricky piece of code to help developers.
510+
(merge 0afbe3e806 jk/stream-pack-non-delta-clarification later to maint).
511+
512+
* A couple of tests used to leave the repository in a state that is
513+
deliberately corrupt, which have been corrected.
514+
(merge aa984dbe5e ab/pack-tests-cleanup later to maint).
515+
516+
* The submodule support has been updated to read from the blob at
517+
HEAD:.gitmodules when the .gitmodules file is missing from the
518+
working tree.
519+
(merge 2b1257e463 ao/submodule-wo-gitmodules-checked-out later to maint).
520+
521+
* "git fetch" was a bit loose in parsing responses from the other side
522+
when talking over the protocol v2.
523+
524+
* "git rev-parse --exclude=* --branches --branches" (i.e. first
525+
saying "add only things that do not match '*' out of all branches"
526+
and then adding all branches, without any exclusion this time")
527+
worked as expected, but "--exclude=* --all --all" did not work the
528+
same way, which has been fixed.
529+
(merge 5221048092 ag/rev-parse-all-exclude-fix later to maint).
530+
531+
* "git send-email --transfer-encoding=..." in recent versions of Git
532+
sometimes produced an empty "Content-Transfer-Encoding:" header,
533+
which has been corrected.
534+
(merge 3c88e46f1a al/send-email-auto-cte-fixup later to maint).
535+
536+
* The interface into "xdiff" library used to discover the offset and
537+
size of a generated patch hunk by first formatting it into the
538+
textual hunk header "@@ -n,m +k,l @@" and then parsing the numbers
539+
out. A new interface has been introduced to allow callers a more
540+
direct access to them.
541+
(merge 5eade0746e jk/xdiff-interface later to maint).
542+
543+
* Pathspec matching against a tree object were buggy when negative
544+
pathspec elements were involved, which has been fixed.
545+
(merge b7845cebc0 nd/tree-walk-path-exclusion later to maint).
546+
450547
* Code cleanup, docfix, build fix, etc.
451548
(merge 96a7501aad ts/doc-build-manpage-xsl-quietly later to maint).
452549
(merge b9b07efdb2 tg/conflict-marker-size later to maint).
@@ -485,3 +582,4 @@ Fixes since v2.19
485582
(merge aaaa881822 jk/uploadpack-packobjectshook-fix later to maint).
486583
(merge 3063477445 tb/char-may-be-unsigned later to maint).
487584
(merge 8c64bc9420 sg/test-rebase-editor-fix later to maint).
585+
(merge 71571cd7d6 ma/sequencer-do-reset-saner-loop-termination later to maint).

0 commit comments

Comments
 (0)