What's cooking (2025/03 #03)

Junio C Hamano committed Mar 12, 2025 at 16:25 UTC b1c7cde9727c31ff56acec83d75bfc3f0e464cea
1 file changed +213 -177
whats-cooking.txt
+213 -177
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 -Subject: What's cooking in git.git (Mar 2025, #02; Thu, 6)
3 -X-master-at: a36e024e989f4d35f35987a60e3af8022cac3420
4 -X-next-at: 4cd33545ba4fa82324b454aa5bf2748b40a572fb
2 +Subject: What's cooking in git.git (Mar 2025, #03; Wed, 12)
3 +X-master-at: 4b68faf6b93311254efad80e554780e372deb42f
4 +X-next-at: e278b902bb770b75d0295eb776545312351efd36
5 Bcc: lwn@lwn.net, gitster@pobox.com
6
7 -What's cooking in git.git (Mar 2025, #02; Thu, 6)
7 +What's cooking in git.git (Mar 2025, #03; Wed, 12)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking in my tree. Commits
@@ -48,163 +48,204 @@ Release tarballs are available at:
48 --------------------------------------------------
49 [Graduated to 'master']
50
51 -* cc/lop-remote (2025-03-03) 3 commits
52 - (merged to 'next' on 2025-03-03 at 663485ae52)
53 - + doc: add technical design doc for large object promisors
54 - + promisor-remote: check advertised name or URL
55 - + Add 'promisor-remote' capability to protocol v2
51 +* ma/clone-doc-markup-fix (2025-03-10) 1 commit
52 + (merged to 'next' on 2025-03-10 at f6994c5077)
53 + + git-clone doc: fix indentation
54
57 - Large-object promisor protocol extension.
58 - source: <20250218113204.2847463-1-christian.couder@gmail.com>
55 + Doc markup fix.
56 +
57 + source: <20250310110758.601206-1-martin.agren@gmail.com>
58
59
61 -* dm/editorconfig-bash-is-like-sh (2025-03-03) 1 commit
62 - (merged to 'next' on 2025-03-04 at fa247cfd4e)
63 - + editorconfig: add .bash extension
60 +* pb/doc-follow-remote-head (2025-02-14) 2 commits
61 + (merged to 'next' on 2025-03-11 at 67ce5e4795)
62 + + config/remote.txt: improve wording for 'remote.<name>.followRemoteHEAD'
63 + + config/remote.txt: reunite 'severOption' description paragraphs
64 +
65 + Doc updates.
66 +
67 + source: <pull.1894.git.git.1739554578.gitgitgadget@gmail.com>
68 +
69
65 - The editorconfig file is updated to tell us that bash scripts are
66 - similar to general Bourne shell scripts.
67 - source: <15fa4f5d838745b5b05248b44aa16a57@mandelberg.org>
70 +* tb/fetch-follow-tags-fix (2025-03-07) 1 commit
71 + (merged to 'next' on 2025-03-07 at 9432ccae14)
72 + + fetch: fix following tags when fetching specific OID
73
74 + "git fetch --follow-tags" was broken with recent updates, which has
75 + been corrected.
76 + source: <61147be4b9a0ee76f1fe0f3376d7316205da350c.1741389941.git.me@ttaylorr.com>
77
70 -* jc/breaking-changes-early-adopter-option (2025-03-03) 1 commit
71 - (merged to 'next' on 2025-03-04 at b0c5685768)
72 - + BreakingChanges: clarify the procedure
78
74 - Doc update.
75 - source: <xmqqv7su2d3e.fsf_-_@gitster.g>
79 +* tc/zlib-ng-fix (2025-03-07) 2 commits
80 + (merged to 'next' on 2025-03-07 at e13861b9f1)
81 + + help: print zlib-ng version number
82 + + help: include git-zlib.h to print zlib version
83
84 + "git version --build-options" stopped showing zlib version by
85 + mistake due to recent refactoring, which has been corrected.
86 +
87 + source: <20250307-toon-zlib-git-version-v1-0-5e8069752bb9@iotcl.com>
88
78 -* js/win-2.49-build-fixes (2025-03-06) 3 commits
79 - (merged to 'next' on 2025-03-06 at 7583a8b724)
80 - + cmake: generalize the handling of the `CLAR_TEST_OBJS` list
81 - + meson: fix sorting
82 - + ident: stop assuming that `gw_gecos` is writable
89 +--------------------------------------------------
90 +[New Topics]
91
84 - Hotfix to help building Git-for-Windows.
85 - source: <pull.1867.v2.git.1741256780.gitgitgadget@gmail.com>
92 +* en/merge-ort-prepare-to-remove-recursive (2025-03-07) 3 commits
93 + - merge-ort: support having merge verbosity be set to 0
94 + - merge-ort: allow rename detection to be disabled
95 + - merge-ort: add new merge_ort_generic() function
96
97 + First step of deprecating and removing merge-recursive.
98
88 -* kn/ref-migrate-skip-reflog (2025-03-03) 1 commit
89 - (merged to 'next' on 2025-03-04 at 3444b4bf36)
90 - + refs: show --no-reflog in the help text
99 + Will merge to 'next'.
100 + source: <pull.1875.git.1741362522.gitgitgadget@gmail.com>
101
92 - Usage string of "git refs" has been corrected.
93 - source: <xmqqbjuhvi57.fsf@gitster.g>
102
103 +* jk/use-wunreachable-code-for-devs (2025-03-07) 1 commit
104 + (merged to 'next' on 2025-03-07 at b5c54fea6a)
105 + + config.mak.dev: enable -Wunreachable-code
106
96 -* ps/path-sans-the-repository (2025-02-28) 16 commits
97 - (merged to 'next' on 2025-02-28 at 41875498b7)
98 - + path: adjust last remaining users of `the_repository`
99 - + environment: move access to "core.sharedRepository" into repo settings
100 - + environment: move access to "core.hooksPath" into repo settings
101 - + repo-settings: introduce function to clear struct
102 - + path: drop `git_path()` in favor of `repo_git_path()`
103 - + rerere: let `rerere_path()` write paths into a caller-provided buffer
104 - + path: drop `git_common_path()` in favor of `repo_common_path()`
105 - + worktree: return allocated string from `get_worktree_git_dir()`
106 - + path: drop `git_path_buf()` in favor of `repo_git_path_replace()`
107 - + path: drop `git_pathdup()` in favor of `repo_git_path()`
108 - + path: drop unused `strbuf_git_path()` function
109 - + path: refactor `repo_submodule_path()` family of functions
110 - + submodule: refactor `submodule_to_gitdir()` to accept a repo
111 - + path: refactor `repo_worktree_path()` family of functions
112 - + path: refactor `repo_git_path()` family of functions
113 - + path: refactor `repo_common_path()` family of functions
107 + Enable -Wunreachable-code for developer builds.
108
115 - The path.[ch] API takes an explicit repository parameter passed
116 - throughout the callchain, instead of relying on the_repository
117 - singleton instance.
118 - source: <20250207-b4-pks-path-drop-the-repository-v2-0-13cad3c11b8a@pks.im>
109 + Reverted out of 'next', as macOS CI job stops with a false positive.
110 + cf. <20250310160440.GA26189@coredump.intra.peff.net>
111 + source: <20250307225444.GA42758@coredump.intra.peff.net>
112
113
121 -* pw/build-meson-technical-and-howto-docs (2025-03-03) 1 commit
122 - (merged to 'next' on 2025-03-04 at fd3038fefd)
123 - + meson: fix building technical and howto docs
114 +* ab/decorate-code-cleanup (2025-03-10) 1 commit
115 + - decorate: fix sign comparison warnings
116
125 - Meson-based build procedure forgot to build some docs, which has
126 - been corrected.
127 - source: <pull.1870.git.1740931350451.gitgitgadget@gmail.com>
128 -
129 -
130 -* pw/repo-layout-doc-update (2025-03-05) 1 commit
131 - (merged to 'next' on 2025-03-06 at 2de1596002)
132 - + docs: fix repository-layout when building with breaking changes
133 -
134 - Some future breaking changes would remove certain parts of the
135 - default repository, which were still described even when the
136 - documents were built for the future with WITH_BREAKING_CHANGES.
137 - source: <pull.1871.v2.git.1741171357627.gitgitgadget@gmail.com>
138 -
139 -
140 -* rs/reftable-reader-new-leakfix (2025-03-04) 1 commit
141 - (merged to 'next' on 2025-03-04 at 72b47a15e9)
142 - + reftable: release name on reftable_reader_new() error
143 -
144 - Leakfix.
145 - source: <77e1fe2e-f652-4aea-bc12-4deae7bcd569@web.de>
146 -
147 -
148 -* sk/unit-test-oid (2025-02-25) 4 commits
149 - (merged to 'next' on 2025-03-03 at b7a42309b2)
150 - + t/unit-tests: convert oidtree test to use clar test framework
151 - + t/unit-tests: convert oidmap test to use clar test framework
152 - + t/unit-tests: convert oid-array test to use clar test framework
153 - + t/unit-tests: implement clar specific oid helper functions
154 -
155 - Convert a few unit tests to the clar framework.
156 - source: <20250225101044.84210-1-kuforiji98@gmail.com>
157 -
158 -
159 -* tz/doc-txt-to-adoc-fixes (2025-03-03) 39 commits
160 - (merged to 'next' on 2025-03-04 at 831296c557)
161 - + xdiff: *.txt -> *.adoc fixes
162 - + unpack-trees.c: *.txt -> *.adoc fixes
163 - + transport.h: *.txt -> *.adoc fixes
164 - + trace2/tr2_sysenv.c: *.txt -> *.adoc fixes
165 - + trace2.h: *.txt -> *.adoc fixes
166 - + t6434: *.txt -> *.adoc fixes
167 - + t6012: *.txt -> *.adoc fixes
168 - + t/helper/test-rot13-filter.c: *.txt -> *.adoc fixes
169 - + simple-ipc.h: *.txt -> *.adoc fixes
170 - + setup.c: *.txt -> *.adoc fixes
171 - + refs.h: *.txt -> *.adoc fixes
172 - + pseudo-merge.h: *.txt -> *.adoc fixes
173 - + parse-options.h: *.txt -> *.adoc fixes
174 - + object-name.c: *.txt -> *.adoc fixes
175 - + list-objects-filter-options.h: *.txt -> *.adoc fixes
176 - + fsck.h: *.txt -> *.adoc fixes
177 - + diffcore.h: *.txt -> *.adoc fixes
178 - + diff.h: *.txt -> *.adoc fixes
179 - + contrib/long-running-filter: *.txt -> *.adoc fixes
180 - + config.c: *.txt -> *.adoc fixes
181 - + builtin.h: *.txt -> *.adoc fixes
182 - + apply.c: *.txt -> *.adoc fixes
183 - + advice.h: *.txt -> *.adoc fixes
184 - + doc: *.txt -> *.adoc fixes
185 - + technical/partial-clone: update reference to rev-list-options.adoc
186 - + howto/new-command: update reference to builtin docs
187 - + MyFirstObjectWalk: *.txt -> *.adoc fixes
188 - + MyFirstContribution: *.txt -> *.adoc fixes
189 - + CodingGuidelines: *.txt -> *.adoc fixes
190 - + README: *.txt -> *.adoc fixes
191 - + Makefile: update reference to technical/racy-git.adoc
192 - + doc: remove unneeded .gitattributes
193 - + .gitattributes: more *.txt -> *.adoc updates
194 - + t0450: *.txt -> *.adoc fixes
195 - + doc: fix build-docdep.perl
196 - + contrib/subtree: rename .txt to .adoc
197 - + contrib/contacts: rename .txt to .adoc
198 - + doc: update howto-index.sh for .adoc extensions
199 - + Merge branch 'ps/meson-contrib-bits' into tz/doc-txt-to-adoc-fixes
200 -
201 - Fallouts from recent renaming of documentation files from .txt
202 - suffix to the new .adoc suffix have been corrected.
203 - source: <20250301153607.95746-1-tmz@pobox.com>
204 - source: <20250303204443.360595-1-tmz@pobox.com>
117 + Code clean-up.
118 +
119 + Will merge to 'next'.
120 + source: <7c219279-8151-49c0-8fc0-8abe2624aca9@gmail.com>
121 +
122 +
123 +* ds/path-walk-2 (2025-03-10) 13 commits
124 + - pack-objects: allow --shallow and --path-walk
125 + - path-walk: add new 'edge_aggressive' option
126 + - pack-objects: thread the path-based compression
127 + - pack-objects: refactor path-walk delta phase
128 + - scalar: enable path-walk during push via config
129 + - pack-objects: enable --path-walk via config
130 + - repack: add --path-walk option
131 + - t5538: add tests to confirm deltas in shallow pushes
132 + - pack-objects: introduce GIT_TEST_PACK_PATH_WALK
133 + - p5313: add performance tests for --path-walk
134 + - pack-objects: update usage to match docs
135 + - pack-objects: add --path-walk option
136 + - pack-objects: extract should_attempt_deltas()
137 +
138 + "git pack-objects" learns to find delta bases from blobs at the
139 + same path, using the --path-walk API.
140 + source: <pull.1819.git.1741571455.gitgitgadget@gmail.com>
141 +
142 +
143 +* ja/doc-block-delimiter-markup-fix (2025-03-10) 1 commit
144 + (merged to 'next' on 2025-03-11 at 8d6641a77e)
145 + + doc: add a blank line around block delimiters
146 +
147 + Doc markup updates.
148 +
149 + Will cook in 'next'.
150 + source: <pull.1878.git.1741549511665.gitgitgadget@gmail.com>
151 +
152 +
153 +* jc/name-rev-stdin (2025-03-12) 6 commits
154 + - name-rev: remove "--stdin" support
155 + - t6120: further modernize
156 + - t6120: avoid hiding "git" exit status
157 + - t: introduce WITH_BREAKING_CHANGES prerequisite
158 + - t: extend test_lazy_prereq
159 + - t: document test_lazy_prereq
160 +
161 + Using "git name-rev --stdin" as an example, improve the framework to
162 + prepare tests to pretend to be in the future where the breaking
163 + changes have already happened.
164 +
165 + Will merge to 'next'.
166 + source: <20250311212505.2920181-1-gitster@pobox.com>
167 +
168 +
169 +* jk/fetch-ref-prefix-cleanup (2025-03-10) 9 commits
170 + - fetch: use ref prefix list to skip ls-refs
171 + - fetch: avoid ls-refs only to ask for HEAD symref update
172 + - fetch: stop protecting additions to ref-prefix list
173 + - fetch: ask server to advertise HEAD for config-less fetch
174 + - refspec_ref_prefixes(): clean up refspec_item logic
175 + - t5516: beef up exact-oid ref prefixes test
176 + - t5516: drop NEEDSWORK about v2 reachability behavior
177 + - t5516: prefer "oid" to "sha1" in some test titles
178 + - t5702: fix typo in test name
179 +
180 + In protocol v2 where the refs advertisement is constrained, we try
181 + to tell the server side not to limit the advertisement when there
182 + is no specific need to, which has been the source of confusion and
183 + recent bugs. Revamp the logic to simplify.
184 +
185 + Will merge to 'next'.
186 + source: <20250309030101.GA2334064@coredump.intra.peff.net>
187 +
188 +
189 +* jt/rev-list-z (2025-03-10) 4 commits
190 + - rev-list: support NUL-delimited --missing option
191 + - rev-list: support delimiting objects with NUL bytes
192 + - rev-list: refactor early option parsing
193 + - rev-list: inline `show_object_with_name()` in `show_object()`
194 +
195 + "git rev-list" learns machine-parsable output format that delimits
196 + each field with NUL.
197 +
198 + Will merge to 'next'?
199 + source: <20250310192829.661692-1-jltobler@gmail.com>
200 +
201 +
202 +* kn/reflog-drop (2025-03-10) 1 commit
203 + - reflog: implement subcommand to drop reflogs
204 +
205 + "git reflog" learns "drop" subcommand, that discards the entire
206 + reflog data for a ref.
207 +
208 + Will merge to 'next'?
209 + source: <20250310-493-add-command-to-purge-reflog-entries-v2-1-05caa92e0bfa@gmail.com>
210 +
211 +
212 +* am/dir-dedup-decl-of-repository (2025-03-11) 1 commit
213 + - dir.h: remove duplicate forward declaration of struct repository
214 +
215 + Code cleanup.
216 +
217 + Will merge to 'next'.
218 + source: <pull.1879.git.1741705175922.gitgitgadget@gmail.com>
219 +
220 +
221 +* cc/lop-remote (2025-03-12) 1 commit
222 + - promisor-remote: fix segfault when remote URL is missing
223 +
224 + Bugfix in newly introduced large-object-promisor remote support.
225 + source: <20250312114628.2744747-1-christian.couder@gmail.com>
226 +
227 +
228 +* ps/ci-meson-check-build-docs (2025-03-12) 1 commit
229 + - ci: perform build and smoke tests for Meson docs
230 +
231 + CI update.
232 +
233 + Will merge to 'next'.
234 + source: <20250312-b4-pks-ci-meson-docs-v1-1-5e7cf7ac959a@pks.im>
235 +
236 +
237 +* ps/meson-with-breaking-changes (2025-03-12) 3 commits
238 + - meson: don't install git-pack-redundant(1) docs with breaking changes
239 + - meson: don't compile git-pack-redundant(1) with breaking changes
240 + - meson: define WITH_BREAKING_CHANGES when enabling breaking changes
241 +
242 + Update meson based build procedure for breaking changes support.
243 +
244 + Will merge to 'next'.
245 + source: <20250312-b4-pks-meson-breaking-changes-v1-0-b89e9a59d228@pks.im>
246
247 --------------------------------------------------
207 -[New Topics]
248 +[Cooking]
249
250 * md/t1403-path-is-file (2025-03-04) 1 commit
251 - t1403: verify that path exists and is a file
@@ -261,16 +302,16 @@ Release tarballs are available at:
302 source: <pull.1873.git.1741275027.gitgitgadget@gmail.com>
303
304
264 -* kn/non-transactional-batch-updates (2025-03-06) 9 commits
265 - - update-ref: add --allow-partial flag for stdin mode
266 - - refs: support partial update rejections during F/D checks
267 - - refs: implement partial reference transaction support
268 - - refs: introduce enum-based transaction error types
269 - - refs/reftable: extract code from the transaction preparation
270 - - refs/files: remove duplicate duplicates check
271 - - refs: move duplicate refname update check to generic layer
272 - - refs/files: remove redundant check in split_symref_update()
273 - - Merge branch 'ps/refname-avail-check-optim' into kn/non-transactional-batch-updates
305 +* kn/non-transactional-batch-updates (2025-03-12) 9 commits
306 + . update-ref: add --allow-partial flag for stdin mode
307 + . refs: support partial update rejections during F/D checks
308 + . refs: implement partial reference transaction support
309 + . refs: introduce enum-based transaction error types
310 + . refs/reftable: extract code from the transaction preparation
311 + . refs/files: remove duplicate duplicates check
312 + . refs: move duplicate refname update check to generic layer
313 + . refs/files: remove redundant check in split_symref_update()
314 + . Merge branch 'ps/refname-avail-check-optim' into kn/non-transactional-batch-updates
315 (this branch uses ps/refname-avail-check-optim.)
316
317 Updating multiple references have only been possible in all-or-none
@@ -279,11 +320,11 @@ Release tarballs are available at:
320 best-effort manner. A new "best effort batches of updates" mode
321 has been introduced.
322
282 - Comments?
323 + Trips up -Wunreachable-code checker.
324 source: <20250305-245-partially-atomic-ref-updates-v3-0-0c64e3052354@gmail.com>
325
326
286 -* ps/object-wo-the-repository (2025-03-06) 12 commits
327 +* ps/object-wo-the-repository (2025-03-10) 12 commits
328 - hash: stop depending on `the_repository` in `null_oid()`
329 - hash: fix "-Wsign-compare" warnings
330 - object-file: split out logic regarding hash algorithms
@@ -300,12 +341,12 @@ Release tarballs are available at:
341 The object layer has been updated to take an explicit repository
342 instance as a parameter in more code paths.
343
303 - Comments?
304 - source: <20250306-b4-pks-objects-without-the-repository-v2-0-f3465327be69@pks.im>
344 + Looking good.
345 + source: <20250310-b4-pks-objects-without-the-repository-v4-0-f201b8ec57ba@pks.im>
346
347
307 -* ua/some-builtins-wo-the-repository (2025-03-06) 8 commits
308 - (merged to 'next' on 2025-03-06 at b0520af504)
348 +* ua/some-builtins-wo-the-repository (2025-03-07) 8 commits
349 + (merged to 'next' on 2025-03-07 at 01f2b84529)
350 + builtin/checkout-index: stop using `the_repository`
351 + builtin/for-each-ref: stop using `the_repository`
352 + builtin/ls-files: stop using `the_repository`
@@ -320,10 +361,8 @@ Release tarballs are available at:
361 caller.
362
363 Will cook in 'next'.
323 - source: <20250306143629.1267358-1-usmanakinyemi202@gmail.com>
364 + source: <20250307233543.1721552-1-usmanakinyemi202@gmail.com>
365
325 ---------------------------------------------------
326 -[Cooking]
366
367 * ps/maintenance-reflog-expire (2025-02-26) 6 commits
368 - builtin/maintenance: introduce "reflog-expire" task
@@ -339,7 +378,7 @@ Release tarballs are available at:
378 source: <20250226-pks-maintenance-reflog-expire-v1-0-a1204a814952@pks.im>
379
380
342 -* ps/refname-avail-check-optim (2025-03-06) 16 commits
381 +* ps/refname-avail-check-optim (2025-03-12) 16 commits
382 - refs: reuse iterators when determining refname availability
383 - refs/iterator: implement seeking for files iterators
384 - refs/iterator: implement seeking for packed-ref iterators
@@ -361,19 +400,22 @@ Release tarballs are available at:
400 The code paths to check whether a refname X is available (by seeing
401 if another ref X/Y exists, etc.) have been optimized.
402
364 - Needs review.
365 - source: <20250306-pks-update-ref-optimization-v5-0-dcb2ee037e97@pks.im>
403 + Will merge to 'next'.
404 + source: <20250312-pks-update-ref-optimization-v6-0-f778e0414f55@pks.im>
405
406
368 -* tb/multi-cruft-pack-refresh-fix (2025-03-04) 1 commit
407 +* tb/multi-cruft-pack-refresh-fix (2025-03-11) 6 commits
408 - builtin/pack-objects.c: freshen objects from existing cruft packs
409 + - builtin/repack.c: simplify cruft pack aggregation
410 + - pack-objects: generate cruft packs at most one object over threshold
411 + - t/lib-cruft.sh: extract some cruft-related helpers
412 + - t7704-repack-cruft.sh: consolidate `write_blob()`
413 + - t/t5329-pack-objects-cruft.sh: evict 'repack'-related tests
414
415 Certain "cruft" objects would have never been refreshed when there
416 are multiple cruft packs in the repository, which has been
417 corrected.
374 -
375 - Will merge to 'next'?
376 - source: <6e93471f9a8e6a3dde36342088748ba17e4f7f95.1741133712.git.me@ttaylorr.com>
418 + source: <cover.1741648467.git.me@ttaylorr.com>
419
420
421 * jk/zlib-inflate-fixes (2025-02-25) 10 commits
@@ -395,10 +437,10 @@ Release tarballs are available at:
437 source: <20250225062518.GA1293854@coredump.intra.peff.net>
438
439
398 -* cc/signed-fast-export-import (2025-02-24) 6 commits
440 +* cc/signed-fast-export-import (2025-03-10) 6 commits
441 - fast-export, fast-import: add support for signed-commits
442 - fast-export: do not modify memory from get_commit_buffer
401 - - git-fast-export.txt: clarify why 'verbatim' may not be a good idea
443 + - git-fast-export.adoc: clarify why 'verbatim' may not be a good idea
444 - fast-export: rename --signed-tags='warn' to 'warn-verbatim'
445 - fast-export: fix missing whitespace after switch
446 - git-fast-import.adoc: add missing LF in the BNF
@@ -406,15 +448,9 @@ Release tarballs are available at:
448 "git fast-export | git fast-import" learns to deal with commit and
449 tag objects with embedded signatures a bit better.
450
409 - Needs review.
410 - source: <20250224142744.279643-1-christian.couder@gmail.com>
411 -
412 -
413 -* pb/doc-follow-remote-head (2025-02-14) 2 commits
414 - - config/remote.txt: improve wording for 'remote.<name>.followRemoteHEAD'
415 - - config/remote.txt: reunite 'severOption' description paragraphs
416 -
417 - source: <pull.1894.git.git.1739554578.gitgitgadget@gmail.com>
451 + Will merge to 'next'.
452 + cf. <CABPp-BGyA8iBA0BFO8FcpZAMca94aVu2vHHRi4Oz=nCWxJSDPg@mail.gmail.com>
453 + source: <20250310155746.879481-1-christian.couder@gmail.com>
454
455
456 * jt/diff-pairs (2025-03-03) 4 commits