What's cooking (2023/11) #04

Junio C Hamano committed Nov 9, 2023 at 01:56 UTC bb2ddb08c142807cdd130b3e76c435b1cf0bc159
1 file changed +130 -232
whats-cooking.txt
+130 -232
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 -Subject: What's cooking in git.git (Nov 2023, #03; Tue, 7)
3 -X-master-at: 8be77c5de65442b331a28d63802c7a3b94a06c5a
4 -X-next-at: 63f67c610266b225d783c4c488463ff26ad58572
2 +Subject: What's cooking in git.git (Nov 2023, #04; Thu, 9)
3 +X-master-at: dadef801b365989099a9929e995589e455c51fed
4 +X-next-at: bcd1edfa6a19000b3bc04690bd9c0d0c692dd5b3
5 Bcc: lwn@lwn.net, gitster@pobox.com
6
7 -What's cooking in git.git (Nov 2023, #03; Tue, 7)
7 +What's cooking in git.git (Nov 2023, #04; Thu, 9)
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 +The first candidate for the upcoming release, Git 2.43.0-rc0, has
21 +been tagged. As of now, 'next' is "empty" in the sense that its
22 +tree is identical to that of 'master'. There are tons of topic
23 +waiting outside 'next' without sufficient support, which is sad, but
24 +they are of lower priority now for a few weeks X-<.
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,131 +54,140 @@ Release tarballs are available at:
54 --------------------------------------------------
55 [Graduated to 'master']
56
51 -* ar/submitting-patches-doc-update (2023-10-24) 1 commit
52 - (merged to 'next' on 2023-10-30 at e140009eb6)
53 - + SubmittingPatches: call gitk's command "Copy commit reference"
57 +* an/clang-format-typofix (2023-11-01) 1 commit
58 + (merged to 'next' on 2023-11-02 at 7f639690ab)
59 + + clang-format: fix typo in comment
60
55 - Doc update.
56 - source: <20231024195123.911431-1-rybak.a.v@gmail.com>
61 + Typofix.
62 + source: <pull.1602.v2.git.git.1698759629166.gitgitgadget@gmail.com>
63
64
59 -* es/bugreport-no-extra-arg (2023-10-29) 2 commits
60 - (merged to 'next' on 2023-11-01 at 4ca0a9c77c)
61 - + bugreport: reject positional arguments
62 - + t0091-bugreport: stop using i18ngrep
65 +* bc/merge-file-object-input (2023-11-02) 2 commits
66 + (merged to 'next' on 2023-11-02 at ccbba9416c)
67 + + merge-file: add an option to process object IDs
68 + + git-merge-file doc: drop "-file" from argument placeholders
69
64 - "git bugreport" learned to complain when it received a command line
65 - argument that it will not use.
66 - source: <20231026155459.2234929-1-nasamuffin@google.com>
70 + "git merge-file" learns a mode to read three contents to be merged
71 + from blob objects.
72 + source: <20231101192419.794162-1-sandals@crustytoothpaste.net>
73
74
69 -* jc/grep-f-relative-to-cwd (2023-10-12) 1 commit
70 - (merged to 'next' on 2023-10-31 at 0d32547b18)
71 - + grep: -f <path> is relative to $cwd
75 +* jc/test-i18ngrep (2023-11-02) 2 commits
76 + (merged to 'next' on 2023-11-03 at 78406f8d94)
77 + + tests: teach callers of test_i18ngrep to use test_grep
78 + + test framework: further deprecate test_i18ngrep
79
73 - "cd sub && git grep -f patterns" tried to read "patterns" file at
74 - the top level of the working tree; it has been corrected to read
75 - "sub/patterns" instead.
76 - cf. <ZUAnEVk65VQQE263@nand.local>
77 - source: <xmqqedhzg37z.fsf@gitster.g>
80 + Another step to deprecate test_i18ngrep.
81 + source: <20231031052330.3762989-1-gitster@pobox.com>
82
83
80 -* js/my-first-contribution-update (2023-10-28) 1 commit
81 - (merged to 'next' on 2023-11-01 at 94590ee724)
82 - + Include gettext.h in MyFirstContribution tutorial
84 +* jk/chunk-bounds (2023-11-04) 1 commit
85 + (merged to 'next' on 2023-11-06 at ae9fbc1700)
86 + + t: avoid perl's pack/unpack "Q" specifier
87
84 - Documentation update.
85 - source: <20231017041503.3249-1-jacob@initialcommit.io>
88 + Test portability fix.
89 + source: <20231103162019.GB1470570@coredump.intra.peff.net>
90
91
88 -* ms/send-email-validate-fix (2023-10-26) 1 commit
89 - (merged to 'next' on 2023-11-01 at f9dd32186b)
90 - + send-email: move validation code below process_address_list
92 +* jk/tree-name-and-depth-limit (2023-11-02) 1 commit
93 + (merged to 'next' on 2023-11-06 at 041423344c)
94 + + max_tree_depth: lower it for MSVC to avoid stack overflows
95
92 - "git send-email" did not have certain pieces of data computed yet
93 - when it tried to validate the outging messages and its recipient
94 - addresses, which has been sorted out.
95 - source: <ddd4bfdd-ed14-44f4-89d3-192332bbc1c4@amd.com>
96 + Further limit tree depth max to avoid Windows build running out of
97 + the stack space.
98 + source: <pull.1604.v2.git.1698843810814.gitgitgadget@gmail.com>
99
100
98 -* rc/trace-upload-pack (2023-10-30) 1 commit
99 - (merged to 'next' on 2023-11-01 at 90892b5cf0)
100 - + upload-pack: add tracing for fetches
101 +* js/ci-use-macos-13 (2023-11-03) 1 commit
102 + (merged to 'next' on 2023-11-06 at f7406347cd)
103 + + ci: upgrade to using macos-13
104
102 - Trace2 update.
103 - source: <pull.1598.v2.git.1697577168128.gitgitgadget@gmail.com>
105 + Replace macos-12 used at GitHub CI with macos-13.
106 + source: <pull.1607.git.1698996455218.gitgitgadget@gmail.com>
107
108
106 -* rs/fix-arghelp (2023-10-29) 1 commit
107 - (merged to 'next' on 2023-11-01 at cd923d3362)
108 - + am, rebase: fix arghelp syntax of --empty
109 +* kn/rev-list-missing-fix (2023-11-01) 4 commits
110 + (merged to 'next' on 2023-11-02 at 2469dfc402)
111 + + rev-list: add commit object support in `--missing` option
112 + + rev-list: move `show_commit()` to the bottom
113 + + revision: rename bit to `do_not_die_on_missing_objects`
114 + + Merge branch 'ps/do-not-trust-commit-graph-blindly-for-existence' into kn/rev-list-missing-fix
115 + (this branch uses ps/do-not-trust-commit-graph-blindly-for-existence.)
116
110 - Doc and help update.
111 - source: <10e09b2d-15d7-4af1-b24c-217f9e2f457a@web.de>
117 + "git rev-list --missing" did not work for missing commit objects,
118 + which has been corrected.
119 + source: <20231026101109.43110-1-karthik.188@gmail.com>
120
121
114 -* rs/parse-options-cmdmode (2023-10-29) 2 commits
115 - (merged to 'next' on 2023-11-01 at b83328f1e7)
116 - + am: simplify --show-current-patch handling
117 - + parse-options: make CMDMODE errors more precise
122 +* la/strvec-header-fix (2023-11-03) 1 commit
123 + (merged to 'next' on 2023-11-03 at db23d8a911)
124 + + strvec: drop unnecessary include of hex.h
125
119 - parse-options improvements for OPT_CMDMODE options.
120 - source: <4520156b-9418-493c-a50c-e61b42e805b3@web.de>
126 + Code clean-up.
127 + source: <pull.1608.git.1698958277454.gitgitgadget@gmail.com>
128
129
123 -* rs/reflog-expire-single-worktree-fix (2023-10-29) 1 commit
124 - (merged to 'next' on 2023-11-01 at 6b4dab2cd2)
125 - + reflog: fix expire --single-worktree
130 +* ps/do-not-trust-commit-graph-blindly-for-existence (2023-11-01) 2 commits
131 + (merged to 'next' on 2023-11-01 at 06037376ee)
132 + + commit: detect commits that exist in commit-graph but not in the ODB
133 + + commit-graph: introduce envvar to disable commit existence checks
134 + (this branch is used by kn/rev-list-missing-fix.)
135
127 - "git reflog expire --single-worktree" has been broken for the past
128 - 20 months or so, which has been corrected.
129 - source: <63eade0e-bf2c-4906-8b4c-689797cff737@web.de>
136 + The codepath to traverse the commit-graph learned to notice that a
137 + commit is missing (e.g., corrupt repository lost an object), even
138 + though it knows something about the commit (like its parents) from
139 + what is in commit-graph.
140 + source: <cover.1698736363.git.ps@pks.im>
141
131 ---------------------------------------------------
132 -[New Topics]
142
143 * ps/leakfixes (2023-11-07) 4 commits
135 - - setup: fix leaking repository format
136 - - setup: refactor `upgrade_repository_format()` to have common exit
137 - - shallow: fix memory leak when registering shallow roots
138 - - test-bloom: stop setting up Git directory twice
144 + (merged to 'next' on 2023-11-08 at 1969726a2f)
145 + + setup: fix leaking repository format
146 + + setup: refactor `upgrade_repository_format()` to have common exit
147 + + shallow: fix memory leak when registering shallow roots
148 + + test-bloom: stop setting up Git directory twice
149
150 Leakfix.
141 -
142 - Will merge to 'next' and then to 'master'.
151 source: <cover.1699267422.git.ps@pks.im>
152
153
146 -* tb/rev-list-unpacked-fix (2023-11-07) 2 commits
147 - - pack-bitmap: drop --unpacked non-commit objects from results
148 - - list-objects: drop --unpacked non-commit objects from results
154 +* ps/show-ref (2023-11-01) 12 commits
155 + (merged to 'next' on 2023-11-02 at 987bb117f5)
156 + + t: use git-show-ref(1) to check for ref existence
157 + + builtin/show-ref: add new mode to check for reference existence
158 + + builtin/show-ref: explicitly spell out different modes in synopsis
159 + + builtin/show-ref: ensure mutual exclusiveness of subcommands
160 + + builtin/show-ref: refactor options for patterns subcommand
161 + + builtin/show-ref: stop using global vars for `show_one()`
162 + + builtin/show-ref: stop using global variable to count matches
163 + + builtin/show-ref: refactor `--exclude-existing` options
164 + + builtin/show-ref: fix dead code when passing patterns
165 + + builtin/show-ref: fix leaking string buffer
166 + + builtin/show-ref: split up different subcommands
167 + + builtin/show-ref: convert pattern to a local variable
168 + (this branch is used by ps/ref-tests-update.)
169
150 - "git rev-list --unpacked --objects" failed to exclude packed
151 - non-commit objects, which has been corrected.
170 + Teach "git show-ref" a mode to check the existence of a ref.
171 + source: <cover.1698739941.git.ps@pks.im>
172
153 - Will merge to 'next' and then to 'master'.
154 - source: <cover.1699311386.git.me@ttaylorr.com>
173
174 +* tb/format-pack-doc-update (2023-11-01) 2 commits
175 + (merged to 'next' on 2023-11-02 at 538991fe9b)
176 + + Documentation/gitformat-pack.txt: fix incorrect MIDX documentation
177 + + Documentation/gitformat-pack.txt: fix typo
178
157 -* vd/for-each-ref-unsorted-optimization (2023-11-07) 9 commits
158 - - t/perf: add perf tests for for-each-ref
159 - - for-each-ref: add option to fully dereference tags
160 - - ref-filter.c: filter & format refs in the same callback
161 - - ref-filter.c: refactor to create common helper functions
162 - - ref-filter.h: add functions for filter/format & format-only
163 - - ref-filter.h: move contains caches into filter
164 - - ref-filter.h: add max_count and omit_empty to ref_format
165 - - for-each-ref: clarify interaction of --omit-empty & --count
166 - - ref-filter.c: really don't sort when using --no-sort
179 + Doc update.
180 + source: <cover.1698780244.git.me@ttaylorr.com>
181
168 - "git for-each-ref --no-sort" still sorted the refs alphabetically
169 - which paid non-trivial cost. It has been redefined to show output
170 - in an unspecified order, to allow certain optimizations to take
171 - advantage of.
182
173 - Expecting a reroll.
174 - cf. <dbcbcf0e-aeee-4bb9-9e39-e2e85194d083@github.com>
175 - source: <pull.1609.git.1699320361.gitgitgadget@gmail.com>
183 +* tb/rev-list-unpacked-fix (2023-11-07) 2 commits
184 + (merged to 'next' on 2023-11-08 at 4b73bc0256)
185 + + pack-bitmap: drop --unpacked non-commit objects from results
186 + + list-objects: drop --unpacked non-commit objects from results
187 +
188 + "git rev-list --unpacked --objects" failed to exclude packed
189 + non-commit objects, which has been corrected.
190 + source: <cover.1699311386.git.me@ttaylorr.com>
191
192 --------------------------------------------------
193 [Stalled]
@@ -219,6 +234,27 @@ Release tarballs are available at:
234 --------------------------------------------------
235 [Cooking]
236
237 +* vd/for-each-ref-unsorted-optimization (2023-11-07) 9 commits
238 + - t/perf: add perf tests for for-each-ref
239 + - for-each-ref: add option to fully dereference tags
240 + - ref-filter.c: filter & format refs in the same callback
241 + - ref-filter.c: refactor to create common helper functions
242 + - ref-filter.h: add functions for filter/format & format-only
243 + - ref-filter.h: move contains caches into filter
244 + - ref-filter.h: add max_count and omit_empty to ref_format
245 + - for-each-ref: clarify interaction of --omit-empty & --count
246 + - ref-filter.c: really don't sort when using --no-sort
247 +
248 + "git for-each-ref --no-sort" still sorted the refs alphabetically
249 + which paid non-trivial cost. It has been redefined to show output
250 + in an unspecified order, to allow certain optimizations to take
251 + advantage of.
252 +
253 + Expecting a reroll.
254 + cf. <dbcbcf0e-aeee-4bb9-9e39-e2e85194d083@github.com>
255 + source: <pull.1609.git.1699320361.gitgitgadget@gmail.com>
256 +
257 +
258 * jw/git-add-attr-pathspec (2023-11-04) 1 commit
259 - attr: enable attr pathspec magic for git-add and git-stash
260
@@ -229,36 +265,6 @@ Release tarballs are available at:
265 source: <20231103163449.1578841-1-jojwang@google.com>
266
267
232 -* la/strvec-header-fix (2023-11-03) 1 commit
233 - (merged to 'next' on 2023-11-03 at db23d8a911)
234 - + strvec: drop unnecessary include of hex.h
235 -
236 - Code clean-up.
237 -
238 - Will merge to 'master'.
239 - source: <pull.1608.git.1698958277454.gitgitgadget@gmail.com>
240 -
241 -
242 -* jk/chunk-bounds (2023-11-04) 1 commit
243 - (merged to 'next' on 2023-11-06 at ae9fbc1700)
244 - + t: avoid perl's pack/unpack "Q" specifier
245 -
246 - Test portability fix.
247 -
248 - Will merge to 'master'.
249 - source: <20231103162019.GB1470570@coredump.intra.peff.net>
250 -
251 -
252 -* js/ci-use-macos-13 (2023-11-03) 1 commit
253 - (merged to 'next' on 2023-11-06 at f7406347cd)
254 - + ci: upgrade to using macos-13
255 -
256 - Replace macos-12 used at GitHub CI with macos-13.
257 -
258 - Will merge to 'master'.
259 - source: <pull.1607.git.1698996455218.gitgitgadget@gmail.com>
260 -
261 -
268 * jc/strbuf-comment-line-char (2023-11-01) 4 commits
269 - strbuf: move env-using functions to environment.c
270 - strbuf: make add_lines() public
@@ -269,72 +275,6 @@ Release tarballs are available at:
275 source: <cover.1698791220.git.jonathantanmy@google.com>
276
277
272 -* ps/show-ref (2023-11-01) 12 commits
273 - (merged to 'next' on 2023-11-02 at 987bb117f5)
274 - + t: use git-show-ref(1) to check for ref existence
275 - + builtin/show-ref: add new mode to check for reference existence
276 - + builtin/show-ref: explicitly spell out different modes in synopsis
277 - + builtin/show-ref: ensure mutual exclusiveness of subcommands
278 - + builtin/show-ref: refactor options for patterns subcommand
279 - + builtin/show-ref: stop using global vars for `show_one()`
280 - + builtin/show-ref: stop using global variable to count matches
281 - + builtin/show-ref: refactor `--exclude-existing` options
282 - + builtin/show-ref: fix dead code when passing patterns
283 - + builtin/show-ref: fix leaking string buffer
284 - + builtin/show-ref: split up different subcommands
285 - + builtin/show-ref: convert pattern to a local variable
286 - (this branch is used by ps/ref-tests-update.)
287 -
288 - Teach "git show-ref" a mode to check the existence of a ref.
289 -
290 - Will merge to 'master'.
291 - source: <cover.1698739941.git.ps@pks.im>
292 -
293 -
294 -* bc/merge-file-object-input (2023-11-02) 2 commits
295 - (merged to 'next' on 2023-11-02 at ccbba9416c)
296 - + merge-file: add an option to process object IDs
297 - + git-merge-file doc: drop "-file" from argument placeholders
298 -
299 - "git merge-file" learns a mode to read three contents to be merged
300 - from blob objects.
301 -
302 - Will merge to 'master'.
303 - source: <20231101192419.794162-1-sandals@crustytoothpaste.net>
304 -
305 -
306 -* jc/test-i18ngrep (2023-11-02) 2 commits
307 - (merged to 'next' on 2023-11-03 at 78406f8d94)
308 - + tests: teach callers of test_i18ngrep to use test_grep
309 - + test framework: further deprecate test_i18ngrep
310 -
311 - Another step to deprecate test_i18ngrep.
312 -
313 - Will merge to 'master'.
314 - source: <20231031052330.3762989-1-gitster@pobox.com>
315 -
316 -
317 -* an/clang-format-typofix (2023-11-01) 1 commit
318 - (merged to 'next' on 2023-11-02 at 7f639690ab)
319 - + clang-format: fix typo in comment
320 -
321 - Typofix.
322 -
323 - Will merge to 'master'.
324 - source: <pull.1602.v2.git.git.1698759629166.gitgitgadget@gmail.com>
325 -
326 -
327 -* jk/tree-name-and-depth-limit (2023-11-02) 1 commit
328 - (merged to 'next' on 2023-11-06 at 041423344c)
329 - + max_tree_depth: lower it for MSVC to avoid stack overflows
330 -
331 - Further limit tree depth max to avoid Windows build running out of
332 - the stack space.
333 -
334 - Will merge to 'master'.
335 - source: <pull.1604.v2.git.1698843810814.gitgitgadget@gmail.com>
336 -
337 -
278 * ps/ci-gitlab (2023-11-02) 8 commits
279 - ci: add support for GitLab CI
280 - ci: install test dependencies for linux-musl
@@ -362,11 +302,10 @@ Release tarballs are available at:
302 - t: convert tests to not write references via the filesystem
303 - t: allow skipping expected object ID in `ref-store update-ref`
304 - Merge branch 'ps/show-ref' into ps/ref-tests-update
365 - (this branch uses ps/show-ref.)
305
306 Update ref-related tests.
307
369 - Will merge to 'next'?
308 + Comments?
309 source: <cover.1698914571.git.ps@pks.im>
310
311
@@ -421,36 +360,10 @@ Release tarballs are available at:
360 "git merge-tree" learned "--write-pack" to record its result
361 without creating loose objects.
362
424 - Will merge to 'next'?
363 + Comments?
364 source: <cover.1698101088.git.me@ttaylorr.com>
365
366
428 -* tb/format-pack-doc-update (2023-11-01) 2 commits
429 - (merged to 'next' on 2023-11-02 at 538991fe9b)
430 - + Documentation/gitformat-pack.txt: fix incorrect MIDX documentation
431 - + Documentation/gitformat-pack.txt: fix typo
432 -
433 - Doc update.
434 -
435 - Will merge to 'master'.
436 - source: <cover.1698780244.git.me@ttaylorr.com>
437 -
438 -
439 -* ps/do-not-trust-commit-graph-blindly-for-existence (2023-11-01) 2 commits
440 - (merged to 'next' on 2023-11-01 at 06037376ee)
441 - + commit: detect commits that exist in commit-graph but not in the ODB
442 - + commit-graph: introduce envvar to disable commit existence checks
443 - (this branch is used by kn/rev-list-missing-fix.)
444 -
445 - The codepath to traverse the commit-graph learned to notice that a
446 - commit is missing (e.g., corrupt repository lost an object), even
447 - though it knows something about the commit (like its parents) from
448 - what is in commit-graph.
449 -
450 - Will merge to 'master'.
451 - source: <cover.1698736363.git.ps@pks.im>
452 -
453 -
367 * tb/pair-chunk-expect-size (2023-10-14) 8 commits
368 - midx: read `OOFF` chunk with `pair_chunk_expect()`
369 - midx: read `OIDL` chunk with `pair_chunk_expect()`
@@ -495,21 +408,6 @@ Release tarballs are available at:
408 source: <cover.1697653929.git.me@ttaylorr.com>
409
410
498 -* kn/rev-list-missing-fix (2023-11-01) 4 commits
499 - (merged to 'next' on 2023-11-02 at 2469dfc402)
500 - + rev-list: add commit object support in `--missing` option
501 - + rev-list: move `show_commit()` to the bottom
502 - + revision: rename bit to `do_not_die_on_missing_objects`
503 - + Merge branch 'ps/do-not-trust-commit-graph-blindly-for-existence' into kn/rev-list-missing-fix
504 - (this branch uses ps/do-not-trust-commit-graph-blindly-for-existence.)
505 -
506 - "git rev-list --missing" did not work for missing commit objects,
507 - which has been corrected.
508 -
509 - Will merge to 'master'.
510 - source: <20231026101109.43110-1-karthik.188@gmail.com>
511 -
512 -
411 * cc/git-replay (2023-11-03) 14 commits
412 - replay: stop assuming replayed branches do not diverge
413 - replay: add --contained to rebase contained branches
@@ -529,7 +427,7 @@ Release tarballs are available at:
427 Introduce "git replay", a tool meant on the server side without
428 working tree to recreate a history.
429
532 - Will merge to 'next'?
430 + Comments?
431 source: <20231102135151.843758-1-christian.couder@gmail.com>
432
433
@@ -568,7 +466,7 @@ Release tarballs are available at:
466
467 Code clean-up.
468
571 - Will merge to 'next'?
469 + Comments?
470 source: <pull.1563.v5.git.1697828495.gitgitgadget@gmail.com>
471
472