@@ -32,6 +32,24 @@ UI, Workflows & Features
32
32
automatically switch to quoted-printable when there is such a line
33
33
in the payload has been introduced and is made the default.
34
34
35
+ * "git checkout" and "git worktree add" learned to honor
36
+ checkout.defaultRemote when auto-vivifying a local branch out of a
37
+ remote tracking branch in a repository with multiple remotes that
38
+ have tracking branches that share the same names.
39
+ (merge 8d7b558bae ab/checkout-default-remote later to maint).
40
+
41
+ * "git grep" learned the "--only-matching" option.
42
+
43
+ * "git rebase --rebase-merges" mode now handles octopus merges as
44
+ well.
45
+
46
+ * Add a server-side knob to skip commits in exponential/fibbonacci
47
+ stride in an attempt to cover wider swath of history with a smaller
48
+ number of iterations, potentially accepting a larger packfile
49
+ transfer, instead of going back one commit a time during common
50
+ ancestor discovery during the "git fetch" transaction.
51
+ (merge 42cc7485a2 jt/fetch-negotiator-skipping later to maint).
52
+
35
53
36
54
Performance, Internal Implementation, Development Support etc.
37
55
@@ -94,6 +112,51 @@ Performance, Internal Implementation, Development Support etc.
94
112
* test-lint now looks for broken use of "VAR=VAL shell_func" in test
95
113
scripts.
96
114
115
+ * Conversion from uchar[40] to struct object_id continues.
116
+
117
+ * Recent "security fix" to pay attention to contents of ".gitmodules"
118
+ while accepting "git push" was a bit overly strict than necessary,
119
+ which has been adjusted.
120
+
121
+ * "git fsck" learns to make sure the optional commit-graph file is in
122
+ a sane state.
123
+
124
+ * "git diff --color-moved" feature has further been tweaked.
125
+
126
+ * Code restructuring and a small fix to transport protocol v2 during
127
+ fetching.
128
+
129
+ * Parsing of -L[<N>][,[<M>]] parameters "git blame" and "git log"
130
+ take has been tweaked.
131
+
132
+ * lookup_commit_reference() and friends have been updated to find
133
+ in-core object for a specific in-core repository instance.
134
+
135
+ * Various glitches in the heuristics of merge-recursive strategy have
136
+ been documented in new tests.
137
+
138
+ * "git fetch" learned a new option "--negotiation-tip" to limit the
139
+ set of commits it tells the other end as "have", to reduce wasted
140
+ bandwidth and cycles, which would be helpful when the receiving
141
+ repository has a lot of refs that have little to do with the
142
+ history at the remote it is fetching from.
143
+
144
+ * For a large tree, the index needs to hold many cache entries
145
+ allocated on heap. These cache entries are now allocated out of a
146
+ dedicated memory pool to amortize malloc(3) overhead.
147
+
148
+ * Tests to cover various conflicting cases have been added for
149
+ merge-recursive.
150
+
151
+ * Tests to cover conflict cases that involve submodules have been
152
+ added for merge-recursive.
153
+
154
+ * Look for broken "&&" chains that are hidden in subshell, many of
155
+ which have been found and corrected.
156
+
157
+ * The singleton commit-graph in-core instance is made per in-core
158
+ repository instance.
159
+
97
160
98
161
Fixes since v2.18
99
162
-----------------
@@ -223,6 +286,49 @@ Fixes since v2.18
223
286
* core.commentchar is now honored when preparing the list of commits
224
287
to replay in "rebase -i".
225
288
289
+ * "git pull --rebase" on a corrupt HEAD caused a segfault. In
290
+ general we substitute an empty tree object when running the in-core
291
+ equivalent of the diff-index command, and the codepath has been
292
+ corrected to do so as well to fix this issue.
293
+ (merge 3506dc9445 jk/has-uncommitted-changes-fix later to maint).
294
+
295
+ * httpd tests saw occasional breakage due to the way its access log
296
+ gets inspected by the tests, which has been updated to make them
297
+ less flaky.
298
+ (merge e8b3b2e275 sg/httpd-test-unflake later to maint).
299
+
300
+ * Tests to cover more D/F conflict cases have been added for
301
+ merge-recursive.
302
+
303
+ * "git gc --auto" opens file descriptors for the packfiles before
304
+ spawning "git repack/prune", which would upset Windows that does
305
+ not want a process to work on a file that is open by another
306
+ process. The issue has been worked around.
307
+ (merge 12e73a3ce4 kg/gc-auto-windows-workaround later to maint).
308
+
309
+ * The recursive merge strategy did not properly ensure there was no
310
+ change between HEAD and the index before performing its operation,
311
+ which has been corrected.
312
+ (merge 55f39cf755 en/dirty-merge-fixes later to maint).
313
+
314
+ * "git rebase" started exporting GIT_DIR environment variable and
315
+ exposing it to hook scripts when part of it got rewritten in C.
316
+ Instead of matching the old scripted Porcelains' behaviour,
317
+ compensate by also exporting GIT_WORK_TREE environment as well to
318
+ lessen the damage. This can harm existing hooks that want to
319
+ operate on different repository, but the current behaviour is
320
+ already broken for them anyway.
321
+ (merge ab5e67d751 bc/sequencer-export-work-tree-as-well later to maint).
322
+
323
+ * "git send-email" when using in a batched mode that limits the
324
+ number of messages sent in a single SMTP session lost the contents
325
+ of the variable used to choose between tls/ssl, unable to send the
326
+ second and later batches, which has been fixed.
327
+ (merge 636f3d7ac5 jm/send-email-tls-auth-on-batch later to maint).
328
+
329
+ * The lazy clone support had a few places where missing but promised
330
+ objects were not correctly tolerated, which have been fixed.
331
+
226
332
* Code cleanup, docfix, build fix, etc.
227
333
(merge aee9be2ebe sg/update-ref-stdin-cleanup later to maint).
228
334
(merge 037714252f jc/clean-after-sanity-tests later to maint).
@@ -237,3 +343,4 @@ Fixes since v2.18
237
343
(merge 5cf8e06474 js/enhanced-version-info later to maint).
238
344
(merge 6aaded5509 tb/config-default later to maint).
239
345
(merge 022d2ac1f3 sb/blame-color later to maint).
346
+ (merge 5a06a20e0c bp/test-drop-caches-for-windows later to maint).
0 commit comments