What's cooking (2025/11 #02)

Junio C Hamano committed Nov 5, 2025 at 15:44 UTC cebda1a0e2afe6a3f069420d9c8a86d137a5128b
1 file changed +261 -247
whats-cooking.txt
+261 -247
@@ -1,11 +1,11 @@
1 To: git@vger.kernel.org
2 -Subject: What's cooking in git.git (Nov 2025, #01; Mon, 3)
3 -X-master-at: 7f278e958afbf9b7e0727631b4c26dcfa1c63d6e
4 -X-next-at: 8a68052cd46a8a443a1b8f0eb3beec2fb4a7eef9
2 +Subject: What's cooking in git.git (Nov 2025, #02; Thu, 6)
3 +X-master-at: 77b7284ccab768981a2cd08b6b2f164d91201e18
4 +X-next-at: 9fd864c43e7dcfed42e2da05363d2eb4888719f4
5 Bcc: lwn@lwn.net, gitster@pobox.com
6
7 -What's cooking in git.git (Nov 2025, #01; Mon, 3)
8 ---------------------------------------------------
7 +What's cooking in git.git (Nov 2025, #02; Thu, 6)
8 +-------------------------------------------------
9
10 Here are the topics that have been cooking in my tree. Commits
11 prefixed with '+' are in 'next' (being in 'next' is a sign that a
@@ -17,11 +17,10 @@ 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.52-rc0 has been tagged. Later this week we'd go into
21 -pre-release freeze after tagging 2.52-rc1 and hopefully we can have
22 -a reasonably solid Git 2.52 in the middle of this month. Until then
23 -let's concentrate on finding and fixing regressions introduced
24 -during this cycle, if any.
20 +Git 2.52-rc1 has been tagged. Hopefully we can have a reasonably
21 +solid Git 2.52 in the middle of this month. Until then let's
22 +concentrate on finding and fixing regressions introduced during this
23 +cycle, if any.
24
25 Copies of the source code to Git live in many repositories, and the
26 following is a list of the ones I push into or their mirrors. Some
@@ -54,85 +53,243 @@ Release tarballs are available at:
53 --------------------------------------------------
54 [Graduated to 'master']
55
57 -* jk/diff-patch-dry-run-cleanup (2025-10-24) 6 commits
58 - (merged to 'next' on 2025-10-26 at 28426e9102)
59 - + diff: simplify run_external_diff() quiet logic
60 - + diff: drop dry-run redirection to /dev/null
61 - + diff: replace diff_options.dry_run flag with NULL file
62 - + diff: drop save/restore of color_moved in dry-run mode
63 - + diff: send external diff output to diff_options.file
64 - + Merge branch 'ly/diff-name-only-with-diff-from-content' into jk/diff-patch-dry-run-cleanup
56 +* cc/doc-submitting-patches-with-ai (2025-10-01) 1 commit
57 + (merged to 'next' on 2025-10-28 at 9b5e0701fa)
58 + + SubmittingPatches: add section about AI
59
66 - Finishing touches to fixes to the recent regression in "git diff -w
67 - --quiet" and anything that needs to internally generate patch to
68 - see if it turns empty.
69 - source: <20251024170522.GA2344972@coredump.intra.peff.net>
60 + AI guidelines.
61 + cf. <xmqqv7ki1xf1.fsf@gitster.g>
62 + source: <20251001140310.527097-1-christian.couder@gmail.com>
63
64
72 -* jk/match-pathname-fix (2025-10-26) 2 commits
73 - (merged to 'next' on 2025-10-26 at f18b45f0df)
74 - + match_pathname(): give fnmatch one char of prefix context
75 - + match_pathname(): reorder prefix-match check
65 +* eb/t1016-hash-transition-fix (2025-10-28) 1 commit
66 + (merged to 'next' on 2025-10-30 at b743410ab6)
67 + + t1016-compatObjectFormat: really freeze time for reproduciblity
68
77 - The wildmatch code had a corner case bug that mistakenly makes
78 - "foo**/bar" match with "foobar", which has been corrected.
79 - source: <20251026154036.GA2173430@coredump.intra.peff.net>
69 + Test fix.
70 + source: <87frb310d2.fsf_-_@email.froward.int.ebiederm.org>
71
72
82 -* kh/doc-patch-id-1 (2025-10-13) 2 commits
83 - (merged to 'next' on 2025-10-26 at e284077116)
84 - + doc: patch-id: convert to the modern synopsis style
85 - + Merge branch 'kh/doc-patch-id-markup-fix' into kh/doc-patch-id-1
73 +* jc/ci-use-macos-14 (2025-11-04) 1 commit
74 + (merged to 'next' on 2025-11-05 at 5fe2c4be6a)
75 + + GitHub CI: macos-13 images are no more
76
87 - Will merge to 'master'.
88 - source: <v2-38645ea253c.1760369708.git.code@khaugsbakk.name>
89 -
90 -
91 -* ps/maintenance-geometric (2025-10-27) 12 commits
92 - (merged to 'next' on 2025-10-27 at 839fc31de9)
93 - + t7900: fix a flaky test due to git-repack always regenerating MIDX
94 - (merged to 'next' on 2025-10-26 at 505f26dcf7)
95 - + builtin/maintenance: introduce "geometric" strategy
96 - + builtin/maintenance: make "gc" strategy accessible
97 - + builtin/maintenance: extend "maintenance.strategy" to manual maintenance
98 - + builtin/maintenance: run maintenance tasks depending on type
99 - + builtin/maintenance: improve readability of strategies
100 - + builtin/maintenance: don't silently ignore invalid strategy
101 - + builtin/maintenance: make the geometric factor configurable
102 - + builtin/maintenance: introduce "geometric-repack" task
103 - + builtin/gc: make `too_many_loose_objects()` reusable without GC config
104 - + builtin/gc: remove global `repack` variable
105 - + Merge branch 'tb/incremental-midx-part-3.1' into ps/maintenance-geometric
106 -
107 - "git maintenance" command learns the "geometric" strategy where it
108 - avoids doing maintenance tasks that rebuilds everything from
109 - scratch.
110 - source: <20251024-pks-maintenance-geometric-strategy-v3-0-9b5b3bdb4387@pks.im>
111 - source: <20251027-pks-maintenance-geometric-strategy-v4-0-18049e4a0adf@pks.im>
112 -
113 -
114 -* rs/add-patch-quit (2025-10-24) 2 commits
115 - (merged to 'next' on 2025-10-26 at 859e2555b2)
116 - + add-patch: quit on EOF
117 - + add-patch: quit without skipping undecided hunks
118 -
119 - The 'q'(uit) command in "git add -p" has been improved to quit
120 - without doing any meaningless work before leaving, and giving EOF
121 - (typically control-D) to the prompt is made to behave the same way.
122 - source: <13529bee-1e02-4c20-9461-6569312bfe4f@web.de>
123 -
124 -
125 -* rs/merge-base-optim (2025-10-24) 1 commit
126 - (merged to 'next' on 2025-10-26 at 45f9bd4b81)
127 - + commit-reach: avoid commit_list_insert_by_date()
128 -
129 - The code to walk revision graph to compute merge base has been
130 - optimized.
131 - source: <87a00cb8-8faf-48ec-91aa-009e6e906363@web.de>
77 + The version of macos image used in GitHub CI has been updated to
78 + macos-14, as the macos-13 that we have been using got deprecated.
79 + source: <xmqqh5v9o0hb.fsf@gitster.g>
80 +
81 +
82 +* jk/doc-backslash-in-exclude (2025-10-29) 1 commit
83 + (merged to 'next' on 2025-10-30 at 29790121d5)
84 + + doc: document backslash in gitignore patterns
85 +
86 + The patterns used in the .gitignore files use backslash in the way
87 + documented for fnmatch(3); document as such to reduce confusion.
88 + source: <20251029153237.GA1133542@coredump.intra.peff.net>
89 +
90 +
91 +* jk/test-delete-gpgsig-leakfix (2025-10-29) 1 commit
92 + (merged to 'next' on 2025-10-30 at 097810cb65)
93 + + test-tool: fix leak in delete-gpgsig command
94 +
95 + Leakfix.
96 + source: <20251029191031.GA1257596@coredump.intra.peff.net>
97 +
98 +
99 +* jt/repo-structure (2025-10-21) 7 commits
100 + (merged to 'next' on 2025-10-28 at c4d81a2da9)
101 + + builtin/repo: add progress meter for structure stats
102 + + builtin/repo: add keyvalue and nul format for structure stats
103 + + builtin/repo: add object counts in structure output
104 + + builtin/repo: introduce structure subcommand
105 + + ref-filter: export ref_kind_from_refname()
106 + + ref-filter: allow NULL filter pattern
107 + + builtin/repo: rename repo_info() to cmd_repo_info()
108 + (this branch is used by kn/refs-optim-cleanup and ps/ref-peeled-tags.)
109 +
110 + "git repo structure", a new command.
111 + cf. <eesy5qhqzi56qrzv7wlpenxag23l2zykakvpmr6p5rnak6cril@ap3rugp44bcz>
112 + cf. <aPsLS6lbzG27W-C8@pks.im>
113 + source: <20251021182601.2687284-1-jltobler@gmail.com>
114 +
115 +
116 +* kh/doc-checkout-markup-fix (2025-10-28) 1 commit
117 + (merged to 'next' on 2025-10-29 at f106c77f74)
118 + + doc: git-checkout: fix placeholder markup
119 +
120 + Doc mark-up fix.
121 + source: <v2-cb38c701537.1761675472.git.code@khaugsbakk.name>
122 +
123 +
124 +* qj/doc-my1stcontrib-email-verify (2025-10-27) 1 commit
125 + (merged to 'next' on 2025-10-29 at 33f961f37a)
126 + + MyFirstContribution: add note on confirming patches
127 +
128 + The "MyFirstContribution" tutorial tells the reader how to send out
129 + their patches; the section gained a hint to verify the message
130 + reached the mailing list.
131 + source: <20251027111600.1481-1-qjessa662@gmail.com>
132 +
133 +
134 +* rz/t0450-bisect-doc-update (2025-10-28) 1 commit
135 + (merged to 'next' on 2025-10-31 at f563b543eb)
136 + + bisect: update usage and docs to match each other
137 +
138 + The help text and manual page of "git bisect" command have been
139 + made consistent with each other.
140 + source: <pull.2084.git.git.1761690461697.gitgitgadget@gmail.com>
141 +
142 +
143 +* tu/credential-install (2025-10-25) 1 commit
144 + (merged to 'next' on 2025-10-28 at 43589c4832)
145 + + contrib/credential: add install target
146 +
147 + Contributed credential helpers (obviously in contrib/) now have "cd
148 + $there && make install" target.
149 + source: <f67b3cbd-a117-a863-37ba-fbba7a2ca17a@mailbox.tu-dresden.de>
150 +
151 +
152 +* tz/test-prepare-gnupghome (2024-07-03) 2 commits
153 + (merged to 'next' on 2025-10-28 at f612107bf9)
154 + + t/lib-gpg: call prepare_gnupghome() in GPG2 prereq
155 + + t/lib-gpg: add prepare_gnupghome() to create GNUPGHOME dir
156 +
157 + Tests did not set up GNUPGHOME correctly, which is fixed but some
158 + flaky tests are exposed in t1016, which needs to be addressed
159 + before this topic can move forward.
160 + cf. <ZoV8b2RvYxLOotSJ@teonanacatl.net>
161 + cf. <xmqqbjlump3m.fsf@gitster.g>
162 + cf. <87frb310d2.fsf_-_@email.froward.int.ebiederm.org>
163 + source: <20240703153738.916469-1-tmz@pobox.com>
164 +
165 +
166 +* xr/ref-debug-remove-on-disk (2025-10-24) 1 commit
167 + (merged to 'next' on 2025-10-29 at 316e4afdbf)
168 + + refs: add missing remove_on_disk implementation for debug backend
169 +
170 + The "debug" ref-backend was missing a method implementation, which
171 + has been corrected.
172 + source: <pull.2082.git.git.1761295094982.gitgitgadget@gmail.com>
173
174 --------------------------------------------------
175 [New Topics]
176
177 +* en/ort-rename-another-fix (2025-11-03) 3 commits
178 + - merge-ort: fix failing merges in special corner case
179 + - merge-ort: remove debugging crud
180 + - t6429: update comment to mention correct tool
181 +
182 + Yet another corner case fix around renames in the "ort" merge
183 + strategy.
184 +
185 + Will merge to 'next'?
186 + source: <pull.1992.git.1762192908.gitgitgadget@gmail.com>
187 +
188 +
189 +* dk/parseopt-optional-filename-fixes (2025-11-04) 6 commits
190 + (merged to 'next' on 2025-11-04 at 1cb7573414)
191 + + parseopt: remove unreachable code
192 + + parseopt: restore const qualifier to parsed filename
193 + + config: use boolean type for a simple flag
194 + + parseopt: use boolean type for a simple flag
195 + + doc: clarify command equivalence comment
196 + + parseopt: fix :(optional) at command line to only ignore missing files
197 +
198 + A recently added configuration variable and command line option
199 + syntax ":(optional)" for values that are of filename type
200 + inconsistently behaved on an empty file (configuration took it
201 + happily, while the command line option pretended as if it did not
202 + exist), which has been corrected.
203 +
204 + Will merge to 'master'.
205 + source: <cover.1762100242.git.ben.knoble+github@gmail.com>
206 + source: <xmqq1pmdr9qu.fsf@gitster.g>
207 +
208 +
209 +* dk/make-git-contacts-executable (2025-11-04) 1 commit
210 + - perl: also mark git-contacts executable
211 +
212 + Building "git contacts" script (in contrib/) leaves the resulting
213 + file unexecutable, which has been corrected.
214 +
215 + Will merge to 'next'?
216 + source: <7fbb341e8f05fcde3a1543e3bb4e5a3ec1101692.1762280097.git.ben.knoble+github@gmail.com>
217 +
218 +
219 +* dk/meson-html-dir (2025-11-04) 1 commit
220 + - meson: make GIT_HTML_PATH configurable
221 +
222 + The build procedure based on meson learned to allow builders to
223 + specify the directory to install HTML documents.
224 +
225 + Will merge to 'next'?
226 + source: <385992f6020703558f0ba75a1be6c4f9dae08b83.1762264709.git.ben.knoble+github@gmail.com>
227 +
228 +
229 +* kn/maintenance-is-needed (2025-11-04) 7 commits
230 + - maintenance: add 'is-needed' subcommand
231 + - maintenance: add checking logic in `pack_refs_condition()`
232 + - refs: add a `optimize_required` field to `struct ref_storage_be`
233 + - reftable/stack: add function to check if optimization is required
234 + - reftable/stack: return stack segments directly
235 + - Merge branch 'kn/refs-optim-cleanup' into kn/maintenance-is-needed
236 + - Merge branch 'ps/ref-peeled-tags' into kn/maintenance-is-needed
237 + (this branch uses kn/refs-optim-cleanup and ps/ref-peeled-tags.)
238 +
239 + "git maintenance" command learned "is-needed" subcommand to tell if
240 + it is necessary to perform various maintenance tasks.
241 +
242 + Comments?
243 + source: <20251104-562-add-sub-command-to-check-if-maintenance-is-needed-v2-0-303462a9e4ed@gmail.com>
244 +
245 +
246 +* qj/doc-http-bad-want-response (2025-11-04) 1 commit
247 + - doc: clarify server behavior for invalid 'want' lines in HTTP protocol
248 +
249 + Doc update.
250 +
251 + Comments?
252 + source: <20251104100653.2152-1-qjessa662@gmail.com>
253 +
254 +
255 +* jc/exclude-with-gitignore (2025-11-04) 1 commit
256 + - dir.c: do not be fooled by :(exclude) pathspec elements
257 +
258 + "git add ':(exclude)foo.o'" is clearly a request not to add 'foo.o',
259 + but the command complained about listing an ignored path foo.o on
260 + the command line, which has been corrected.
261 +
262 + Comments?
263 + source: <xmqqtsz9o3cn.fsf@gitster.g>
264 +
265 +
266 +* cc/fast-import-strip-if-invalid (2025-11-04) 3 commits
267 + - fast-import: add 'strip-if-invalid' mode to --signed-commits=<mode>
268 + - commit: refactor verify_commit_buffer()
269 + - fast-import: refactor finalize_commit_buffer()
270 +
271 + source: <20251105061918.3688870-1-christian.couder@gmail.com>
272 +
273 +
274 +* jc/whitespace-incomplete-line (2025-11-05) 12 commits
275 + - attr: enable incomplete-line whitespace error for this project
276 + - diff: highlight and error out on incomplete lines
277 + - apply: check and fix incomplete lines
278 + - whitespace: allocate a few more bits and define WS_INCOMPLETE_LINE
279 + - apply: revamp the parsing of incomplete lines
280 + - diff: update the way rewrite diff handles incomplete lines
281 + - diff: call emit_callback ecbdata everywhere
282 + - diff: refactor output of incomplete line
283 + - diff: fix incorrect counting of line numbers
284 + - diff: correct suppress_blank_empty hack
285 + - diff: emit_line_ws_markup() if/else style fix
286 + - whitespace: correct bit assignment comments
287 +
288 + source: <20251105213052.1499224-1-gitster@pobox.com>
289 +
290 +--------------------------------------------------
291 +[Cooking]
292 +
293 * tc/last-modified-active-paths-optimization (2025-10-23) 1 commit
294 (merged to 'next' on 2025-11-03 at 9ab444edfb)
295 + last-modified: implement faster algorithm
@@ -140,11 +297,11 @@ Release tarballs are available at:
297 "git last-modified" was optimized by narrowing the set of paths to
298 follow as it dug deeper in the history.
299
143 - Will merge to 'master'.
300 + Will cook in 'next'.
301 source: <20251023-b4-toon-last-modified-faster-v3-1-40a4ddbbadec@iotcl.com>
302
303
147 -* ps/object-source-loose (2025-10-30) 13 commits
304 +* ps/object-source-loose (2025-11-02) 13 commits
305 - object-file: refactor writing objects via a stream
306 - object-file: rename `write_object_file()`
307 - object-file: refactor freshening of objects
@@ -153,7 +310,7 @@ Release tarballs are available at:
310 - object-file: move loose object map into loose source
311 - object-file: hide internals when we need to reprepare loose sources
312 - object-file: move loose object cache into loose source
156 - - object-file: introduce `struct odb_loose_source`
313 + - object-file: introduce `struct odb_source_loose`
314 - object-file: move `fetch_if_missing`
315 - odb: adjust naming to free object sources
316 - odb: introduce `odb_source_new()`
@@ -163,30 +320,7 @@ Release tarballs are available at:
320 up.
321
322 Will merge to 'next'?
166 - source: <20251031-b4-pks-odb-loose-backend-v2-0-920f721aef71@pks.im>
167 -
168 ---------------------------------------------------
169 -[Cooking]
170 -
171 -* kh/doc-checkout-markup-fix (2025-10-28) 1 commit
172 - (merged to 'next' on 2025-10-29 at f106c77f74)
173 - + doc: git-checkout: fix placeholder markup
174 -
175 - Doc mark-up fix.
176 -
177 - Will merge to 'master'.
178 - source: <v2-cb38c701537.1761675472.git.code@khaugsbakk.name>
179 -
180 -
181 -* rz/t0450-bisect-doc-update (2025-10-28) 1 commit
182 - (merged to 'next' on 2025-10-31 at f563b543eb)
183 - + bisect: update usage and docs to match each other
184 -
185 - The help text and manual page of "git bisect" command have been
186 - made consistent with each other.
187 -
188 - Will merge to 'master'.
189 - source: <pull.2084.git.git.1761690461697.gitgitgadget@gmail.com>
323 + source: <20251103-b4-pks-odb-loose-backend-v3-0-6a61ea977393@pks.im>
324
325
326 * bc/sha1-256-interop-02 (2025-10-29) 15 commits
@@ -213,58 +347,14 @@ Release tarballs are available at:
347 source: <20251027004404.2152927-1-sandals@crustytoothpaste.net>
348
349
216 -* jk/doc-backslash-in-exclude (2025-10-29) 1 commit
217 - (merged to 'next' on 2025-10-30 at 29790121d5)
218 - + doc: document backslash in gitignore patterns
219 -
220 - The patterns used in the .gitignore files use backslash in the way
221 - documented for fnmatch(3); document as such to reduce confusion.
222 -
223 - Will merge to 'master'.
224 - source: <20251029153237.GA1133542@coredump.intra.peff.net>
225 -
226 -
227 -* jk/test-delete-gpgsig-leakfix (2025-10-29) 1 commit
228 - (merged to 'next' on 2025-10-30 at 097810cb65)
229 - + test-tool: fix leak in delete-gpgsig command
230 -
231 - Leakfix.
232 -
233 - Will merge to 'master'.
234 - source: <20251029191031.GA1257596@coredump.intra.peff.net>
235 -
236 -
237 -* qj/doc-my1stcontrib-email-verify (2025-10-27) 1 commit
238 - (merged to 'next' on 2025-10-29 at 33f961f37a)
239 - + MyFirstContribution: add note on confirming patches
240 -
241 - The "MyFirstContribution" tutorial tells the reader how to send out
242 - their patches; the section gained a hint to verify the message
243 - reached the mailing list.
244 -
245 - Will merge to 'master'.
246 - source: <20251027111600.1481-1-qjessa662@gmail.com>
247 -
248 -
249 -* xr/ref-debug-remove-on-disk (2025-10-24) 1 commit
250 - (merged to 'next' on 2025-10-29 at 316e4afdbf)
251 - + refs: add missing remove_on_disk implementation for debug backend
252 -
253 - The "debug" ref-backend was missing a method implementation, which
254 - has been corrected.
255 -
256 - Will merge to 'master'.
257 - source: <pull.2082.git.git.1761295094982.gitgitgadget@gmail.com>
258 -
259 -
260 -* ad/blame-diff-algorithm (2025-10-28) 1 commit
350 +* ad/blame-diff-algorithm (2025-11-01) 2 commits
351 - blame: make diff algorithm configurable
352 + - xdiff: add 'minimal' to XDF_DIFF_ALGORITHM_MASK
353
354 "git blame" learns "--diff-algorithm=<algo>" option.
355
265 - Expecting a reroll.
266 - cf. <fde3dae1-bb11-45e8-9211-50ae003ca497@gmail.com>
267 - source: <pull.2075.v2.git.git.1761658643278.gitgitgadget@gmail.com>
356 + Ready?
357 + source: <pull.2075.v4.git.git.1762034252.gitgitgadget@gmail.com>
358
359
360 * cc/fast-import-export-i18n-cleanup (2025-10-30) 5 commits
@@ -281,16 +371,6 @@ Release tarballs are available at:
371 source: <20251030123332.3337684-1-christian.couder@gmail.com>
372
373
284 -* eb/t1016-hash-transition-fix (2025-10-28) 1 commit
285 - (merged to 'next' on 2025-10-30 at b743410ab6)
286 - + t1016-compatObjectFormat: really freeze time for reproduciblity
287 -
288 - Test fix.
289 -
290 - Will merge to 'master'.
291 - source: <87frb310d2.fsf_-_@email.froward.int.ebiederm.org>
292 -
293 -
374 * ps/packed-git-in-object-store (2025-10-30) 9 commits
375 (merged to 'next' on 2025-11-03 at 1eb3440abd)
376 + packfile: track packs via the MRU list exclusively
@@ -306,39 +386,17 @@ Release tarballs are available at:
386 The list of packfiles used in a running Git process is moved from
387 the packed_git structure into the packfile store.
388
309 - Will merge to 'master'.
389 + Will cook in 'next'.
390 source: <20251030-pks-packfiles-store-drop-list-v2-0-84654f080cc0@pks.im>
391
392
313 -* tu/credential-install (2025-10-25) 1 commit
314 - (merged to 'next' on 2025-10-28 at 43589c4832)
315 - + contrib/credential: add install target
316 -
317 - Contributed credential helpers (obviously in contrib/) now have "cd
318 - $there && make install" target.
319 -
320 - Will merge to 'master'.
321 - source: <f67b3cbd-a117-a863-37ba-fbba7a2ca17a@mailbox.tu-dresden.de>
322 -
323 -
324 -* qj/doc-first-contrib-check-lore (2025-10-24) 1 commit
325 - - MyFirstContribution: add tip to confirm patches reached the mailing list
326 - (this branch uses ps/rust-cbindgen.)
327 -
328 - Doc update.
329 -
330 - Will merge to 'next'?
331 - source: <20251024-b4-pks-rust-cbindgen-v2-0-4b4bd4f18490@pks.im>
332 -
333 -
393 * ps/rust-cbindgen (2025-10-24) 6 commits
335 - - rust: generate bindings via cbindgen
336 - - meson: rename Rust library target
337 - - ci: use Debian instead of deprecated i386/ubuntu
338 - - gitlab-ci: backfill missing Linux jobs
339 - - gitlab-ci: reorder Linux job matrix to match GitHub's order
340 - - Merge branch 'ps/ci-rust' into ps/rust-cbindgen
341 - (this branch is used by qj/doc-first-contrib-check-lore.)
394 + . rust: generate bindings via cbindgen
395 + . meson: rename Rust library target
396 + . ci: use Debian instead of deprecated i386/ubuntu
397 + . gitlab-ci: backfill missing Linux jobs
398 + . gitlab-ci: reorder Linux job matrix to match GitHub's order
399 + . Merge branch 'ps/ci-rust' into ps/rust-cbindgen
400
401 Introduce cbindgen in the build framework to help interfacing with
402 Rust.
@@ -349,16 +407,16 @@ Release tarballs are available at:
407
408
409 * kn/refs-optim-cleanup (2025-10-20) 4 commits
352 - (merged to 'next' on 2025-11-03 at 8c2d7a4413)
410 + (merged to 'next' on 2025-11-04 at dbab18969a)
411 + t/pack-refs-tests: move the 'test_done' to callees
412 + refs: rename 'pack_refs_opts' to 'refs_optimize_opts'
413 + refs: move to using the '.optimize' functions
414 + Merge branch 'ps/ref-peeled-tags' into kn/refs-optim-cleanup
357 - (this branch uses jt/repo-structure and ps/ref-peeled-tags.)
415 + (this branch is used by kn/maintenance-is-needed; uses ps/ref-peeled-tags.)
416
417 Code clean-up.
418
361 - Will merge to 'master'.
419 + Will cook in 'next'.
420 source: <20251020-refs-code-cleanup-v2-0-f5349ed0f6a5@gmail.com>
421
422
@@ -373,25 +431,6 @@ Release tarballs are available at:
431 source: <20251026225409.46647-1-lucasseikioshiro@gmail.com>
432
433
376 -* jt/repo-structure (2025-10-21) 7 commits
377 - (merged to 'next' on 2025-10-28 at c4d81a2da9)
378 - + builtin/repo: add progress meter for structure stats
379 - + builtin/repo: add keyvalue and nul format for structure stats
380 - + builtin/repo: add object counts in structure output
381 - + builtin/repo: introduce structure subcommand
382 - + ref-filter: export ref_kind_from_refname()
383 - + ref-filter: allow NULL filter pattern
384 - + builtin/repo: rename repo_info() to cmd_repo_info()
385 - (this branch is used by kn/refs-optim-cleanup and ps/ref-peeled-tags.)
386 -
387 - "git repo structure", a new command.
388 -
389 - Will merge to 'master'.
390 - cf. <eesy5qhqzi56qrzv7wlpenxag23l2zykakvpmr6p5rnak6cril@ap3rugp44bcz>
391 - cf. <aPsLS6lbzG27W-C8@pks.im>
392 - source: <20251021182601.2687284-1-jltobler@gmail.com>
393 -
394 -
434 * en/xdiff-cleanup-2 (2025-10-29) 10 commits
435 - xdiff: rename rindex -> reference_index
436 - xdiff: change rindex from long to size_t in xdfile_t
@@ -442,24 +481,10 @@ Release tarballs are available at:
481 source: <pull.1991.git.1760731558.gitgitgadget@gmail.com>
482
483
445 -* tz/test-prepare-gnupghome (2024-07-03) 2 commits
446 - (merged to 'next' on 2025-10-28 at f612107bf9)
447 - + t/lib-gpg: call prepare_gnupghome() in GPG2 prereq
448 - + t/lib-gpg: add prepare_gnupghome() to create GNUPGHOME dir
449 -
450 - Tests did not set up GNUPGHOME correctly, which is fixed but some
451 - flaky tests are exposed in t1016, which needs to be addressed
452 - before this topic can move forward.
453 -
454 - Will merge to 'master'.
455 - cf. <ZoV8b2RvYxLOotSJ@teonanacatl.net>
456 - cf. <xmqqbjlump3m.fsf@gitster.g>
457 - cf. <87frb310d2.fsf_-_@email.froward.int.ebiederm.org>
458 - source: <20240703153738.916469-1-tmz@pobox.com>
459 -
460 -
461 -* ps/ref-peeled-tags (2025-10-23) 16 commits
462 - (merged to 'next' on 2025-11-03 at 8ac48a10de)
484 +* ps/ref-peeled-tags (2025-11-04) 18 commits
485 + (merged to 'next' on 2025-11-04 at 3818774c94)
486 + + t7004: do not chdir around in the main process
487 + + ref-filter: fix stale parsed objects
488 + ref-filter: parse objects on demand
489 + ref-filter: detect broken tags when dereferencing them
490 + refs: don't store peeled object IDs for invalid tags
@@ -476,13 +501,13 @@ Release tarballs are available at:
501 + refs: introduce wrapper struct for `each_ref_fn`
502 + Merge branch 'jt/repo-structure' into ps/ref-peeled-tags
503 + Merge branch 'tb/incremental-midx-part-3.1' into ps/ref-peeled-tags
479 - (this branch is used by kn/refs-optim-cleanup; uses jt/repo-structure.)
504 + (this branch is used by kn/maintenance-is-needed and kn/refs-optim-cleanup.)
505
506 Some ref backend storage can hold not just the object name of an
507 annotated tag, but the object name of the object the tag points at.
508 The code to handle this information has been streamlined.
509
485 - Will merge to 'master'.
510 + Will cook in 'next'.
511 source: <20251023-b4-pks-ref-filter-skip-parsing-objects-v4-0-2be68ce82c9a@pks.im>
512
513
@@ -497,17 +522,6 @@ Release tarballs are available at:
522 source: <pull.1981.v5.git.1761856336360.gitgitgadget@gmail.com>
523
524
500 -* cc/doc-submitting-patches-with-ai (2025-10-01) 1 commit
501 - (merged to 'next' on 2025-10-28 at 9b5e0701fa)
502 - + SubmittingPatches: add section about AI
503 -
504 - AI guidelines.
505 -
506 - Will merge to 'master'.
507 - cf. <xmqqv7ki1xf1.fsf@gitster.g>
508 - source: <20251001140310.527097-1-christian.couder@gmail.com>
509 -
510 -
525 * ps/history (2025-10-27) 12 commits
526 - builtin/history: implement "split" subcommand
527 - cache-tree: allow writing in-memory index as tree
@@ -541,7 +555,7 @@ Release tarballs are available at:
555 source: <a203b35538847f3c9358a5ae26fb4ebea5734cfc.1759420102.git.msuchanek@suse.de>
556
557
544 -* sa/replay-atomic-ref-updates (2025-10-30) 3 commits
558 +* sa/replay-atomic-ref-updates (2025-11-05) 3 commits
559 - replay: add replay.refAction config option
560 - replay: make atomic ref updates the default behavior
561 - replay: use die_for_incompatible_opt2() for option validation
@@ -552,7 +566,7 @@ Release tarballs are available at:
566 should point at and leaving the actual update to another command.
567
568 Will merge to 'next'?
555 - source: <20251030191931.30837-1-siddharthasthana31@gmail.com>
569 + source: <20251105191650.89975-1-siddharthasthana31@gmail.com>
570
571
572 * ar/submodule-gitdir-tweak (2025-10-06) 5 commits