What's cooking (2024/02 #09)

Junio C Hamano committed Feb 27, 2024 at 16:36 UTC 495ae5bc8a5f92f6bf83658484aca5ceb27948e6
1 file changed +497 -281
whats-cooking.txt
+497 -281
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 -Subject: What's cooking in git.git (Feb 2024, #08; Thu, 22)
3 -X-master-at: 3c2a3fdc388747b9eaf4a4a4f2035c1c9ddb26d0
4 -X-next-at: e034bb2e1d470dd9e12a63da2b6b7e5d3a25a721
2 +Subject: What's cooking in git.git (Feb 2024, #09; Tue, 27)
3 +X-master-at: 0f9d4d28b7e6021b7e6db192b7bf47bd3a0d0d1d
4 +X-next-at: dc8dd223a70561ef1480098663d61af5531a1f47
5 Bcc: lwn@lwn.net, gitster@pobox.com
6
7 -What's cooking in git.git (Feb 2024, #08; Thu, 22)
7 +What's cooking in git.git (Feb 2024, #09; Tue, 27)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking in my tree. Commits
@@ -17,9 +17,6 @@ topic without enough support may be discarded after a long period of
17 no activity (of course they can be resubmit when new interests
18 arise).
19
20 -Git 2.44 has been tagged, after fixing a last minute regression.
21 -Git 2.43.3 also has been tagged for the same fix.
22 -
20 Copies of the source code to Git live in many repositories, and the
21 following is a list of the ones I push into or their mirrors. Some
22 repositories have only a subset of branches.
@@ -48,9 +45,419 @@ Release tarballs are available at:
45
46 https://www.kernel.org/pub/software/scm/git/
47
48 +--------------------------------------------------
49 +[Graduated to 'master']
50 +
51 +* ba/credential-test-clean-fix (2024-02-15) 1 commit
52 + (merged to 'next' on 2024-02-19 at 290708b10a)
53 + + t/lib-credential: clean additional credential
54 + (this branch is used by jk/t0303-clean.)
55 +
56 + Test clean-up.
57 + source: <pull.1664.git.1707959036807.gitgitgadget@gmail.com>
58 +
59 +
60 +* bb/completion-no-grep-into-awk (2024-02-16) 1 commit
61 + (merged to 'next' on 2024-02-19 at 8373f95424)
62 + + completion: use awk for filtering the config entries
63 +
64 + Some parts of command line completion script (in contrib/) have
65 + been micro-optimized.
66 + source: <20240216171046.927552-1-dev+git@drbeat.li>
67 +
68 +
69 +* cp/apply-core-filemode (2023-12-26) 3 commits
70 + (merged to 'next' on 2024-02-07 at 089a3fbb86)
71 + + apply: code simplification
72 + + apply: correctly reverse patch's pre- and post-image mode bits
73 + + apply: ignore working tree filemode when !core.filemode
74 +
75 + "git apply" on a filesystem without filemode support have learned
76 + to take a hint from what is in the index for the path, even when
77 + not working with the "--index" or "--cached" option, when checking
78 + the executable bit match what is required by the preimage in the
79 + patch.
80 + cf. <xmqqzfwb53a9.fsf@gitster.g>
81 + source: <20231226233218.472054-1-gitster@pobox.com>
82 +
83 +
84 +* gt/at-is-synonym-for-head-in-add-patch (2024-02-13) 2 commits
85 + (merged to 'next' on 2024-02-14 at cd901555d6)
86 + + add -p tests: remove PERL prerequisites
87 + + add-patch: classify '@' as a synonym for 'HEAD'
88 +
89 + Teach "git checkout -p" and friends that "@" is a synonym for
90 + "HEAD".
91 + source: <20240211202035.7196-2-shyamthakkar001@gmail.com>
92 +
93 +
94 +* jb/doc-interactive-singlekey-do-not-need-perl (2024-02-19) 1 commit
95 + (merged to 'next' on 2024-02-19 at 9eda75497d)
96 + + doc: remove outdated information about interactive.singleKey
97 +
98 + Doc clean-up.
99 + source: <20240218030327.40453-1-julio.bacel@gmail.com>
100 +
101 +
102 +* jc/am-whitespace-doc (2024-02-14) 1 commit
103 + (merged to 'next' on 2024-02-19 at 492f0f9174)
104 + + doc: add shortcut to "am --whitespace=<action>"
105 +
106 + "git am --help" now tells readers what actions are available in
107 + "git am --whitespace=<action>", in addition to saying that the
108 + option is passed through to the underlying "git apply".
109 + source: <xmqqplwyvqby.fsf@gitster.g>
110 +
111 +
112 +* jc/t9210-lazy-fix (2024-02-08) 1 commit
113 + (merged to 'next' on 2024-02-13 at fb61ca2fba)
114 + + t9210: do not rely on lazy fetching to fail
115 + (this branch is used by cc/rev-list-allow-missing-tips.)
116 +
117 + Adjust use of "rev-list --missing" in an existing tests so that it
118 + does not depend on a buggy failure mode.
119 + source: <xmqq7cjemttr.fsf@gitster.g>
120 +
121 +
122 +* jk/t0303-clean (2024-02-19) 2 commits
123 + (merged to 'next' on 2024-02-19 at f57b65215f)
124 + + t0303: check that helper_test_clean removes all credentials
125 + + Merge branch 'ba/credential-test-clean-fix' into jk/t0303-clean
126 + (this branch uses ba/credential-test-clean-fix.)
127 +
128 + Test clean-up.
129 + source: <20240217045814.GA539459@coredump.intra.peff.net>
130 +
131 +
132 +* kh/column-reject-negative-padding (2024-02-13) 2 commits
133 + (merged to 'next' on 2024-02-14 at c30c08e495)
134 + + column: guard against negative padding
135 + + column: disallow negative padding
136 +
137 + "git column" has been taught to reject negative padding value, as
138 + it would lead to nonsense behaviour including division by zero.
139 + source: <cover.1707839454.git.code@khaugsbakk.name>
140 +
141 +
142 +* km/mergetool-vimdiff-layout-fallback (2024-02-19) 1 commit
143 + (merged to 'next' on 2024-02-19 at bf7f086f05)
144 + + mergetools: vimdiff: use correct tool's name when reading mergetool config
145 +
146 + Variants of vimdiff learned to honor mergetool.<variant>.layout settings.
147 + source: <20240217162718.21272-1-kipras@kipras.org>
148 +
149 +
150 +* mh/libsecret-empty-password-fix (2024-02-19) 1 commit
151 + (merged to 'next' on 2024-02-19 at b2e17695ca)
152 + + libsecret: retrieve empty password
153 +
154 + Credential helper based on libsecret (in contrib/) has been updated
155 + to handle an empty password correctly.
156 + source: <pull.1676.v2.git.git.1708375258296.gitgitgadget@gmail.com>
157 +
158 +
159 +* ps/ref-tests-update-even-more (2024-02-15) 7 commits
160 + (merged to 'next' on 2024-02-15 at 064b2b4089)
161 + + t7003: ensure filter-branch prunes reflogs with the reftable backend
162 + + t2011: exercise D/F conflicts with HEAD with the reftable backend
163 + + t1405: remove unneeded cleanup step
164 + + t1404: make D/F conflict tests compatible with reftable backend
165 + + t1400: exercise reflog with gaps with reftable backend
166 + + t0410: convert tests to use DEFAULT_REPO_FORMAT prereq
167 + + t: move tests exercising the "files" backend
168 +
169 + More tests that are marked as "ref-files only" have been updated to
170 + improve test coverage of reftable backend.
171 + source: <cover.1707985173.git.ps@pks.im>
172 +
173 +
174 +* ps/reftable-backend (2024-02-07) 3 commits
175 + (merged to 'next' on 2024-02-08 at ba1c4c52bb)
176 + + refs/reftable: fix leak when copying reflog fails
177 + (merged to 'next' on 2024-02-07 at 1115200acb)
178 + + ci: add jobs to test with the reftable backend
179 + + refs: introduce reftable backend
180 + (this branch is used by kn/for-all-refs and ps/reflog-list.)
181 +
182 + Integrate the reftable code into the refs framework as a backend.
183 + source: <cover.1707288261.git.ps@pks.im>
184 +
185 +
186 +* ps/reftable-iteration-perf (2024-02-12) 7 commits
187 + (merged to 'next' on 2024-02-12 at 6abaf58383)
188 + + reftable/reader: add comments to `table_iter_next()`
189 + + reftable/record: don't try to reallocate ref record name
190 + + reftable/block: swap buffers instead of copying
191 + + reftable/pq: allocation-less comparison of entry keys
192 + + reftable/merged: skip comparison for records of the same subiter
193 + + reftable/merged: allocation-less dropping of shadowed records
194 + + reftable/record: introduce function to compare records by key
195 + (this branch is used by ps/reftable-iteration-perf-part2.)
196 +
197 + The code to iterate over refs with the reftable backend has seen
198 + some optimization.
199 + source: <cover.1707726654.git.ps@pks.im>
200 +
201 +
202 +* rj/tag-column-fix (2024-02-14) 1 commit
203 + (merged to 'next' on 2024-02-19 at 9aa52b4ffb)
204 + + tag: error when git-column fails
205 +
206 + "git tag --column" failed to check the exit status of its "git
207 + column" invocation, which has been corrected.
208 + source: <59df085d-0de8-45b1-9b8b-c69e91e56a1f@gmail.com>
209 +
210 +
211 +* rs/use-xstrncmpz (2024-02-12) 1 commit
212 + (merged to 'next' on 2024-02-12 at 37e5f0fc14)
213 + + use xstrncmpz()
214 +
215 + Code clean-up.
216 + source: <954b75d0-1504-4f57-b34e-e770a4b7b3ea@web.de>
217 +
218 --------------------------------------------------
219 [New Topics]
220
221 +* cw/git-std-lib (2024-02-22) 3 commits
222 + - test-stdlib: show that git-std-lib is independent
223 + - git-std-lib: introduce Git Standard Library
224 + - pager: include stdint.h because uintmax_t is used
225 +
226 + Split libgit.a out to a separate git-std-lib tor easier reuse.
227 +
228 + Needs review.
229 + source: <cover.1696021277.git.jonathantanmy@google.com>
230 +
231 +
232 +* js/merge-base-with-missing-commit (2024-02-27) 11 commits
233 + - repo_get_merge_bases_many_dirty(): pass on errors from `merge_bases_many()`
234 + - repo_get_merge_bases_many(): pass on errors from `merge_bases_many()`
235 + - get_octopus_merge_bases(): pass on errors from `merge_bases_many()`
236 + - repo_get_merge_bases(): pass on errors from `merge_bases_many()`
237 + - get_merge_bases_many_0(): pass on errors from `merge_bases_many()`
238 + - merge_bases_many(): pass on errors from `paint_down_to_common()`
239 + - commit-reach: start reporting errors in `paint_down_to_common()`
240 + - Prepare `paint_down_to_common()` for handling shallow commits
241 + - Start reporting missing commits in `repo_in_merge_bases_many()`
242 + - Prepare `repo_in_merge_bases_many()` to optionally expect missing commits
243 + - paint_down_to_common: plug two memory leaks
244 +
245 + Make sure failure return from merge_bases_many() is properly caught.
246 +
247 + Needs review.
248 + source: <pull.1657.v3.git.1709040497.gitgitgadget@gmail.com>
249 +
250 +
251 +* tb/multi-pack-verbatim-reuse (2024-02-23) 1 commit
252 + (merged to 'next' on 2024-02-23 at 8ee07f1da4)
253 + + Documentation/config/pack.txt: fix broken AsciiDoc mark-up
254 +
255 + Docfix.
256 +
257 + Will merge to 'master'.
258 + source: <72bb58e5f3b8a5a622394c5ff40426156e122580.1708720255.git.me@ttaylorr.com>
259 +
260 +
261 +* eg/add-uflags (2024-02-24) 1 commit
262 + - add: use unsigned type for collection of bits
263 +
264 + Code clean-up practice.
265 +
266 + cf. <CAP8UFD3qR8E0gvUQtzzkLPWv4Db45kFS4pEqHKQr5siciVJ-zQ@mail.gmail.com>
267 + source: <20240224112638.72257-2-giganteeugenio2@gmail.com>
268 +
269 +
270 +* jc/doc-compat-util (2024-02-27) 1 commit
271 + (merged to 'next' on 2024-02-27 at a838805d8c)
272 + + doc: clarify the wording on <git-compat-util.h> requirement
273 +
274 + Clarify wording in the CodingGuidelines that requires <git-compat-util.h>
275 + to be the first header file.
276 +
277 + Will merge to 'master'.
278 + source: <xmqqle76kdpr.fsf_-_@gitster.g>
279 +
280 +
281 +* jc/no-include-of-compat-util-from-headers (2024-02-24) 1 commit
282 + (merged to 'next' on 2024-02-26 at 85857c09d9)
283 + + compat: drop inclusion of <git-compat-util.h>
284 +
285 + Header file clean-up.
286 +
287 + Will merge to 'master'.
288 + source: <xmqqwmqtli18.fsf@gitster.g>
289 +
290 +
291 +* jk/reflog-special-cases-fix (2024-02-26) 3 commits
292 + (merged to 'next' on 2024-02-27 at e9fbe29d06)
293 + + read_ref_at(): special-case ref@{0} for an empty reflog
294 + + get_oid_basic(): special-case ref@{n} for oldest reflog entry
295 + + Revert "refs: allow @{n} to work with n-sized reflog"
296 +
297 + The logic to access reflog entries by date and number had ugly
298 + corner cases at the boundaries, which have been cleaned up.
299 +
300 + Will merge to 'master'.
301 + source: <20240226100010.GA1214708@coredump.intra.peff.net>
302 +
303 +
304 +* jk/textconv-cache-outside-repo-fix (2024-02-26) 1 commit
305 + (merged to 'next' on 2024-02-26 at d4a81531ef)
306 + + userdiff: skip textconv caching when not in a repository
307 +
308 + The code incorrectly attempted to use textconv cache when asked,
309 + even when we are not running in a repository, which has been
310 + corrected.
311 +
312 + Will merge to 'master'.
313 + source: <20240226102729.GB2685773@coredump.intra.peff.net>
314 +
315 +
316 +* js/remove-cruft-files (2024-02-26) 1 commit
317 + (merged to 'next' on 2024-02-26 at c6491c1c5d)
318 + + neue: remove a bogus empty file
319 +
320 + Remove an empty file that shouldn't have been added in the first
321 + place.
322 +
323 + Will merge to 'master'.
324 + source: <pull.1674.git.1708958183225.gitgitgadget@gmail.com>
325 +
326 +
327 +* jt/commit-redundant-scissors-fix (2024-02-27) 2 commits
328 + - commit: unify logic to avoid multiple scissors lines when merging
329 + - commit: avoid redundant scissor line with --cleanup=scissors -v
330 +
331 + "git commit -v --cleanup=scissors" used to add the scissors line
332 + twice in the log message buffer, which has been corrected.
333 +
334 + Comments?
335 + source: <Zd2eLxPelxvP8FDk@localhost>
336 +
337 +
338 +* pb/ort-make-submodule-conflict-message-an-advice (2024-02-26) 1 commit
339 + (merged to 'next' on 2024-02-27 at abe2ab5ed7)
340 + + merge-ort: turn submodule conflict suggestions into an advice
341 +
342 + When a merge conflicted at a submodule, merge-ort backend used to
343 + unconditionally give a lengthy message to suggest how to resolve
344 + it. Now the message can be squelched as an advice message.
345 +
346 + Will merge to 'master'.
347 + source: <pull.1661.v2.git.git.1708954048301.gitgitgadget@gmail.com>
348 +
349 +
350 +* rj/complete-worktree-paths-fix (2024-02-27) 1 commit
351 + - completion: fix __git_complete_worktree_paths
352 +
353 + The logic to complete the command line arguments to "git worktree"
354 + subcommand (in contrib/) has been updated to correctly honor things
355 + like "git -C dir" etc.
356 +
357 + Comments?
358 + source: <b8f09e20-d0d3-4e0b-afe2-31affeb61052@gmail.com>
359 +
360 +
361 +* rs/fetch-simplify-with-starts-with (2024-02-26) 1 commit
362 + (merged to 'next' on 2024-02-27 at 84bba0a921)
363 + + fetch: convert strncmp() with strlen() to starts_with()
364 +
365 + Code simplification.
366 +
367 + Will merge to 'master'.
368 + source: <cb94b938-03f9-4dd3-84c1-f5244ca81be3@web.de>
369 +
370 +
371 +* rs/name-rev-with-mempool (2024-02-26) 2 commits
372 + (merged to 'next' on 2024-02-27 at b10b58ad64)
373 + + name-rev: use mem_pool_strfmt()
374 + + mem-pool: add mem_pool_strfmt()
375 +
376 + Many small allocations "git name-rev" makes have been updated to
377 + allocate from a mem-pool.
378 +
379 + Will merge to 'master'.
380 + source: <20240225113947.89357-1-l.s.r@web.de>
381 +
382 +
383 +* rs/submodule-prefix-simplify (2024-02-26) 1 commit
384 + (merged to 'next' on 2024-02-27 at c6051f9f6b)
385 + + submodule: use strvec_pushf() for --submodule-prefix
386 +
387 + Code simplification.
388 +
389 + Will merge to 'master'.
390 + source: <8cd983fb-32b9-41c6-a9e7-a485b190488c@web.de>
391 +
392 +
393 +* rs/t-ctype-simplify (2024-02-26) 3 commits
394 + - t-ctype: do one test per class and char
395 + - t-ctype: avoid duplicating class names
396 + - t-ctype: allow NUL anywhere in the specification string
397 +
398 + Code simplification to one unit-test program.
399 +
400 + Comments?
401 + source: <20240225112722.89221-1-l.s.r@web.de>
402 +
403 +
404 +* sg/upload-pack-error-message-fix (2024-02-26) 1 commit
405 + (merged to 'next' on 2024-02-27 at 7cd7a4c4d8)
406 + + upload-pack: don't send null character in abort message to the client
407 +
408 + An error message from "git upload-pack", which responds to "git
409 + fetch" requests, had a trialing NUL in it, which has been
410 + corrected.
411 +
412 + Will merge to 'master'.
413 + source: <20240225183452.1939334-1-szeder.dev@gmail.com>
414 +
415 +
416 +* ak/rebase-autosquash (2024-02-27) 1 commit
417 + (merged to 'next' on 2024-02-27 at 1a37c5ed5e)
418 + + rebase: fix typo in autosquash documentation
419 +
420 + Typofix.
421 +
422 + Will merge to 'master'.
423 + source: <pull.1676.git.1709015578890.gitgitgadget@gmail.com>
424 +
425 +
426 +* ps/reftable-repo-init-fix (2024-02-27) 2 commits
427 + - refs/reftable: don't fail empty transactions in repo without HEAD
428 + - Merge branch 'ps/remote-helper-repo-initialization-fix' into ps/reftable-repo-init-fix
429 + (this branch uses ps/remote-helper-repo-initialization-fix.)
430 +
431 + Clear the fallout from a fix for 2.44 regression.
432 +
433 + Will merge to 'next'?
434 + source: <95be968e10bd02c64448786e690bbefe5c082577.1709041721.git.ps@pks.im>
435 +
436 +
437 +* ps/remote-helper-repo-initialization-fix (2024-02-27) 1 commit
438 + - builtin/clone: allow remote helpers to detect repo
439 + (this branch is used by ps/reftable-repo-init-fix.)
440 +
441 + A custom remote helper no longer cannot access the newly created
442 + repository during "git clone", which is a regression in Git 2.44.
443 + This has been corrected.
444 +
445 + Will merge to 'next'?
446 + source: <9d888adf92e9a8af7c18847219f97d3e595e3e36.1709041721.git.ps@pks.im>
447 +
448 +
449 +* pw/rebase-i-ignore-cherry-pick-help-environment (2024-02-27) 1 commit
450 + - rebase -i: stop setting GIT_CHERRY_PICK_HELP
451 +
452 + Code simplification by getting rid of code that sets an environment
453 + variable that is no longer used.
454 +
455 + Comments?
456 + source: <pull.1678.git.1709042783847.gitgitgadget@gmail.com>
457 +
458 +--------------------------------------------------
459 +[Cooking]
460 +
461 * ps/difftool-dir-diff-exit-code (2024-02-20) 1 commit
462 (merged to 'next' on 2024-02-21 at a7bbef5a5f)
463 + git-difftool--helper: honor `--trust-exit-code` with `--dir-diff`
@@ -58,7 +465,7 @@ Release tarballs are available at:
465 "git difftool --dir-diff" learned to honor the "--trust-exit-code"
466 option; it used to always exit with 0 and signalled success.
467
61 - Will cook in 'next'.
468 + Will merge to 'master'.
469 source: <0fac668f8fc021af9f9c4df5134da59816307ccc.1708423309.git.ps@pks.im>
470
471
@@ -68,7 +475,7 @@ Release tarballs are available at:
475
476 Doc update.
477
71 - Will cook in 'next'.
478 + Will merge to 'master'.
479 source: <88f1fe08c3047e14090957093ee8d98b0f60cb6c.1708467601.git.dsimic@manjaro.org>
480
481
@@ -80,50 +487,52 @@ Release tarballs are available at:
487
488 Doc update.
489
83 - Will cook in 'next'.
490 + Will merge to 'master'.
491 source: <pull.1670.git.1708468374.gitgitgadget@gmail.com>
492
493
494 * hs/rebase-not-in-progress (2024-02-21) 1 commit
88 - - rebase: make warning less passive aggressive
495 + (merged to 'next' on 2024-02-23 at ce53f5243f)
496 + + rebase: make warning less passive aggressive
497
498 Error message update.
499
92 - Will merge to 'next'.
500 + Will merge to 'master'.
501 source: <pull.1669.v2.git.1708537097448.gitgitgadget@gmail.com>
502
503
504 * jw/remote-doc-typofix (2024-02-21) 1 commit
97 - - git-remote.txt: fix typo
505 + (merged to 'next' on 2024-02-23 at fe95873cfa)
506 + + git-remote.txt: fix typo
507
508 Docfix.
509
101 - Will merge to 'next'.
510 + Will merge to 'master'.
511 source: <20240221083554.5255-1-jwilk@jwilk.net>
512
513
514 * ja/doc-placeholders-markup-rules (2024-02-21) 1 commit
106 - - doc: clarify the format of placeholders
515 + (merged to 'next' on 2024-02-23 at b6761ceeac)
516 + + doc: clarify the format of placeholders
517
518 The way placeholders are to be marked-up in documentation have been
519 specified; use "_<placeholder>_" to typeset the word inside a pair
520 of <angle-brakets> emphasized.
521
112 - Will merge to 'next'.
522 + Will merge to 'master'.
523 source: <pull.1671.git.1708550340094.gitgitgadget@gmail.com>
524
525
526 * jc/doc-add-placeholder-fix (2024-02-21) 1 commit
117 - - doc: apply the new placeholder rules to git-add documentation
527 + (merged to 'next' on 2024-02-23 at 6950ff216b)
528 + + doc: apply the new placeholder rules to git-add documentation
529
530 Practice the new mark-up rule for <placeholders> with "git add"
531 documentation page.
532
122 - Will merge to 'next'.
533 + Will merge to 'master'.
534 source: <xmqqbk89molz.fsf@gitster.g>
535
125 ---------------------------------------------------
126 -[Cooking]
536
537 * as/option-names-in-messages (2024-02-16) 5 commits
538 - revision.c: trivial fix to message
@@ -138,108 +547,46 @@ Release tarballs are available at:
547 source: <20240216101647.28837-1-ash@kambanaria.org>
548
549
141 -* bb/completion-no-grep-into-awk (2024-02-16) 1 commit
142 - (merged to 'next' on 2024-02-19 at 8373f95424)
143 - + completion: use awk for filtering the config entries
144 -
145 - Some parts of command line completion script (in contrib/) have
146 - been micro-optimized.
147 -
148 - Will cook in 'next'.
149 - source: <20240216171046.927552-1-dev+git@drbeat.li>
150 -
151 -
152 -* jb/doc-interactive-singlekey-do-not-need-perl (2024-02-19) 1 commit
153 - (merged to 'next' on 2024-02-19 at 9eda75497d)
154 - + doc: remove outdated information about interactive.singleKey
155 -
156 - Doc clean-up.
157 -
158 - Will cook in 'next'.
159 - source: <20240218030327.40453-1-julio.bacel@gmail.com>
160 -
161 -
162 -* jk/t0303-clean (2024-02-19) 2 commits
163 - (merged to 'next' on 2024-02-19 at f57b65215f)
164 - + t0303: check that helper_test_clean removes all credentials
165 - + Merge branch 'ba/credential-test-clean-fix' into jk/t0303-clean
166 - (this branch uses ba/credential-test-clean-fix.)
167 -
168 - Test clean-up.
169 -
170 - Will cook in 'next'.
171 - source: <20240217045814.GA539459@coredump.intra.peff.net>
172 -
173 -
174 -* km/mergetool-vimdiff-layout-fallback (2024-02-19) 1 commit
175 - (merged to 'next' on 2024-02-19 at bf7f086f05)
176 - + mergetools: vimdiff: use correct tool's name when reading mergetool config
177 -
178 - Variants of vimdiff learned to honor mergetool.<variant>.layout settings.
179 -
180 - Will cook in 'next'.
181 - source: <20240217162718.21272-1-kipras@kipras.org>
182 -
183 -
184 -* mh/libsecret-empty-password-fix (2024-02-19) 1 commit
185 - (merged to 'next' on 2024-02-19 at b2e17695ca)
186 - + libsecret: retrieve empty password
187 -
188 - Credential helper based on libsecret (in contrib/) has been updated.
189 -
190 - Will cook in 'next'.
191 - source: <pull.1676.v2.git.git.1708375258296.gitgitgadget@gmail.com>
192 -
193 -
550 * ps/reflog-list (2024-02-21) 9 commits
195 - - builtin/reflog: introduce subcommand to list reflogs
196 - - refs: stop resolving ref corresponding to reflogs
197 - - refs: drop unused params from the reflog iterator callback
198 - - refs: always treat iterators as ordered
199 - - refs/files: sort merged worktree and common reflogs
200 - - refs/files: sort reflogs returned by the reflog iterator
201 - - dir-iterator: support iteration in sorted order
202 - - dir-iterator: pass name to `prepare_next_entry_data()` directly
551 + (merged to 'next' on 2024-02-23 at 7413632239)
552 + + builtin/reflog: introduce subcommand to list reflogs
553 + + refs: stop resolving ref corresponding to reflogs
554 + + refs: drop unused params from the reflog iterator callback
555 + + refs: always treat iterators as ordered
556 + + refs/files: sort merged worktree and common reflogs
557 + + refs/files: sort reflogs returned by the reflog iterator
558 + + dir-iterator: support iteration in sorted order
559 + + dir-iterator: pass name to `prepare_next_entry_data()` directly
560 + Merge branch 'ps/reftable-backend' into ps/reflog-list
204 - (this branch uses ps/reftable-backend.)
561
562 "git reflog" learned a "list" subcommand that enumerates known reflogs.
563
208 - Will merge to 'next'.
564 + Will merge to 'master'.
565 source: <cover.1708518982.git.ps@pks.im>
566
567
212 -* jh/fsmonitor-icase-corner-case-fix (2024-02-14) 11 commits
213 - - t7527: update case-insenstive fsmonitor test
568 +* jh/fsmonitor-icase-corner-case-fix (2024-02-26) 14 commits
569 + - fsmonitor: support case-insensitive events
570 - fsmonitor: refactor bit invalidation in refresh callback
215 - - fsmonitor: support case-insensitive non-directory events
216 - - fsmonitor: refactor non-directory callback
217 - - fsmonitor: support case-insensitive directory events
571 + - fsmonitor: trace the new invalidated cache-entry count
572 + - fsmonitor: return invalided cache-entry count on non-directory event
573 + - fsmonitor: remove custom loop from non-directory path handler
574 + - fsmonitor: return invalidated cache-entry count on directory event
575 + - fsmonitor: move untracked-cache invalidation into helper functions
576 - fsmonitor: refactor untracked-cache invalidation
219 - - fsmonitor: clarify handling of directory events in callback
577 + - dir: create untracked_cache_invalidate_trimmed_path()
578 - fsmonitor: refactor refresh callback for non-directory events
579 + - fsmonitor: clarify handling of directory events in callback helper
580 - fsmonitor: refactor refresh callback on directory events
581 - t7527: add case-insensitve test for FSMonitor
223 - - name-hash: add index_dir_exists2()
582 + - name-hash: add index_dir_find()
583
584 FSMonitor client code was confused when FSEvents were given in a
585 different case on a case-insensitive filesystem, which has been
586 corrected.
587
229 - Needs review.
230 - source: <pull.1662.git.1707857541.gitgitgadget@gmail.com>
231 -
232 -
233 -* mh/credential-oauth-refresh-token-with-osxkeychain (2024-02-14) 1 commit
234 - - credential/osxkeychain: store new attributes
235 -
236 - OAuth refresh tokens and password expiry timestamps are now stored
237 - in the osxkeychain backend , just the way libsecret and wincred
238 - backends of the credential subsystem do.
239 -
240 - Needs testing.
241 - cf. <CAGJzqsmSzMqEG1OU9dH6CORV6=L7qUAFNJSmi41Lqrajf9mSew@mail.gmail.com>
242 - source: <pull.1663.git.1707860618119.gitgitgadget@gmail.com>
588 + Comments?
589 + source: <pull.1662.v3.git.1708983565.gitgitgadget@gmail.com>
590
591
592 * ps/reftable-iteration-perf-part2 (2024-02-14) 13 commits
@@ -256,7 +603,6 @@ Release tarballs are available at:
603 - reftable/merged: make `merged_iter` structure private
604 - reftable/pq: use `size_t` to track iterator index
605 - Merge branch 'ps/reftable-iteration-perf' into ps/reftable-iteration-perf-part2
259 - (this branch uses ps/reftable-iteration-perf.)
606
607 The code to iterate over refs with the reftable backend has seen
608 some optimization.
@@ -271,111 +617,39 @@ Release tarballs are available at:
617
618 Test script clean-up.
619
274 - Will cook in 'next'.
620 + Will merge to 'master'.
621 source: <pull.1661.v3.git.1707933048210.gitgitgadget@gmail.com>
622
623
278 -* rj/tag-column-fix (2024-02-14) 1 commit
279 - (merged to 'next' on 2024-02-19 at 9aa52b4ffb)
280 - + tag: error when git-column fails
281 -
282 - "git tag --column" failed to check the exit status of its "git
283 - column" invocation, which has been corrected.
284 -
285 - Will cook in 'next'.
286 - source: <59df085d-0de8-45b1-9b8b-c69e91e56a1f@gmail.com>
287 -
288 -
289 -* jc/am-whitespace-doc (2024-02-14) 1 commit
290 - (merged to 'next' on 2024-02-19 at 492f0f9174)
291 - + doc: add shortcut to "am --whitespace=<action>"
292 -
293 - "git am --help" now tells readers what actions are available in
294 - "git am --whitespace=<action>", in addition to saying that the
295 - option is passed through to the underlying "git apply".
296 -
297 - Will cook in 'next'.
298 - source: <xmqqplwyvqby.fsf@gitster.g>
299 -
300 -
301 -* ba/credential-test-clean-fix (2024-02-15) 1 commit
302 - (merged to 'next' on 2024-02-19 at 290708b10a)
303 - + t/lib-credential: clean additional credential
304 - (this branch is used by jk/t0303-clean.)
305 -
306 - Test clean-up.
307 -
308 - Will cook in 'next'.
309 - source: <pull.1664.git.1707959036807.gitgitgadget@gmail.com>
310 -
311 -
312 -* js/cmake-with-test-tool (2024-02-15) 1 commit
624 +* js/cmake-with-test-tool (2024-02-23) 2 commits
625 - cmake: let `test-tool` run the unit tests, too
626 + - Merge branch 'js/unit-test-suite-runner' into js/cmake-with-test-tool
627 (this branch uses js/unit-test-suite-runner.)
628
629 "test-tool" is now built in CMake build to also run the unit tests.
630
631 May want to roll it into the base topic.
319 - source: <cover.1706921262.git.steadmon@google.com>
320 -
321 -
322 -* ps/ref-tests-update-even-more (2024-02-15) 7 commits
323 - (merged to 'next' on 2024-02-15 at 064b2b4089)
324 - + t7003: ensure filter-branch prunes reflogs with the reftable backend
325 - + t2011: exercise D/F conflicts with HEAD with the reftable backend
326 - + t1405: remove unneeded cleanup step
327 - + t1404: make D/F conflict tests compatible with reftable backend
328 - + t1400: exercise reflog with gaps with reftable backend
329 - + t0410: convert tests to use DEFAULT_REPO_FORMAT prereq
330 - + t: move tests exercising the "files" backend
331 -
332 - More tests that are marked as "ref-files only" have been updated to
333 - improve test coverage of reftable backend.
334 -
335 - Will cook in 'next'.
336 - source: <cover.1707985173.git.ps@pks.im>
632 + source: <pull.1666.git.1708038924522.gitgitgadget@gmail.com>
633
634
339 -* rs/use-xstrncmpz (2024-02-12) 1 commit
340 - (merged to 'next' on 2024-02-12 at 37e5f0fc14)
341 - + use xstrncmpz()
342 -
343 - Code clean-up.
344 -
345 - Will cook in 'next'.
346 - source: <954b75d0-1504-4f57-b34e-e770a4b7b3ea@web.de>
347 -
348 -
349 -* kn/for-all-refs (2024-02-12) 6 commits
350 - - for-each-ref: add new option to include root refs
351 - - ref-filter: rename 'FILTER_REFS_ALL' to 'FILTER_REFS_REGULAR'
352 - - refs: introduce `refs_for_each_include_root_refs()`
353 - - refs: extract out `loose_fill_ref_dir_regular_file()`
354 - - refs: introduce `is_pseudoref()` and `is_headref()`
355 - - Merge branch 'ps/reftable-backend' into kn/for-all-refs
356 - (this branch uses ps/reftable-backend.)
635 +* kn/for-all-refs (2024-02-23) 6 commits
636 + (merged to 'next' on 2024-02-27 at aef2406cca)
637 + + for-each-ref: add new option to include root refs
638 + + ref-filter: rename 'FILTER_REFS_ALL' to 'FILTER_REFS_REGULAR'
639 + + refs: introduce `refs_for_each_include_root_refs()`
640 + + refs: extract out `loose_fill_ref_dir_regular_file()`
641 + + refs: introduce `is_pseudoref()` and `is_headref()`
642 + + Merge branch 'ps/reftable-backend' into kn/for-all-refs
643
644 "git for-each-ref" filters its output with prefixes given from the
645 command line, but it did not honor an empty string to mean "pass
646 everything", which has been corrected.
647
362 - Expecting a reroll?
363 - source: <20240211183923.131278-1-karthik.188@gmail.com>
648 + Will merge to 'master'.
649 + source: <20240223100112.44127-1-karthik.188@gmail.com>
650
651
366 -* kh/column-reject-negative-padding (2024-02-13) 2 commits
367 - (merged to 'next' on 2024-02-14 at c30c08e495)
368 - + column: guard against negative padding
369 - + column: disallow negative padding
370 -
371 - "git column" has been taught to reject negative padding value, as
372 - it would lead to nonsense behaviour including division by zero.
373 -
374 - Will cook in 'next'.
375 - source: <cover.1707839454.git.code@khaugsbakk.name>
376 -
377 -
378 -* jc/no-lazy-fetch (2024-02-16) 3 commits
652 +* jc/no-lazy-fetch (2024-02-27) 3 commits
653 - git: extend --no-lazy-fetch to work across subprocesses
654 - git: document GIT_NO_REPLACE_OBJECTS environment variable
655 (merged to 'next' on 2024-02-13 at 7c7136e547)
@@ -384,35 +658,15 @@ Release tarballs are available at:
658 "git --no-lazy-fetch cmd" allows to run "cmd" while disabling lazy
659 fetching of objects from the promisor remote, which may be handy
660 for debugging.
387 - source: <xmqq1q9mmtpw.fsf@gitster.g>
388 - source: <xmqqv86pslos.fsf@gitster.g>
389 -
390 -
391 -* jc/t9210-lazy-fix (2024-02-08) 1 commit
392 - (merged to 'next' on 2024-02-13 at fb61ca2fba)
393 - + t9210: do not rely on lazy fetching to fail
394 - (this branch is used by cc/rev-list-allow-missing-tips.)
395 -
396 - Adjust use of "rev-list --missing" in an existing tests so that it
397 - does not depend on a buggy failure mode.
661
399 - Will cook in 'next'.
400 - source: <xmqq7cjemttr.fsf@gitster.g>
401 -
402 -
403 -* gt/at-is-synonym-for-head-in-add-patch (2024-02-13) 2 commits
404 - (merged to 'next' on 2024-02-14 at cd901555d6)
405 - + add -p tests: remove PERL prerequisites
406 - + add-patch: classify '@' as a synonym for 'HEAD'
407 -
408 - Teach "git checkout -p" and friends that "@" is a synonym for
409 - "HEAD".
410 -
411 - Will cook in 'next'.
412 - source: <20240211202035.7196-2-shyamthakkar001@gmail.com>
662 + Will merge to 'next'?
663 + source: <xmqq1q8xx38i.fsf@gitster.g>
664 + source: <xmqq1q9cl3xv.fsf@gitster.g>
665 + source: <xmqq1q9mmtpw.fsf@gitster.g>
666
667
415 -* js/unit-test-suite-runner (2024-02-03) 7 commits
668 +* js/unit-test-suite-runner (2024-02-23) 8 commits
669 + - ci: use test-tool as unit test runner on Windows
670 - t/Makefile: run unit tests alongside shell tests
671 - unit tests: add rule for running with test-tool
672 - test-tool run-command testsuite: support unit tests
@@ -425,23 +679,8 @@ Release tarballs are available at:
679 The "test-tool" has been taught to run testsuite tests in parallel,
680 bypassing the need to use the "prove" tool.
681
428 - Expecting a reroll.
429 - cf. <20240207225802.GA538110@coredump.intra.peff.net>
430 - source: <cover.1706921262.git.steadmon@google.com>
431 -
432 -
433 -* ps/reftable-backend (2024-02-07) 3 commits
434 - (merged to 'next' on 2024-02-08 at ba1c4c52bb)
435 - + refs/reftable: fix leak when copying reflog fails
436 - (merged to 'next' on 2024-02-07 at 1115200acb)
437 - + ci: add jobs to test with the reftable backend
438 - + refs: introduce reftable backend
439 - (this branch is used by kn/for-all-refs and ps/reflog-list.)
440 -
441 - Integrate the reftable code into the refs framework as a backend.
442 -
443 - Will cook in 'next'.
444 - source: <cover.1707288261.git.ps@pks.im>
682 + Needs review.
683 + source: <cover.1708728717.git.steadmon@google.com>
684
685
686 * cc/rev-list-allow-missing-tips (2024-02-14) 4 commits
@@ -450,35 +689,17 @@ Release tarballs are available at:
689 + t6022: fix 'test' style and 'even though' typo
690 + oidset: refactor oidset_insert_from_set()
691 + revision: clarify a 'return NULL' in get_reference()
453 - (this branch uses jc/t9210-lazy-fix.)
692
693 "git rev-list --missing=print" has learned to optionally take
694 "--allow-missing-tips", which allows the objects at the starting
695 points to be missing.
696
459 - Will cook in 'next'.
697 + Will merge to 'master'.
698 source: <20240214142513.4002639-1-christian.couder@gmail.com>
699
700
463 -* ps/reftable-iteration-perf (2024-02-12) 7 commits
464 - (merged to 'next' on 2024-02-12 at 6abaf58383)
465 - + reftable/reader: add comments to `table_iter_next()`
466 - + reftable/record: don't try to reallocate ref record name
467 - + reftable/block: swap buffers instead of copying
468 - + reftable/pq: allocation-less comparison of entry keys
469 - + reftable/merged: skip comparison for records of the same subiter
470 - + reftable/merged: allocation-less dropping of shadowed records
471 - + reftable/record: introduce function to compare records by key
472 - (this branch is used by ps/reftable-iteration-perf-part2.)
473 -
474 - The code to iterate over refs with the reftable backend has seen
475 - some optimization.
476 -
477 - Will cook in 'next'.
478 - source: <cover.1707726654.git.ps@pks.im>
479 -
480 -
481 -* js/merge-tree-3-trees (2024-02-22) 6 commits
701 +* js/merge-tree-3-trees (2024-02-23) 7 commits
702 + - fill_tree_descriptor(): mark error message for translation
703 - cache-tree: avoid an unnecessary check
704 - Always check `parse_tree*()`'s return value
705 - t4301: verify that merge-tree fails on missing blob objects
@@ -490,9 +711,9 @@ Release tarballs are available at:
711 "git merge-tree" has learned that the three trees involved in the
712 3-way merge only need to be trees, not necessarily commits.
713
493 - Comments?
714 + Will merge to 'next'?
715 source: <pull.1647.git.1706277694231.gitgitgadget@gmail.com>
495 - source: <pull.1651.v3.git.1708612605.gitgitgadget@gmail.com>
716 + source: <pull.1651.v4.git.1708677266.gitgitgadget@gmail.com>
717
718
719 * rj/complete-reflog (2024-01-26) 4 commits
@@ -509,17 +730,15 @@ Release tarballs are available at:
730 source: <98daf977-dbad-4d3b-a293-6a769895088f@gmail.com>
731
732
512 -* ml/log-merge-with-cherry-pick-and-other-pseudo-heads (2024-02-12) 2 commits
733 +* ml/log-merge-with-cherry-pick-and-other-pseudo-heads (2024-02-27) 2 commits
734 - revision: implement `git log --merge` also for rebase/cherry-pick/revert
735 - revision: ensure MERGE_HEAD is a ref in prepare_show_merge
736
737 "git log --merge" learned to pay attention to CHERRY_PICK_HEAD and
738 other kinds of *_HEAD pseudorefs.
739
519 - Expecting a reroll.
520 - cf. <790a3f11-5a8c-42f2-7a35-f2900c0299b4@gmail.com>
521 - cf. <8384d1dc-b6c4-b853-9bf6-3d7ccee86d12@gmail.com>
522 - source: <20240210-ml-log-merge-with-cherry-pick-and-other-pseudo-heads-v4-0-3bc9e62808f4@gmail.com>
740 + Will merge to 'next'?
741 + source: <20240225-ml-log-merge-with-cherry-pick-and-other-pseudo-heads-v5-0-af1ef2d9e44d@gmail.com>
742
743
744 * bk/complete-dirname-for-am-and-format-patch (2024-01-12) 1 commit
@@ -560,27 +779,10 @@ Release tarballs are available at:
779
780 Code clean-up.
781
563 - Will cook in 'next'.
782 + Will merge to 'master'.
783 source: <pull.1632.v5.git.1708124950.gitgitgadget@gmail.com>
784
785
567 -* cp/apply-core-filemode (2023-12-26) 3 commits
568 - (merged to 'next' on 2024-02-07 at 089a3fbb86)
569 - + apply: code simplification
570 - + apply: correctly reverse patch's pre- and post-image mode bits
571 - + apply: ignore working tree filemode when !core.filemode
572 -
573 - "git apply" on a filesystem without filemode support have learned
574 - to take a hint from what is in the index for the path, even when
575 - not working with the "--index" or "--cached" option, when checking
576 - the executable bit match what is required by the preimage in the
577 - patch.
578 -
579 - Will cook in 'next'.
580 - cf. <xmqqzfwb53a9.fsf@gitster.g>
581 - source: <20231226233218.472054-1-gitster@pobox.com>
582 -
583 -
786 * tb/path-filter-fix (2024-01-31) 16 commits
787 - bloom: introduce `deinit_bloom_filters()`
788 - commit-graph: reuse existing Bloom filters where possible
@@ -657,3 +859,17 @@ Release tarballs are available at:
859
860 Not ready to be reviewed yet.
861 source: <20230824205456.1231371-1-gitster@pobox.com>
862 +
863 +--------------------------------------------------
864 +[Discarded]
865 +
866 +* mh/credential-oauth-refresh-token-with-osxkeychain (2024-02-14) 1 commit
867 + . credential/osxkeychain: store new attributes
868 +
869 + OAuth refresh tokens and password expiry timestamps are now stored
870 + in the osxkeychain backend , just the way libsecret and wincred
871 + backends of the credential subsystem do.
872 +
873 + Retracted.
874 + cf. <CAGJzqsknN_RmYeT0xcn4cTLcJhsxSOUC6ppRVepxMDf3day5Fw@mail.gmail.com>
875 + source: <pull.1663.git.1707860618119.gitgitgadget@gmail.com>