What's cooking (2025/07 #07)

Junio C Hamano committed Jul 24, 2025 at 09:54 UTC 69a90292ebb9b4ad23dd4e38db28157ae96ffa04
1 file changed +122 -211
whats-cooking.txt
+122 -211
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 -Subject: What's cooking in git.git (Jul 2025, #06; Tue, 22)
3 -X-master-at: 0e8243a355a69035dac269528b49dc8c9bc81f8a
4 -X-next-at: 942d659e1bbc2e578fba7d9b4087112004142e34
2 +Subject: What's cooking in git.git (Jul 2025, #07; Thu, 24)
3 +X-master-at: 97e14d99f6def189b0f786ac6207b792ca3197b1
4 +X-next-at: c32cd1483be90fa6182845f8d9c0c74dc287cc37
5 Bcc: lwn@lwn.net, gitster@pobox.com
6
7 -What's cooking in git.git (Jul 2025, #06; Tue, 22)
7 +What's cooking in git.git (Jul 2025, #07; Thu, 24)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking in my tree. Commits
@@ -48,131 +48,74 @@ Release tarballs are available at:
48 --------------------------------------------------
49 [Graduated to 'master']
50
51 -* bc/use-sha256-by-default-in-3.0 (2025-07-01) 11 commits
52 - (merged to 'next' on 2025-07-11 at 893c183a5f)
53 - + Enable SHA-256 by default in breaking changes mode
54 - + help: add a build option for default hash
55 - + t5300: choose the built-in hash outside of a repo
56 - + t4042: choose the built-in hash outside of a repo
57 - + t1007: choose the built-in hash outside of a repo
58 - + t: default to compile-time default hash if not set
59 - + setup: use the default algorithm to initialize repo format
60 - + Use legacy hash for legacy formats
61 - + builtin: use default hash when outside a repository
62 - + hash: add a constant for the legacy hash algorithm
63 - + hash: add a constant for the default hash algorithm
64 - (this branch is used by kl/test-installed-fix and ps/config-wo-the-repository.)
65 -
66 - Prepare to flip the default hash function to SHA-256.
67 - source: <20250701212237.766774-1-sandals@crustytoothpaste.net>
68 -
69 -
70 -* cb/daemon-reap-children (2025-07-10) 2 commits
71 - (merged to 'next' on 2025-07-14 at a3574350ff)
72 - + daemon: use sigaction() to install child_handler()
73 - + compat/mingw: allow sigaction(SIGCHLD)
74 -
75 - Futz with SIGCHLD handling in "git daemon".
76 - source: <pull.2002.v4.git.git.1752176743.gitgitgadget@gmail.com>
77 -
78 -
79 -* ja/doc-git-log-markup (2025-07-07) 9 commits
80 - (merged to 'next' on 2025-07-14 at 8eb14e9306)
81 - + doc: git-log: convert log config to new doc format
82 - + doc: git-log: convert diff options to new doc format
83 - + doc: git-log: convert pretty formats to new doc format
84 - + doc: git-log: convert pretty options to new doc format
85 - + doc: git-log: convert rev list options to new doc format
86 - + doc: git-log: convert line range format to new doc format
87 - + doc: git-log: convert line range options to new doc format
88 - + doc: git-log convert rev-list-description to new doc format
89 - + doc: convert git-log to new documentation format
90 -
91 - Doc mark-up updates.
92 - source: <pull.1933.v3.git.1751914412.gitgitgadget@gmail.com>
93 -
94 -
95 -* jb/gpg-program-variable-is-a-pathname (2025-07-11) 1 commit
96 - (merged to 'next' on 2025-07-14 at b23aee3cb1)
97 - + gpg-interface: expand gpg.program as a path
98 -
99 - The gpg.program configuration variable, which names a pathname to
100 - the (custom) GPG compatible program, can now be spelled with ~tilde
101 - expansion.
102 - source: <20250711232348.460804-1-jonas.brandstoetter@gmx.at>
103 -
104 -
105 -* jk/remote-avoid-overlapping-names (2025-07-08) 1 commit
106 - (merged to 'next' on 2025-07-11 at 097c87760a)
107 - + remote: detect collisions in remote names
108 -
109 - "git remote" now detects remote names that overlap with each other
110 - (e.g., remote nickname "outer" and "outer/inner" are used at the
111 - same time), as it will lead to overlapping remote-tracking
112 - branches.
113 - source: <20250708225946.GC1180568@coredump.intra.peff.net>
114 -
115 -
116 -* ps/meson-cleanups (2025-07-08) 7 commits
117 - (merged to 'next' on 2025-07-14 at 5fb402f51a)
118 - + ci: use Meson's new `--slice` option
119 - + meson: update subproject wrappers
120 - + meson: fix lookup of shell on MINGW64
121 - + meson: clean up unnecessary variables
122 - + meson: improve summary of auto-detected features
123 - + meson: stop printing 'https' option twice in our summaries
124 - + meson: stop discovering native version of Python
125 -
126 - Meson-based build update.
127 - cf. <87h5zkcbk2.fsf@iotcl.com>
128 - source: <20250709-b4-pks-meson-cleanups-v3-0-29ab15b9ab85@pks.im>
129 -
130 -
131 -* rh/doc-glob-pathspec-fix (2025-07-07) 1 commit
132 - (merged to 'next' on 2025-07-14 at 1561f0726d)
133 - + doc: correct doc for glob pathspec
134 -
135 - Docfix.
136 - source: <20250708024507.62386-2-rhanneken@pobox.com>
137 -
138 -
139 -* tb/midx-avoid-cruft-packs (2025-06-23) 9 commits
140 - (merged to 'next' on 2025-07-11 at 3fc02a8a1a)
141 - + repack: exclude cruft pack(s) from the MIDX where possible
142 - + pack-objects: introduce '--stdin-packs=follow'
143 - + pack-objects: swap 'show_{object,commit}_pack_hint'
144 - + pack-objects: fix typo in 'show_object_pack_hint()'
145 - + pack-objects: perform name-hash traversal for unpacked objects
146 - + pack-objects: declare 'rev_info' for '--stdin-packs' earlier
147 - + pack-objects: factor out handling '--stdin-packs'
148 - + pack-objects: limit scope in 'add_object_entry_from_pack()'
149 - + pack-objects: use standard option incompatibility functions
150 - (this branch is used by ps/object-store-midx.)
151 -
152 - "pack-objects" has been taught to avoid pointing into objects in
153 - cruft packs from midx.
154 - source: <cover.1750717921.git.me@ttaylorr.com>
51 +* cc/fast-import-export-signature-names (2025-07-09) 1 commit
52 + (merged to 'next' on 2025-07-15 at a6a173da68)
53 + + fast-(import|export): improve on commit signature output format
54 +
55 + Clean up the way how signature on commit objects are exported to
56 + and imported from fast-import stream.
57 + cf. <CABPp-BHM5afgiUf7GsTPWmrf_tm6mWnvHWMKiZPxApJzN-U8gg@mail.gmail.com>
58 + source: <20250709141253.623563-1-christian.couder@gmail.com>
59 +
60 +
61 +* ly/changed-paths-traversal (2025-07-14) 5 commits
62 + (merged to 'next' on 2025-07-15 at 45fdb67b92)
63 + + bloom: optimize multiple pathspec items in revision
64 + + revision: make helper for pathspec to bloom keyvec
65 + + bloom: replace struct bloom_key * with struct bloom_keyvec
66 + + bloom: rename function operates on bloom_key
67 + + bloom: add test helper to return murmur3 hash
68 +
69 + Lift the limitation to use changed-path filter in "git log" so that
70 + it can be used for a pathspec with multiple literal paths.
71 + source: <20250712093517.17907-1-yldhome2d2@gmail.com>
72 +
73 +
74 +* ps/sane-ctype-workaround (2025-07-09) 1 commit
75 + (merged to 'next' on 2025-07-15 at 21b79228e3)
76 + + sane-ctype: fix compiler error on Amazon Linux 2
77 +
78 + Our <sane-ctype.h> header file relied on that the system-supplied
79 + <ctype.h> header is not later included, which would override our
80 + macro definitions, but "amazon linux" broke this assumption. Fix
81 + this by preemptively including <ctype.h> near the beginning of
82 + <sane-ctype.h> ourselves.
83 + source: <fabacc9bc7ef7d462d1c7198d5edc18c76b82270.1752139420.git.ps@pks.im>
84
85 --------------------------------------------------
86 [New Topics]
87
88 +* jc/document-test-balloons-in-flight (2025-07-23) 1 commit
89 + - CodingGuidelines: document test balloons in flight
90 +
91 + To help our developers, document what C99 language features are
92 + being considered for adoption, in addition to what past experiments
93 + have already decided.
94 +
95 + Will merge to 'next'.
96 + source: <xmqqecu6n1pt.fsf@gitster.g>
97 +
98 +--------------------------------------------------
99 +[Cooking]
100 +
101 * ly/pull-autostash (2025-07-20) 1 commit
102 - pull: add pull.autoStash config option
103
104 "git pull" learned to pay attention to pull.autostash configuration
163 - variable, which is officially documented.
105 + variable, which overrides rebase/merge.autostash.
106
165 - Will merge to 'next'?
107 + Will merge to 'next'.
108 source: <20250720124334.12045-1-yldhome2d2@gmail.com>
109
110
111 * jk/revision-no-early-output (2025-07-19) 1 commit
170 - - revision: drop early output option
112 + (merged to 'next' on 2025-07-23 at cfc20b3eb9)
113 + + revision: drop early output option
114
115 Remove unsupported, unused, and unsupportable old option from "git
116 log".
117
175 - Will merge to 'next'.
118 + Will merge to 'master'.
119 source: <20250719070813.GA706382@coredump.intra.peff.net>
120
121
@@ -181,7 +124,7 @@ Release tarballs are available at:
124
125 Document recently added "git imap-send --list" with an example.
126
184 - Will merge to 'next'?
127 + Will merge to 'next'.
128 source: <20250722114827.22493-1-gargaditya08@live.com>
129
130
@@ -191,7 +134,8 @@ Release tarballs are available at:
134 "git send-email" learned to drive "git imap-send" to store already
135 sent e-mails in an IMAP folder.
136
194 - Will merge to 'next'.
137 + A reroll (v4) exists.
138 + cf. <PN3PR01MB9597EC4C5DF97943587AEEB4B85FA@PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM>
139 source: <da7cee769f25871ed3f934e3ec7f2cccf0a0420c.1753182534.git.gargaditya08@live.com>
140
141
@@ -217,7 +161,8 @@ Release tarballs are available at:
161 A few file descriptors left unclosed upon program completion in a
162 few test helper programs are now closed.
163
220 - Comments?
164 + Expecting a reroll.
165 + cf. <CAPig+cR-r=CeEaSTeWsX00MLCSRJUUVXMUWS6Ui-HQcR_qMGJA@mail.gmail.com>
166 source: <20250722174102.1876197-1-lhywkd22@gmail.com>
167
168
@@ -231,33 +176,34 @@ Release tarballs are available at:
176
177
178 * jc/do-not-scan-argv-without-parsing (2025-07-21) 1 commit
234 - - rev-list: update a NEEDSWORK comment
179 + (merged to 'next' on 2025-07-23 at 8e3db5dcca)
180 + + rev-list: update a NEEDSWORK comment
181
182 Update a hard-to-read in-code NEEDSWORK comment.
183
238 - Will merge to 'next'.
184 + Will merge to 'master'.
185 source: <xmqqecu9w4a5.fsf@gitster.g>
186
187
188 * jc/rev-list-info-cleanup (2025-07-18) 1 commit
243 - - rev-list: make "struct rev_list_info" static to the only user
189 + (merged to 'next' on 2025-07-23 at 09282d051a)
190 + + rev-list: make "struct rev_list_info" static to the only user
191
192 Move structure definition from unrelated header file to where it
193 belongs.
194
248 - Will merge to 'next'.
195 + Will merge to 'master'.
196 source: <xmqqa551127o.fsf@gitster.g>
197
198
252 -* jk/unleak-reflog-expire-entry (2025-07-22) 3 commits
253 - - fixup! reflog: close leak of reflog expire entry
254 - - t1410: add test of gc.<pattern>.reflogExpire config
255 - - reflog: close leak of reflog expire entry
199 +* jk/unleak-reflog-expire-entry (2025-07-22) 1 commit
200 + (merged to 'next' on 2025-07-23 at 1663299f09)
201 + + reflog: close leak of reflog expire entry
202
203 Leakfix.
204
259 - Expecting a reroll?
260 - source: <20250722045456.GA824456@coredump.intra.peff.net>
205 + Will merge to 'master'.
206 + source: <20250722-jk-fix-leak-reflog-expire-config-v4-1-b65a83551020@gmail.com>
207
208
209 * jt/switch-restore-no-longer-experimental (2025-07-22) 2 commits
@@ -267,7 +213,7 @@ Release tarballs are available at:
213 Declare that "git switch" and "git restore" are no longer
214 experimental.
215
270 - Expecting a reroll.
216 + Expecting a reroll.
217 source: <20250722180818.1043014-1-jltobler@gmail.com>
218
219
@@ -284,11 +230,10 @@ Release tarballs are available at:
230 "git refs migrate" to migrate the reflog entries from a refs
231 backend to another had a handful of bugs squashed.
232
287 - Comments?
233 + Expecting a reroll.
234 + cf. <j52ugdtik25i6dqgqafchvy5an3o7qbdfeavtqg6bcr2ouxvyv@qwtqzf7xk4hi>
235 source: <20250722-pks-reflog-append-v1-0-183e5949de16@pks.im>
236
290 ---------------------------------------------------
291 -[Cooking]
237
238 * kl/test-installed-fix (2025-07-15) 2 commits
239 (merged to 'next' on 2025-07-16 at 512176f26c)
@@ -342,7 +287,7 @@ Release tarballs are available at:
287
288 CI fix.
289
345 - Comments?
290 + Will merge to 'next'.
291 source: <xmqqa553alp1.fsf_-_@gitster.g>
292
293
@@ -378,7 +323,7 @@ Release tarballs are available at:
323 source: <pull.1941.v2.git.1752716054.gitgitgadget@gmail.com>
324
325
381 -* ps/config-wo-the-repository (2025-07-17) 22 commits
326 +* ps/config-wo-the-repository (2025-07-23) 22 commits
327 - config: fix sign comparison warnings
328 - config: move Git config parsing into "environment.c"
329 - config: remove unused `the_repository` wrappers
@@ -407,21 +352,7 @@ Release tarballs are available at:
352 inlined at the calling sites.
353
354 Will merge to 'next'?
410 - source: <20250717-pks-config-wo-the-repository-v1-0-d888e4a17de1@pks.im>
411 -
412 -
413 -* ps/sane-ctype-workaround (2025-07-09) 1 commit
414 - (merged to 'next' on 2025-07-15 at 21b79228e3)
415 - + sane-ctype: fix compiler error on Amazon Linux 2
416 -
417 - Our <sane-ctype.h> header file relied on that the system-supplied
418 - <ctype.h> header is not later included, which would override our
419 - macro definitions, but "amazon linux" broke this assumption. Fix
420 - this by preemptively including <ctype.h> near the beginning of
421 - <sane-ctype.h> ourselves.
422 -
423 - Will merge to 'master'.
424 - source: <fabacc9bc7ef7d462d1c7198d5edc18c76b82270.1752139420.git.ps@pks.im>
355 + source: <20250723-pks-config-wo-the-repository-v2-0-1502d60d3867@pks.im>
356
357
358 * cb/meson-avoid-broken-macos-pcre2 (2025-07-18) 1 commit
@@ -429,7 +360,7 @@ Release tarballs are available at:
360
361 Build fix for macOS.
362
432 - Still in flux?
363 + Will merge to 'next'.
364 source: <20250718170225.6063-1-carenas@gmail.com>
365
366
@@ -446,16 +377,6 @@ Release tarballs are available at:
377 source: <cover.1752658700.git.phillip.wood@dunelm.org.uk>
378
379
449 -* pw/compound-literal-test-balloon (2025-07-14) 1 commit
450 - - strbuf: add compound literal test balloon
451 -
452 - Gauge if the world is ready for compound literal that can make the
453 - resulting code clearer in some places.
454 -
455 - Comments?
456 - source: <7ac55a5096c261b706f47ca239c381f71db2b67a.1752499653.git.phillip.wood@dunelm.org.uk>
457 -
458 -
380 * pw/3.0-commentchar-auto-deprecation (2025-07-08) 2 commits
381 - commit: print advice when core.commentString=auto
382 - breaking-changes: deprecate support for core.commentString=auto
@@ -485,7 +406,8 @@ Release tarballs are available at:
406 support a single object source that belongs to one repository. A
407 midx does span mulitple "object sources".
408
488 - Comments?
409 + Will merge to 'next'.
410 + cf. <aIHoAiakZr5i2psM@pks.im>
411 source: <20250715-b4-pks-midx-via-odb-alternate-v2-0-b0ca0b4b516e@pks.im>
412
413
@@ -510,6 +432,8 @@ Release tarballs are available at:
432
433 Reduce implicit assumption and dependence on the_repository in the
434 object-file subsystem.
435 +
436 + Comments?
437 source: <20250717-pks-object-file-wo-the-repository-v2-0-36d2cd6c700e@pks.im>
438
439
@@ -519,12 +443,12 @@ Release tarballs are available at:
443
444 Test shuffling.
445
522 - Introduces a few "todo passed".
446 + Seems to introduce a few "todo passed" when merged to 'seen'.
447 source: <20250721115519.140361-1-usmanakinyemi202@gmail.com>
448
449
526 -* kn/for-each-ref-skip (2025-07-17) 6 commits
527 - - fixup! refs: selectively set prefix in the seek functions
450 +* kn/for-each-ref-skip (2025-07-23) 6 commits
451 + - ref-iterator-seek: correctly initialize the prefix_state for a new level
452 (merged to 'next' on 2025-07-15 at 4ea3c74afd)
453 + for-each-ref: introduce a '--start-after' option
454 + ref-filter: remove unnecessary else clause
@@ -535,8 +459,7 @@ Release tarballs are available at:
459 "git for-each-ref" learns "--skip-until" option to help
460 applications that want to page its output.
461
538 - Needs fix-up.
539 - cf. <CAP8UFD06KKF0A0WjBSw77A7fKp_pGJGVyw-OPd8-X92h=RSF+w@mail.gmail.com>
462 + Will merge to 'next' and then to 'master'.
463 source: <20250715-306-git-for-each-ref-pagination-v5-0-852d5a2f56e1@gmail.com>
464
465
@@ -568,21 +491,6 @@ Release tarballs are available at:
491 source: <cover.1752665506.git.ayu.chandekar@gmail.com>
492
493
571 -* ly/changed-paths-traversal (2025-07-14) 5 commits
572 - (merged to 'next' on 2025-07-15 at 45fdb67b92)
573 - + bloom: optimize multiple pathspec items in revision
574 - + revision: make helper for pathspec to bloom keyvec
575 - + bloom: replace struct bloom_key * with struct bloom_keyvec
576 - + bloom: rename function operates on bloom_key
577 - + bloom: add test helper to return murmur3 hash
578 -
579 - Lift the limitation to use changed-path filter in "git log" so that
580 - it can be used for a pathspec with multiple literal paths.
581 -
582 - Will merge to 'master'.
583 - source: <20250712093517.17907-1-yldhome2d2@gmail.com>
584 -
585 -
494 * lo/repo-info (2025-07-21) 5 commits
495 - repo: add the --format flag
496 - repo: add field layout.shallow
@@ -593,21 +501,10 @@ Release tarballs are available at:
501 A new subcommand "git repo" gives users a way to grab various
502 repository characteristics.
503
504 + Expecting a reroll.
505 source: <20250722002835.33428-1-lucasseikioshiro@gmail.com>
506
507
599 -* cc/fast-import-export-signature-names (2025-07-09) 1 commit
600 - (merged to 'next' on 2025-07-15 at a6a173da68)
601 - + fast-(import|export): improve on commit signature output format
602 -
603 - Clean up the way how signature on commit objects are exported to
604 - and imported from fast-import stream.
605 -
606 - Will merge to 'master'.
607 - cf. <CABPp-BHM5afgiUf7GsTPWmrf_tm6mWnvHWMKiZPxApJzN-U8gg@mail.gmail.com>
608 - source: <20250709141253.623563-1-christian.couder@gmail.com>
609 -
610 -
508 * ac/deglobal-sparse-variables (2025-07-18) 3 commits
509 - environment: remove the global variable 'sparse_expect_files_outside_of_patterns'
510 - environment: move access to "core.sparsecheckoutcone" into repo_settings
@@ -628,23 +525,10 @@ Release tarballs are available at:
525 failed to produce the todo file after recording the state files,
526 leading to confused "git status"; this has been corrected.
527
631 - Expecting a reroll.
632 - cf. <7e796844-97e2-4b45-a76e-4c1fcb1da3ae@gmail.com>
528 + Will merge to 'next'.
529 source: <20250609221055.136074-1-oystwa@gmail.com>
530
531
636 -* jc/tag-idempotent-no-op (2025-07-11) 1 commit
637 - - tag: allow idempotent "git tag" without "--force"
638 -
639 - "git tag T O" when the tag T is already pointing at the object O is
640 - a no-op; we used to but no longer error out such a request and
641 - require "--force" and instead turn it into a no-op.
642 -
643 - Will discard.
644 - cf. <dt5ruadvr7lmhsbypmb6yili5cookfx5btw4gzfeui7ehxxajv@ziael4udbbcy>
645 - source: <xmqqv7nyzgp7.fsf@gitster.g>
646 -
647 -
532 * ss/compat-bswap-revamp (2025-07-15) 6 commits
533 (merged to 'next' on 2025-07-16 at c8713eca28)
534 + bswap.h: provide a built-in based version of bswap32/64 if possible
@@ -676,8 +560,8 @@ Release tarballs are available at:
560 The reftable unit tests are now ported to the "clar" unit testing
561 framework.
562
679 - Expecting a reroll.
680 - cf. <xmqqikla86id.fsf@gitster.g>
563 + Reroll (v5) exists.
564 + cf. <20250724142837.67149-1-kuforiji98@gmail.com>
565 source: <20250605140644.239199-1-kuforiji98@gmail.com>
566
567
@@ -703,12 +587,13 @@ Release tarballs are available at:
587 completely different subproject is now dealt a bit better than
588 before.
589
706 - What's the status of this one?
707 - cf. <xmqq4ivn3a1w.fsf@gitster.g>
590 + Expecting a reroll.
591 + cf. <CA+rGoLfygOAxXNxn_TComuef6q+=v1wOoUSfKh4M6Ywk-0McHQ@mail.gmail.com>
592 source: <20250608032705.11990-1-jayatheerthkulkarni2005@gmail.com>
593
594
711 -* lm/add-p-context (2025-07-19) 4 commits
595 +* lm/add-p-context (2025-07-23) 5 commits
596 + - fixup! add-patch: add diff.context command line overrides
597 - add-patch: add diff.context command line overrides
598 - add-patch: respect diff.context configuration
599 - t: use test_config in t4055
@@ -717,7 +602,8 @@ Release tarballs are available at:
602 "git add/etc -p" now honors diff.context configuration variable,
603 and learns to honor -U<n> option.
604
720 - Will merge to 'next'?
605 + Expecting a reroll.
606 + cf. <49703ba5-5f2a-4e91-b9c7-5500720d5d3d@gmail.com>
607 source: <pull.1915.v4.git.1752928113.gitgitgadget@gmail.com>
608
609
@@ -732,5 +618,30 @@ Release tarballs are available at:
618 allow the "partialCloneFilter" settings and the "token" value to be
619 communicated from the server side.
620
735 - Comments?
621 + Will merge to 'next'?
622 source: <20250721141056.2283349-1-christian.couder@gmail.com>
623 +
624 +--------------------------------------------------
625 +[Discarded]
626 +
627 +* pw/compound-literal-test-balloon (2025-07-14) 1 commit
628 + . strbuf: add compound literal test balloon
629 +
630 + Gauge if the world is ready for compound literal that can make the
631 + resulting code clearer in some places.
632 +
633 + Discarded; it turns out that we already have a test balloon on this.
634 + source: <7ac55a5096c261b706f47ca239c381f71db2b67a.1752499653.git.phillip.wood@dunelm.org.uk>
635 +
636 +
637 +* jc/tag-idempotent-no-op (2025-07-11) 1 commit
638 + - tag: allow idempotent "git tag" without "--force"
639 +
640 + "git tag T O" when the tag T is already pointing at the object O is
641 + a no-op; we used to but no longer error out such a request and
642 + require "--force" and instead turn it into a no-op.
643 +
644 + Will discard.
645 + cf. <dt5ruadvr7lmhsbypmb6yili5cookfx5btw4gzfeui7ehxxajv@ziael4udbbcy>
646 + source: <xmqqv7nyzgp7.fsf@gitster.g>
647 +