Skip to content

Commit 6fe1b14

Browse files
committed
Fourth batch for 2.11
Signed-off-by: Junio C Hamano <[email protected]>
1 parent 0952ca8 commit 6fe1b14

File tree

1 file changed

+86
-15
lines changed

1 file changed

+86
-15
lines changed

Documentation/RelNotes/2.11.0.txt

Lines changed: 86 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,16 @@ UI, Workflows & Features
2828
to allow "--submodule=diff" to show the patch between the submodule
2929
commits bound to the superproject.
3030

31+
* Even though "git hash-objects", which is a tool to take an
32+
on-filesystem data stream and put it into the Git object store,
33+
allowed to perform the "outside-world-to-Git" conversions (e.g.
34+
end-of-line conversions and application of the clean-filter), and
35+
it had the feature on by default from very early days, its reverse
36+
operation "git cat-file", which takes an object from the Git object
37+
store and externalize for the consumption by the outside world,
38+
lacked an equivalent mechanism to run the "Git-to-outside-world"
39+
conversion. The command learned the "--filters" option to do so.
40+
3141

3242
Performance, Internal Implementation, Development Support etc.
3343

@@ -59,6 +69,19 @@ Performance, Internal Implementation, Development Support etc.
5969
i.e. the object name recorded in the cache_entry, turns into an
6070
object_id.
6171

72+
* JGit can show a fake ref "capabilities^{}" to "git fetch" when it
73+
does not advertise any refs, but "git fetch" was not prepared to
74+
see such an advertisement. When the other side disconnects without
75+
giving any ref advertisement, we used to say "there may not be a
76+
repository at that URL", but we may have seen other advertisement
77+
like "shallow" and ".have" in which case we definitely know that a
78+
repository is there. The code to detect this case has also been
79+
updated.
80+
81+
* Some codepaths in "git pack-objects" were not ready to use an
82+
existing pack bitmap; now they are and as the result they have
83+
become faster.
84+
6285

6386
Also contains various documentation updates and code clean-ups.
6487

@@ -72,36 +95,29 @@ notes for details).
7295

7396
* Clarify various ways to specify the "revision ranges" in the
7497
documentation.
75-
(merge a117be4 po/range-doc later to maint).
7698

7799
* "diff-highlight" script (in contrib/) learned to work better with
78100
"git log -p --graph" output.
79-
(merge 3dbfe2b bh/diff-highlight-graph later to maint).
80101

81102
* The test framework left the number of tests and success/failure
82103
count in the t/test-results directory, keyed by the name of the
83104
test script plus the process ID. The latter however turned out not
84105
to serve any useful purpose. The process ID part of the filename
85106
has been removed.
86-
(merge 5c885c1 jk/test-lib-drop-pid-from-results later to maint).
87107

88108
* Having a submodule whose ".git" repository is somehow corrupt
89109
caused a few commands that recurse into submodules loop forever.
90-
(merge 10f5c52 jc/submodule-anchor-git-dir later to maint).
91110

92111
* "git symbolic-ref -d HEAD" happily removes the symbolic ref, but
93112
the resulting repository becomes an invalid one. Teach the command
94113
to forbid removal of HEAD.
95-
(merge 12cfa79 jc/forbid-symbolic-ref-d-HEAD later to maint).
96114

97115
* A test spawned a short-lived background process, which sometimes
98116
prevented the test directory from getting removed at the end of the
99117
script on some platforms.
100-
(merge 5babb5b js/t6026-clean-up later to maint).
101118

102119
* Update a few tests that used to use GIT_CURL_VERBOSE to use the
103120
newer GIT_TRACE_CURL.
104-
(merge 14e2411 ep/use-git-trace-curl-in-tests later to maint).
105121

106122
* "git pack-objects --include-tag" was taught that when we know that
107123
we are sending an object C, we want a tag B that directly points at
@@ -122,12 +138,67 @@ notes for details).
122138
this change.
123139
(merge f14a310 js/git-gui-commit-gpgsign later to maint).
124140

