What's cooking (2025/11 #01)
Junio C Hamano committed
Nov 3, 2025 at 08:33 UTC
7dad50d06aed341fe682be8c3ac92a9838095e9d
1 file changed
+176
-274
whats-cooking.txt
+176
-274
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
-Subject: What's cooking in git.git (Oct 2025, #12; Thu, 30)
3
-X-master-at: a99f379adf116d53eb11957af5bab5214915f91d
4
-X-next-at: c1ab5b90caafe0e01395e0937868c10fd1c06ddf
2
+Subject: What's cooking in git.git (Nov 2025, #01; Mon, 3)
3
+X-master-at: 7f278e958afbf9b7e0727631b4c26dcfa1c63d6e
4
+X-next-at: 8a68052cd46a8a443a1b8f0eb3beec2fb4a7eef9
5
Bcc: lwn@lwn.net, gitster@pobox.com
6
7
-What's cooking in git.git (Oct 2025, #12; Thu, 30)
7
+What's cooking in git.git (Nov 2025, #01; Mon, 3)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking in my tree. Commits
@@ -17,6 +17,12 @@ 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.
25
+
26
Copies of the source code to Git live in many repositories, and the
27
following is a list of the ones I push into or their mirrors. Some
28
repositories have only a subset of branches.
@@ -48,143 +54,120 @@ Release tarballs are available at:
54
--------------------------------------------------
55
[Graduated to 'master']
56
51
-* ey/commit-graph-changed-paths-config (2025-10-17) 1 commit
52
- (merged to 'next' on 2025-10-23 at 48fd936ff1)
53
- + commit-graph: add new config for changed-paths & recommend it in scalar
54
-
55
- A new configuration variable commitGraph.changedPaths allows to
56
- turn "--changed-paths" on by default for "git commit-graph".
57
- source: <pull.1983.v2.git.1760734739642.gitgitgadget@gmail.com>
58
-
59
-
60
-* kf/log-shortlog-completion-fix (2025-10-20) 1 commit
61
- (merged to 'next' on 2025-10-24 at 2300659a0a)
62
- + completion: complete some 'git log' options
63
-
64
- "git shortlog" knows "--committer" and "--author" options, which
65
- the command line completion (in contrib/) did not handle well,
66
- which has been corrected.
67
- source: <pull.2073.v2.git.git.1760981577441.gitgitgadget@gmail.com>
68
-
69
-
70
-* ly/diff-name-only-with-diff-from-content (2025-10-19) 3 commits
71
- (merged to 'next' on 2025-10-24 at 237c19e4e6)
72
- + diff: stop output garbled message in dry run mode
73
- + Merge branch 'jc/diff-from-contents-fix' into ly/diff-name-only-with-diff-from-content
74
- + Merge branch 'jk/diff-from-contents-fix' into ly/diff-name-only-with-diff-from-content
75
- (this branch is used by jk/diff-patch-dry-run-cleanup.)
76
-
77
- Regression fixes for a topic that has already been merged.
78
- source: <20251019163024.18939-1-yldhome2d2@gmail.com>
79
-
80
-
81
-* ob/gpg-interface-cleanup (2025-10-23) 2 commits
82
- (merged to 'next' on 2025-10-24 at ce6d041635)
83
- + gpg-interface: do not use misdesigned strbuf_split*()
84
- + gpg-interface: do not use misdesigned strbuf_split*()
85
-
86
- strbuf_split*() to split a string into multiple strbufs is often a
87
- wrong API to use. A few uses of it have been removed by
88
- simplifying the code.
89
- cf. <CAP8UFD1fousSKKduFAaZrsV9REnOaRDOQYcqB+rTQ0Ys60OWGA@mail.gmail.com>
90
- source: <cover.1761217100.git.belkid98@gmail.com>
91
-
92
-
93
-* ps/remove-packfile-store-get-packs (2025-10-09) 7 commits
94
- (merged to 'next' on 2025-10-24 at e2f6fba6fe)
95
- + packfile: rename `packfile_store_get_all_packs()`
96
- + packfile: introduce macro to iterate through packs
97
- + packfile: drop `packfile_store_get_packs()`
98
- + builtin/grep: simplify how we preload packs
99
- + builtin/gc: convert to use `packfile_store_get_all_packs()`
100
- + object-name: convert to use `packfile_store_get_all_packs()`
101
- + Merge branch 'tb/incremental-midx-part-3.1' into ps/remove-packfile-store-get-packs
102
- (this branch is used by ps/packed-git-in-object-store.)
103
-
104
- Two slightly different ways to get at "all the packfiles" in API
105
- has been cleaned up.
106
- source: <20251009-pks-packfiles-convert-get-all-v2-0-0d73b87ce711@pks.im>
107
-
108
-
109
-* ps/symlink-symref-deprecation (2025-10-14) 1 commit
110
- (merged to 'next' on 2025-10-24 at b37ca35280)
111
- + refs/files: deprecate writing symrefs as symbolic links
112
-
113
- "Symlink symref" has been added to the list of things that will
114
- disappear at Git 3.0 boundary.
115
- source: <20251015-pks-ref-files-deprecate-symbolic-links-v2-1-0529ba48db41@pks.im>
116
-
117
-
118
-* rz/bisect-help-unknown (2025-10-22) 1 commit
119
- (merged to 'next' on 2025-10-24 at d0633ab14d)
120
- + bisect: fix handling of `help` and invalid subcommands
121
-
122
- "git bisect" command did not react correctly to "git bisect help"
123
- and "git bisect unknown", which has been corrected.
124
- source: <pull.2078.git.git.1761122173126.gitgitgadget@gmail.com>
125
-
126
-
127
-* tb/incremental-midx-part-3.1 (2025-10-15) 50 commits
128
- (merged to 'next' on 2025-10-22 at e78054f5a0)
129
- + builtin/repack.c: clean up unused `#include`s
130
- + repack: move `write_cruft_pack()` out of the builtin
131
- + repack: move `write_filtered_pack()` out of the builtin
132
- + repack: move `pack_kept_objects` to `struct pack_objects_args`
133
- + repack: move `finish_pack_objects_cmd()` out of the builtin
134
- + builtin/repack.c: pass `write_pack_opts` to `finish_pack_objects_cmd()`
135
- + repack: extract `write_pack_opts_is_local()`
136
- + repack: move `find_pack_prefix()` out of the builtin
137
- + builtin/repack.c: use `write_pack_opts` within `write_cruft_pack()`
138
- + builtin/repack.c: introduce `struct write_pack_opts`
139
- + repack: 'write_midx_included_packs' API from the builtin
140
- + builtin/repack.c: inline packs within `write_midx_included_packs()`
141
- + builtin/repack.c: pass `repack_write_midx_opts` to `midx_included_packs`
142
- + builtin/repack.c: inline `remove_redundant_bitmaps()`
143
- + builtin/repack.c: reorder `remove_redundant_bitmaps()`
144
- + repack: keep track of MIDX pack names using existing_packs
145
- + builtin/repack.c: use a string_list for 'midx_pack_names'
146
- + builtin/repack.c: extract opts struct for 'write_midx_included_packs()'
147
- + builtin/repack.c: remove ref snapshotting from builtin
148
- + repack: remove pack_geometry API from the builtin
149
- + builtin/repack.c: pass 'packdir' to `pack_geometry_remove_redundant()`
150
- + builtin/repack.c: pass 'pack_kept_objects' to `pack_geometry_init()`
151
- + builtin/repack.c: rename various pack_geometry functions
152
- + builtin/repack.c: remove "repack_promisor_objects()" from the builtin
153
- + builtin/repack.c: pass "packtmp" to `repack_promisor_objects()`
154
- + repack: remove 'generated_pack' API from the builtin
155
- + builtin/repack.c: provide pack locations to `generated_pack_install()`
156
- + builtin/repack.c: pass "packtmp" to `generated_pack_populate()`
157
- + builtin/repack.c: factor out "generated_pack_install"
158
- + builtin/repack.c: rename "struct generated_pack_data"
159
- + repack: remove 'existing_packs' API from the builtin
160
- + builtin/repack.c: avoid unnecessary numeric casts in existing_packs
161
- + builtin/repack.c: pass "packdir" when removing packs
162
- + repack: remove 'remove_redundant_pack' from the builtin
163
- + builtin/repack.c: rename many 'struct existing_packs' functions
164
- + repack: remove 'prepare_pack_objects' from the builtin
165
- + repack: move 'delta_base_offset' to 'struct pack_objects_args'
166
- + builtin/repack.c: pass both pack_objects args to repack_config
167
- + repack: introduce new compilation unit
168
- + builtin/repack.c: avoid using `hash_to_hex()` in pack geometry
169
- + builtin/repack.c: avoid "the_hash_algo" in `finish_pack_objects_cmd()`
170
- + builtin/repack: avoid "the_hash_algo" in `repack_promisor_objects()`
171
- + builtin/repack.c: avoid "the_hash_algo" in `write_oid()`
172
- + builtin/repack.c: avoid "the_hash_algo" when deleting packs
173
- + builtin/repack.c: avoid "the_repository" when repacking promisor objects
174
- + builtin/repack.c: avoid "the_repository" when removing packs
175
- + builtin/repack.c: avoid "the_repository" when taking a ref snapshot
176
- + builtin/repack.c: avoid "the_repository" in existing packs API
177
- + builtin/repack.c: avoid "the_repository" in `cmd_repack()`
178
- + Merge branch 'ps/packfile-store' into tb/incremental-midx-part-3.1
179
- (this branch is used by kn/refs-optim-cleanup, ps/maintenance-geometric, ps/packed-git-in-object-store, ps/ref-peeled-tags and ps/remove-packfile-store-get-packs.)
180
-
181
- Clean-up "git repack" machinery to prepare for incremental update
182
- of midx files.
183
- source: <cover.1760567210.git.me@ttaylorr.com>
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
65
+
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>
70
+
71
+
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
76
+
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>
80
+
81
+
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
86
+
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>
132
133
--------------------------------------------------
134
[New Topics]
135
136
+* tc/last-modified-active-paths-optimization (2025-10-23) 1 commit
137
+ (merged to 'next' on 2025-11-03 at 9ab444edfb)
138
+ + last-modified: implement faster algorithm
139
+
140
+ "git last-modified" was optimized by narrowing the set of paths to
141
+ follow as it dug deeper in the history.
142
+
143
+ Will merge to 'master'.
144
+ source: <20251023-b4-toon-last-modified-faster-v3-1-40a4ddbbadec@iotcl.com>
145
+
146
+
147
+* ps/object-source-loose (2025-10-30) 13 commits
148
+ - object-file: refactor writing objects via a stream
149
+ - object-file: rename `write_object_file()`
150
+ - object-file: refactor freshening of objects
151
+ - object-file: rename `has_loose_object()`
152
+ - object-file: read objects via the loose object source
153
+ - object-file: move loose object map into loose source
154
+ - object-file: hide internals when we need to reprepare loose sources
155
+ - object-file: move loose object cache into loose source
156
+ - object-file: introduce `struct odb_loose_source`
157
+ - object-file: move `fetch_if_missing`
158
+ - odb: adjust naming to free object sources
159
+ - odb: introduce `odb_source_new()`
160
+ - odb: fix subtle logic to check whether an alternate is usable
161
+
162
+ A part of code paths that deals with loose objects has been cleaned
163
+ up.
164
+
165
+ 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
@@ -196,12 +179,13 @@ Release tarballs are available at:
179
180
181
* rz/t0450-bisect-doc-update (2025-10-28) 1 commit
199
- - bisect: update usage and docs to match each other
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
204
- Will merge to 'next'.
188
+ Will merge to 'master'.
189
source: <pull.2084.git.git.1761690461697.gitgitgadget@gmail.com>
190
191
@@ -249,8 +233,6 @@ Release tarballs are available at:
233
Will merge to 'master'.
234
source: <20251029191031.GA1257596@coredump.intra.peff.net>
235
252
---------------------------------------------------
253
-[Cooking]
236
237
* qj/doc-my1stcontrib-email-verify (2025-10-27) 1 commit
238
(merged to 'next' on 2025-10-29 at 33f961f37a)
@@ -286,15 +268,16 @@ Release tarballs are available at:
268
269
270
* cc/fast-import-export-i18n-cleanup (2025-10-30) 5 commits
289
- - gpg-interface: mark a string for translation
290
- - fast-import: mark strings for translation
291
- - fast-export: mark strings for translation
292
- - gpg-interface: use left shift to define GPG_VERIFY_*
293
- - gpg-interface: simplify ssh fingerprint parsing
271
+ (merged to 'next' on 2025-11-03 at 41a35c3e52)
272
+ + gpg-interface: mark a string for translation
273
+ + fast-import: mark strings for translation
274
+ + fast-export: mark strings for translation
275
+ + gpg-interface: use left shift to define GPG_VERIFY_*
276
+ + gpg-interface: simplify ssh fingerprint parsing
277
278
Messages from fast-import/export are now marked for i18n.
279
297
- Will merge to 'next'?
280
+ Will merge to 'master'.
281
source: <20251030123332.3337684-1-christian.couder@gmail.com>
282
283
@@ -309,20 +292,21 @@ Release tarballs are available at:
292
293
294
* ps/packed-git-in-object-store (2025-10-30) 9 commits
312
- - packfile: track packs via the MRU list exclusively
313
- - packfile: always add packfiles to MRU when adding a pack
314
- - packfile: move list of packs into the packfile store
315
- - builtin/pack-objects: simplify logic to find kept or nonlocal objects
316
- - packfile: fix approximation of object counts
317
- - http: refactor subsystem to use `packfile_list`s
318
- - packfile: move the MRU list into the packfile store
319
- - packfile: use a `strmap` to store packs by name
320
- - Merge branch 'ps/remove-packfile-store-get-packs' into ps/packed-git-in-object-store
295
+ (merged to 'next' on 2025-11-03 at 1eb3440abd)
296
+ + packfile: track packs via the MRU list exclusively
297
+ + packfile: always add packfiles to MRU when adding a pack
298
+ + packfile: move list of packs into the packfile store
299
+ + builtin/pack-objects: simplify logic to find kept or nonlocal objects
300
+ + packfile: fix approximation of object counts
301
+ + http: refactor subsystem to use `packfile_list`s
302
+ + packfile: move the MRU list into the packfile store
303
+ + packfile: use a `strmap` to store packs by name
304
+ + Merge branch 'ps/remove-packfile-store-get-packs' into ps/packed-git-in-object-store
305
306
The list of packfiles used in a running Git process is moved from
323
- the object-database layer down to object-store layer.
307
+ the packed_git structure into the packfile store.
308
325
- Will merge to 'next'?
309
+ Will merge to 'master'.
310
source: <20251030-pks-packfiles-store-drop-list-v2-0-84654f080cc0@pks.im>
311
312
@@ -337,23 +321,6 @@ Release tarballs are available at:
321
source: <f67b3cbd-a117-a863-37ba-fbba7a2ca17a@mailbox.tu-dresden.de>
322
323
340
-* jk/diff-patch-dry-run-cleanup (2025-10-24) 6 commits
341
- (merged to 'next' on 2025-10-26 at 28426e9102)
342
- + diff: simplify run_external_diff() quiet logic
343
- + diff: drop dry-run redirection to /dev/null
344
- + diff: replace diff_options.dry_run flag with NULL file
345
- + diff: drop save/restore of color_moved in dry-run mode
346
- + diff: send external diff output to diff_options.file
347
- + Merge branch 'ly/diff-name-only-with-diff-from-content' into jk/diff-patch-dry-run-cleanup
348
-
349
- Finishing touches to fixes to the recent regression in "git diff -w
350
- --quiet" and anything that needs to internally generate patch to
351
- see if it turns empty.
352
-
353
- Will merge to 'master'.
354
- source: <20251024170522.GA2344972@coredump.intra.peff.net>
355
-
356
-
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.)
@@ -364,30 +331,6 @@ Release tarballs are available at:
331
source: <20251024-b4-pks-rust-cbindgen-v2-0-4b4bd4f18490@pks.im>
332
333
367
-* rs/merge-base-optim (2025-10-24) 1 commit
368
- (merged to 'next' on 2025-10-26 at 45f9bd4b81)
369
- + commit-reach: avoid commit_list_insert_by_date()
370
-
371
- The code to walk revision graph to compute merge base has been
372
- optimized.
373
-
374
- Will merge to 'master'.
375
- source: <87a00cb8-8faf-48ec-91aa-009e6e906363@web.de>
376
-
377
-
378
-* rs/add-patch-quit (2025-10-24) 2 commits
379
- (merged to 'next' on 2025-10-26 at 859e2555b2)
380
- + add-patch: quit on EOF
381
- + add-patch: quit without skipping undecided hunks
382
-
383
- The 'q'(uit) command in "git add -p" has been improved to quit
384
- without doing any meaningless work before leaving, and giving EOF
385
- (typically control-D) to the prompt is made to behave the same way.
386
-
387
- Will merge to 'master'.
388
- source: <13529bee-1e02-4c20-9461-6569312bfe4f@web.de>
389
-
390
-
334
* ps/rust-cbindgen (2025-10-24) 6 commits
335
- rust: generate bindings via cbindgen
336
- meson: rename Rust library target
@@ -405,28 +348,17 @@ Release tarballs are available at:
348
source: <20251024-b4-pks-rust-cbindgen-v2-0-4b4bd4f18490@pks.im>
349
350
408
-* jk/match-pathname-fix (2025-10-26) 2 commits
409
- (merged to 'next' on 2025-10-26 at f18b45f0df)
410
- + match_pathname(): give fnmatch one char of prefix context
411
- + match_pathname(): reorder prefix-match check
412
-
413
- The wildmatch code had a corner case bug that mistakenly makes
414
- "foo**/bar" match with "foobar", which has been corrected.
415
-
416
- Will merge to 'master'.
417
- source: <20251026154036.GA2173430@coredump.intra.peff.net>
418
-
419
-
351
* kn/refs-optim-cleanup (2025-10-20) 4 commits
421
- - t/pack-refs-tests: move the 'test_done' to callees
422
- - refs: rename 'pack_refs_opts' to 'refs_optimize_opts'
423
- - refs: move to using the '.optimize' functions
424
- - Merge branch 'ps/ref-peeled-tags' into kn/refs-optim-cleanup
352
+ (merged to 'next' on 2025-11-03 at 8c2d7a4413)
353
+ + t/pack-refs-tests: move the 'test_done' to callees
354
+ + refs: rename 'pack_refs_opts' to 'refs_optimize_opts'
355
+ + refs: move to using the '.optimize' functions
356
+ + Merge branch 'ps/ref-peeled-tags' into kn/refs-optim-cleanup
357
(this branch uses jt/repo-structure and ps/ref-peeled-tags.)
358
359
Code clean-up.
360
429
- Will merge to 'next' after base topics are merged.
361
+ Will merge to 'master'.
362
source: <20251020-refs-code-cleanup-v2-0-f5349ed0f6a5@gmail.com>
363
364
@@ -436,7 +368,8 @@ Release tarballs are available at:
368
369
"git repo info" learned "--all" option.
370
439
- Will merge to 'next'?
371
+ Expecting a (hopefully small and final) reroll.
372
+ cf. <xmqqpla43wcp.fsf@gitster.g> <aQRaRuBtt_r7SamL@pks.im>
373
source: <20251026225409.46647-1-lucasseikioshiro@gmail.com>
374
375
@@ -459,31 +392,6 @@ Release tarballs are available at:
392
source: <20251021182601.2687284-1-jltobler@gmail.com>
393
394
462
-* ps/maintenance-geometric (2025-10-27) 12 commits
463
- (merged to 'next' on 2025-10-27 at 839fc31de9)
464
- + t7900: fix a flaky test due to git-repack always regenerating MIDX
465
- (merged to 'next' on 2025-10-26 at 505f26dcf7)
466
- + builtin/maintenance: introduce "geometric" strategy
467
- + builtin/maintenance: make "gc" strategy accessible
468
- + builtin/maintenance: extend "maintenance.strategy" to manual maintenance
469
- + builtin/maintenance: run maintenance tasks depending on type
470
- + builtin/maintenance: improve readability of strategies
471
- + builtin/maintenance: don't silently ignore invalid strategy
472
- + builtin/maintenance: make the geometric factor configurable
473
- + builtin/maintenance: introduce "geometric-repack" task
474
- + builtin/gc: make `too_many_loose_objects()` reusable without GC config
475
- + builtin/gc: remove global `repack` variable
476
- + Merge branch 'tb/incremental-midx-part-3.1' into ps/maintenance-geometric
477
-
478
- "git maintenance" command learns the "geometric" strategy where it
479
- avoids doing maintenance tasks that rebuilds everything from
480
- scratch.
481
-
482
- Will merge to 'master'.
483
- source: <20251024-pks-maintenance-geometric-strategy-v3-0-9b5b3bdb4387@pks.im>
484
- source: <20251027-pks-maintenance-geometric-strategy-v4-0-18049e4a0adf@pks.im>
485
-
486
-
395
* en/xdiff-cleanup-2 (2025-10-29) 10 commits
396
- xdiff: rename rindex -> reference_index
397
- xdiff: change rindex from long to size_t in xdfile_t
@@ -534,15 +442,6 @@ Release tarballs are available at:
442
source: <pull.1991.git.1760731558.gitgitgadget@gmail.com>
443
444
537
-* kh/doc-patch-id-1 (2025-10-13) 2 commits
538
- (merged to 'next' on 2025-10-26 at e284077116)
539
- + doc: patch-id: convert to the modern synopsis style
540
- + Merge branch 'kh/doc-patch-id-markup-fix' into kh/doc-patch-id-1
541
-
542
- Will merge to 'master'.
543
- source: <v2-38645ea253c.1760369708.git.code@khaugsbakk.name>
544
-
545
-
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
@@ -560,39 +459,42 @@ Release tarballs are available at:
459
460
461
* ps/ref-peeled-tags (2025-10-23) 16 commits
563
- - ref-filter: parse objects on demand
564
- - ref-filter: detect broken tags when dereferencing them
565
- - refs: don't store peeled object IDs for invalid tags
566
- - object: add flag to `peel_object()` to verify object type
567
- - refs: drop infrastructure to peel via iterators
568
- - refs: drop `current_ref_iter` hack
569
- - builtin/show-ref: convert to use `reference_get_peeled_oid()`
570
- - ref-filter: propagate peeled object ID
571
- - upload-pack: convert to use `reference_get_peeled_oid()`
572
- - refs: expose peeled object ID via the iterator
573
- - refs: refactor reference status flags
574
- - refs: fully reset `struct ref_iterator::ref` on iteration
575
- - refs: introduce `.ref` field for the base iterator
576
- - refs: introduce wrapper struct for `each_ref_fn`
577
- - Merge branch 'jt/repo-structure' into ps/ref-peeled-tags
578
- - Merge branch 'tb/incremental-midx-part-3.1' into ps/ref-peeled-tags
462
+ (merged to 'next' on 2025-11-03 at 8ac48a10de)
463
+ + ref-filter: parse objects on demand
464
+ + ref-filter: detect broken tags when dereferencing them
465
+ + refs: don't store peeled object IDs for invalid tags
466
+ + object: add flag to `peel_object()` to verify object type
467
+ + refs: drop infrastructure to peel via iterators
468
+ + refs: drop `current_ref_iter` hack
469
+ + builtin/show-ref: convert to use `reference_get_peeled_oid()`
470
+ + ref-filter: propagate peeled object ID
471
+ + upload-pack: convert to use `reference_get_peeled_oid()`
472
+ + refs: expose peeled object ID via the iterator
473
+ + refs: refactor reference status flags
474
+ + refs: fully reset `struct ref_iterator::ref` on iteration
475
+ + refs: introduce `.ref` field for the base iterator
476
+ + refs: introduce wrapper struct for `each_ref_fn`
477
+ + Merge branch 'jt/repo-structure' into ps/ref-peeled-tags
478
+ + 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.)
480
481
Some ref backend storage can hold not just the object name of an
482
annotated tag, but the object name of the object the tag points at.
483
The code to handle this information has been streamlined.
484
585
- Will merge to 'next' after base topics are merged.
485
+ Will merge to 'master'.
486
source: <20251023-b4-pks-ref-filter-skip-parsing-objects-v4-0-2be68ce82c9a@pks.im>
487
488
589
-* je/doc-data-model (2025-10-27) 1 commit
489
+* je/doc-data-model (2025-10-31) 2 commits
490
+ - SQUASH??? fix xml that does not validate
491
- doc: add an explanation of Git's data model
492
493
Add a new manual that describes the data model.
494
594
- Comments?
595
- source: <pull.1981.v4.git.1761593537924.gitgitgadget@gmail.com>
495
+ Expecting a (hopefully small and final) reroll?
496
+ cf. <aQhcZwv0PdwNc6RW@pks.im>
497
+ source: <pull.1981.v5.git.1761856336360.gitgitgadget@gmail.com>
498
499
500
* cc/doc-submitting-patches-with-ai (2025-10-01) 1 commit
@@ -639,7 +541,7 @@ Release tarballs are available at:
541
source: <a203b35538847f3c9358a5ae26fb4ebea5734cfc.1759420102.git.msuchanek@suse.de>
542
543
642
-* sa/replay-atomic-ref-updates (2025-10-28) 3 commits
544
+* sa/replay-atomic-ref-updates (2025-10-30) 3 commits
545
- replay: add replay.refAction config option
546
- replay: make atomic ref updates the default behavior
547
- replay: use die_for_incompatible_opt2() for option validation
@@ -649,8 +551,8 @@ Release tarballs are available at:
551
in a transaction by default, instead of emitting where each refs
552
should point at and leaving the actual update to another command.
553
652
- Reroll exists.
653
- source: <20251028214609.10041-1-siddharthasthana31@gmail.com>
554
+ Will merge to 'next'?
555
+ source: <20251030191931.30837-1-siddharthasthana31@gmail.com>
556
557
558
* ar/submodule-gitdir-tweak (2025-10-06) 5 commits