141+
* "git add --chmod=+x" added recently lacked documentation, which has
142+
been corrected.
143+
(merge 7ef7903 et/add-chmod-x later to maint).
144+
145+
* "git log --cherry-pick" used to include merge commits as candidates
146+
to be matched up with other commits, resulting a lot of wasted time.
147+
The patch-id generation logic has been updated to ignore merges to
148+
avoid the wastage.
149+
(merge 7c81040 jk/patch-ids-no-merges later to maint).
150+
151+
* The http transport (with curl-multi option, which is the default
152+
these days) failed to remove curl-easy handle from a curlm session,
153+
which led to unnecessary API failures.
154+
(merge 2abc848 ew/http-do-not-forget-to-call-curl-multi-remove-handle later to maint).
155+
156+
* There were numerous corner cases in which the configuration files
157+
are read and used or not read at all depending on the directory a
158+
Git command was run, leading to inconsistent behaviour. The code
159+
to set-up repository access at the beginning of a Git process has
160+
been updated to fix them.
161+
(merge 4d0efa1 jk/setup-sequence-update later to maint).
162+
163+
* "git diff -W" output needs to extend the context backward to
164+
include the header line of the current function and also forward to
165+
include the body of the entire current function up to the header
166+
line of the next one. This process may have to merge to adjacent
167+
hunks, but the code forgot to do so in some cases.
168+
(merge 45d2f75 rs/xdiff-merge-overlapping-hunks-for-W-context later to maint).
169+
170+
* Performance tests done via "t/perf" did not use the same set of
171+
build configuration if the user relied on autoconf generated
172+
configuration.
173+
(merge cd5c281 ks/perf-build-with-autoconf later to maint).
174+
175+
* "git format-patch --base=..." feature that was recently added
176+
showed the base commit information after "-- " e-mail signature
177+
line, which turned out to be inconvenient. The base information
178+
has been moved above the signature line.
179+
(merge 480871e jt/format-patch-base-info-above-sig later to maint).
180+
181+
* More i18n.
182+
(merge 43073f8 va/i18n later to maint).
183+
184+
* Even when "git pull --rebase=preserve" (and the underlying "git
185+
rebase --preserve") can complete without creating any new commit
186+
(i.e. fast-forwards), it still insisted on having a usable ident
187+
information (read: user.email is set correctly), which was less
188+
than nice. As the underlying commands used inside "git rebase"
189+
would fail with a more meaningful error message and advice text
190+
when the bogus ident matters, this extra check was removed.
191+
(merge 1e461c4 jk/rebase-i-drop-ident-check later to maint).
192+
193+
* "git gc --aggressive" used to limit the delta-chain length to 250,
194+
which is way too deep for gaining additional space savings and is
195+
detrimental for runtime performance. The limit has been reduced to
196+
50.
197+
(merge 07e7dbf jk/reduce-gc-aggressive-depth later to maint).
198+
125199
* Other minor doc, test and build updates and code cleanups.
126-
(merge 3e1952e jk/squelch-false-warning-from-gcc-o3 later to maint).
127-
(merge ca2baa3 rs/compat-strdup later to maint).
128-
(merge d233097 rs/hex2chr later to maint).
129-
(merge c00bfc9 js/t9903-chaining later to maint).
130-
(merge 5e4e5bb sb/xdiff-remove-unused-static-decl later to maint).
131-
(merge 5cb5fe4 sb/transport-report-missing-submodule-on-stderr later to maint).
132-
(merge a1c8044 ah/misc-message-fixes later to maint).
133-
(merge ca9b37e sb/diff-cleanup later to maint).
200+
(merge e78d57e bw/pathspec-remove-unused-extern-decl later to maint).
201+
(merge ce25e4c rs/checkout-some-states-are-const later to maint).
202+
(merge a8342a4 rs/strbuf-remove-fix later to maint).
203+
(merge b56aa5b rs/unpack-trees-reduce-file-scope-global later to maint).
204+
(merge 5efc60c mr/vcs-svn-printf-ulong later to maint).

0 commit comments

Comments
 (0)