What's cooking (2024/12 #07)

Junio C Hamano committed Dec 19, 2024 at 13:37 UTC 8d56bab48249b46357ef2656d24926479c5c3cb6
1 file changed +221 -132
whats-cooking.txt
+221 -132
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 -Subject: What's cooking in git.git (Dec 2024, #06; Mon, 16)
3 -X-master-at: 063bcebf0c917140ca0e705cbe0fdea127e90086
4 -X-next-at: 0fc57dec578fcc8dcda5cc3de6b81fa1f6719770
2 +Subject: What's cooking in git.git (Dec 2024, #07; Thu, 19)
3 +X-master-at: ff795a5c5ed2e2d07c688c217a615d89e3f5733b
4 +X-next-at: 3cddc25e2affa62f1ee18d86e121316d5861298b
5 Bcc: lwn@lwn.net, gitster@pobox.com
6
7 -What's cooking in git.git (Dec 2024, #06; Mon, 16)
7 +What's cooking in git.git (Dec 2024, #07; Thu, 19)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking in my tree. Commits
@@ -50,6 +50,193 @@ Release tarballs are available at:
50
51 https://www.kernel.org/pub/software/scm/git/
52
53 +--------------------------------------------------
54 +[Graduated to 'master']
55 +
56 +* bf/fetch-set-head-config (2024-12-06) 5 commits
57 + (merged to 'next' on 2024-12-11 at 900cadd7b7)
58 + + remote set-head: set followRemoteHEAD to "warn" if "always"
59 + + fetch set_head: add warn-if-not-$branch option
60 + + fetch set_head: move warn advice into advise_if_enabled
61 + (merged to 'next' on 2024-12-04 at 69bfc59fb5)
62 + + fetch: add configuration for set_head behaviour
63 + + Merge branch 'bf/set-head-symref' into bf/fetch-set-head-config
64 + (this branch uses bf/set-head-symref.)
65 +
66 + "git fetch" honors "remote.<remote>.followRemoteHEAD" settings to
67 + tweak the remote-tracking HEAD in "refs/remotes/<remote>/HEAD".
68 +
69 + Will merge to 'master' after bf/set-head-symref and its fix-up.
70 + source: <20241128230806.2058962-1-bence@ferdinandy.com>
71 + source: <20241204104003.514905-1-bence@ferdinandy.com>
72 + source: <20241128111946.366584-1-bence@ferdinandy.com>
73 +
74 +
75 +* bf/set-head-symref (2024-11-25) 10 commits
76 + (merged to 'next' on 2024-12-02 at b142ff3d8e)
77 + + fetch set_head: handle mirrored bare repositories
78 + + fetch: set remote/HEAD if it does not exist
79 + + refs: add create_only option to refs_update_symref_extended
80 + + refs: add TRANSACTION_CREATE_EXISTS error
81 + + remote set-head: better output for --auto
82 + + remote set-head: refactor for readability
83 + + refs: atomically record overwritten ref in update_symref
84 + + refs: standardize output of refs_read_symbolic_ref
85 + + t/t5505-remote: test failure of set-head
86 + + t/t5505-remote: set default branch to main
87 + (this branch is used by bf/fetch-set-head-config and jc/set-head-symref-fix.)
88 +
89 + When "git fetch $remote" notices that refs/remotes/$remote/HEAD is
90 + missing and discovers what branch the other side points with its
91 + HEAD, refs/remotes/$remote/HEAD is updated to point to it.
92 +
93 + Will merge to 'master' together with jc/set-head-symref-fix.
94 + source: <20241122123138.66960-1-bence@ferdinandy.com>
95 +
96 +
97 +* jc/set-head-symref-fix (2024-12-07) 2 commits
98 + (merged to 'next' on 2024-12-13 at 478444359e)
99 + + fetch: do not ask for HEAD unnecessarily
100 + + Merge branch 'bf/set-head-symref' into js/set-head-symref-fix
101 + (this branch uses bf/set-head-symref.)
102 +
103 + "git fetch" from a configured remote learned to update a missing
104 + remote-tracking HEAD but it asked the remote about their HEAD even
105 + when it did not need to, which has been corrected. Incidentally,
106 + this also corrects "git fetch --tags $URL" which was broken by the
107 + new feature in an unspecified way.
108 +
109 + source: <xmqqcyi5xmhr.fsf@gitster.g>
110 +
111 +
112 +* js/log-remerge-keep-ancestry (2024-12-13) 1 commit
113 + (merged to 'next' on 2024-12-13 at 90156d79ed)
114 + + log: --remerge-diff needs to keep around commit parents
115 + (this branch is used by js/range-diff-diff-merges.)
116 +
117 + "git log -p --remerge-diff --reverse" was completely broken.
118 +
119 + source: <pull.1825.v3.git.1733999352289.gitgitgadget@gmail.com>
120 +
121 +
122 +* mh/doc-windows-home-env (2024-12-10) 1 commit
123 + (merged to 'next' on 2024-12-13 at 9f49e6f9dd)
124 + + Document HOME environment variable
125 +
126 + Doc update.
127 +
128 + source: <pull.1834.git.1733771894867.gitgitgadget@gmail.com>
129 +
130 +
131 +* tc/bundle-with-tag-remove-workaround (2024-12-12) 1 commit
132 + (merged to 'next' on 2024-12-13 at 7f4ebe0be3)
133 + + bundle: remove unneeded code
134 +
135 + "git bundle create" with an annotated tag on the positive end of
136 + the revision range had a workaround code for older limitation in
137 + the revision walker, which has become unnecessary.
138 +
139 + source: <20241211-fix-bundle-create-race-v3-1-0587f6f9db1b@iotcl.com>
140 +
141 +--------------------------------------------------
142 +[New Topics]
143 +
144 +* js/github-windows-setup-fix (2024-12-17) 1 commit
145 + (merged to 'next' on 2024-12-17 at 6d59340ec5)
146 + + GitHub ci(windows): speed up initializing Git for Windows' minimal SDK again
147 +
148 + Revert recent changes to the way windows environment is set up for
149 + GitHub CI.
150 +
151 + Will merge to 'master'.
152 + source: <pull.1841.git.1734447458896.gitgitgadget@gmail.com>
153 +
154 +
155 +* js/mingw-rename-fix (2024-12-17) 1 commit
156 + (merged to 'next' on 2024-12-17 at 57dc9a0ebb)
157 + + mingw_rename: do support directory renames
158 +
159 + Update the way rename() emulation on Windows handle directories to
160 + correct an earlier attempt to do the same.
161 +
162 + Will merge to 'master'.
163 + source: <pull.1839.git.1734439924842.gitgitgadget@gmail.com>
164 +
165 +
166 +* js/ps-build-cmake-fixup (2024-12-17) 5 commits
167 + (merged to 'next' on 2024-12-17 at 653a20d2f5)
168 + + cmake/vcxproj: stop special-casing `remote-ext`
169 + + cmake: put the Perl modules into the correct location again
170 + + cmake: use the correct file name for the Perl header
171 + + cmake(mergetools): better support for out-of-tree builds
172 + + cmake: better support for out-of-tree builds follow-up
173 +
174 + Build fixes for Windows.
175 +
176 + Will merge to 'master'.
177 + source: <pull.1840.git.1734456721.gitgitgadget@gmail.com>
178 +
179 +
180 +* kl/doc-build-fix (2024-12-17) 1 commit
181 + - doc: remove extra quotes in generated docs
182 +
183 + Build fix.
184 +
185 + Will merge to 'next'?
186 + More fixes to come.
187 + cf. <Z2LL9F8WANokZJ7R@pks.im>
188 + source: <pull.1847.v2.git.git.1734483422181.gitgitgadget@gmail.com>
189 +
190 +
191 +* ps/the-repository (2024-12-18) 15 commits
192 + - match-trees: stop using `the_repository`
193 + - graph: stop using `the_repository`
194 + - add-interactive: stop using `the_repository`
195 + - tmp-objdir: stop using `the_repository`
196 + - resolve-undo: stop using `the_repository`
197 + - credential: stop using `the_repository`
198 + - mailinfo: stop using `the_repository`
199 + - diagnose: stop using `the_repository`
200 + - server-info: stop using `the_repository`
201 + - send-pack: stop using `the_repository`
202 + - serve: stop using `the_repository`
203 + - trace: stop using `the_repository`
204 + - pager: stop using `the_repository`
205 + - progress: stop using `the_repository`
206 + - Merge branch 'ps/build-sign-compare' into ps/the-repository
207 + (this branch uses ps/build-sign-compare.)
208 +
209 + More code paths have a repository passed through the callchain,
210 + instead of assuming the primary the_repository object.
211 + source: <20241217-pks-use-the-repository-conversion-v1-0-0dba48bcc239@pks.im>
212 +
213 +
214 +* sk/calloc-not-malloc-plus-memset (2024-12-18) 1 commit
215 + (merged to 'next' on 2024-12-18 at 5af85a77f3)
216 + + git: use calloc instead of malloc + memset where possible
217 +
218 + Code clean-up.
219 +
220 + Will merge to 'master'.
221 + source: <pull.1390.v11.git.git.1734540512582.gitgitgadget@gmail.com>
222 +
223 +
224 +* tb/bitmap-fix-pack-reuse (2024-12-18) 1 commit
225 + - pack-bitmap.c: ensure pack validity for all reuse packs
226 +
227 + Code to reuse objects based on bitmap contents have been tightened
228 + to avoid race condition even when multiple packs are involved.
229 +
230 + Will merge to 'next'.
231 + source: <7fdbfadc04926efc094633b238a55168c92e3d58.1734117577.git.me@ttaylorr.com>
232 +
233 +
234 +* ps/build-hotfix (2024-12-19) 2 commits
235 + - GIT-VERSION-GEN: fix overriding GIT_BUILT_FROM_COMMIT and GIT_DATE
236 + - GIT-VERSION-GEN: fix overriding version via environment
237 +
238 + source: <20241219-b4-pks-git-version-via-environment-v1-0-9393af058240@pks.im>
239 +
240 --------------------------------------------------
241 [Cooking]
242
@@ -103,64 +290,44 @@ Release tarballs are available at:
290
291
292 * ps/ci-meson (2024-12-13) 10 commits
106 - - ci: wire up Meson builds
107 - - t: introduce compatibility options to clar-based tests
108 - - t: fix out-of-tree tests for some git-p4 tests
109 - - Makefile: detect missing Meson tests
110 - - meson: detect missing tests at configure time
111 - - t/unit-tests: rename clar-based unit tests to have a common prefix
112 - - Makefile: drop -DSUPPRESS_ANNOTATED_LEAKS
113 - - ci/lib: support custom output directories when creating test artifacts
114 - - Merge branch 'ps/build' into ps/ci-meson
115 - - Merge branch 'cw/worktree-extension' into ps/ci-meson
293 + (merged to 'next' on 2024-12-17 at fc95a5a9cb)
294 + + ci: wire up Meson builds
295 + + t: introduce compatibility options to clar-based tests
296 + + t: fix out-of-tree tests for some git-p4 tests
297 + + Makefile: detect missing Meson tests
298 + + meson: detect missing tests at configure time
299 + + t/unit-tests: rename clar-based unit tests to have a common prefix
300 + + Makefile: drop -DSUPPRESS_ANNOTATED_LEAKS
301 + + ci/lib: support custom output directories when creating test artifacts
302 + + Merge branch 'ps/build' into ps/ci-meson
303 + + Merge branch 'cw/worktree-extension' into ps/ci-meson
304
305 The meson-build procedure is integrated into CI to catch and
306 prevent bitrotting.
307
120 - Will merge to 'next'.
308 + Will merge to 'master'.
309 cf. <87zfkwgehr.fsf@iotcl.com>
310 source: <20241213-pks-meson-ci-v2-0-634affccc694@pks.im>
311
312
125 -* kn/reflog-migration (2024-12-15) 9 commits
126 - . refs: add support for migrating reflogs
127 - . refs: allow multiple reflog entries for the same refname
128 - . refs: introduce the `ref_transaction_update_reflog` function
129 - . refs: add `committer_info` to `ref_transaction_add_update()`
130 - . refs: extract out refname verification in transactions
131 - . refs/files: add count field to ref_lock
132 - . refs: add `index` field to `struct ref_udpate`
133 - . refs: include committer info in `ref_update` struct
134 - . Merge branch 'kn/reftable-writer-log-write-verify' into kn/reflog-migration
313 +* kn/reflog-migration (2024-12-16) 9 commits
314 + (merged to 'next' on 2024-12-18 at 5634446b20)
315 + + refs: add support for migrating reflogs
316 + + refs: allow multiple reflog entries for the same refname
317 + + refs: introduce the `ref_transaction_update_reflog` function
318 + + refs: add `committer_info` to `ref_transaction_add_update()`
319 + + refs: extract out refname verification in transactions
320 + + refs/files: add count field to ref_lock
321 + + refs: add `index` field to `struct ref_udpate`
322 + + refs: include committer info in `ref_update` struct
323 + + Merge branch 'kn/reftable-writer-log-write-verify' into kn/reflog-migration
324 (this branch uses kn/reftable-writer-log-write-verify.)
325
326 "git refs migrate" learned to also migrate the reflog data across
327 backends.
328
140 - Does not seem to pass its own test.
141 - source: <20241215-320-git-refs-migrate-reflogs-v3-0-4127fe707b98@gmail.com>
142 -
143 -
144 -* mh/doc-windows-home-env (2024-12-10) 1 commit
145 - (merged to 'next' on 2024-12-13 at 9f49e6f9dd)
146 - + Document HOME environment variable
147 -
148 - Doc update.
149 -
329 Will merge to 'master'.
151 - source: <pull.1834.git.1733771894867.gitgitgadget@gmail.com>
152 -
153 -
154 -* tc/bundle-with-tag-remove-workaround (2024-12-12) 1 commit
155 - (merged to 'next' on 2024-12-13 at 7f4ebe0be3)
156 - + bundle: remove unneeded code
157 -
158 - "git bundle create" with an annotated tag on the positive end of
159 - the revision range had a workaround code for older limitation in
160 - the revision walker, which has become unnecessary.
161 -
162 - Will merge to 'master'.
163 - source: <20241211-fix-bundle-create-race-v3-1-0587f6f9db1b@iotcl.com>
330 + source: <20241216-320-git-refs-migrate-reflogs-v4-0-d7cd3f197453@gmail.com>
331
332
333 * cc/lop-remote (2024-12-07) 5 commits
@@ -212,22 +379,6 @@ Release tarballs are available at:
379 source: <20241212-pks-ci-section-fixes-v3-0-d9fe6baee21e@pks.im>
380
381
215 -* jc/set-head-symref-fix (2024-12-07) 2 commits
216 - (merged to 'next' on 2024-12-13 at 478444359e)
217 - + fetch: do not ask for HEAD unnecessarily
218 - + Merge branch 'bf/set-head-symref' into js/set-head-symref-fix
219 - (this branch uses bf/set-head-symref.)
220 -
221 - "git fetch" from a configured remote learned to update a missing
222 - remote-tracking HEAD but it asked the remote about their HEAD even
223 - when it did not need to, which has been corrected. Incidentally,
224 - this also corrects "git fetch --tags $URL" which was broken by the
225 - new feature in an unspecified way.
226 -
227 - Will merge to 'master'.
228 - source: <xmqqcyi5xmhr.fsf@gitster.g>
229 -
230 -
382 * re/submodule-parse-opt (2024-12-11) 7 commits
383 - git-submodule.sh: rename some variables
384 - git-submodule.sh: improve variables readability
@@ -262,6 +413,7 @@ Release tarballs are available at:
413 + compat/win32: fix -Wsign-compare warning in "wWinMain()"
414 + compat/regex: explicitly ignore "-Wsign-compare" warnings
415 + git-compat-util: introduce macros to disable "-Wsign-compare" warnings
416 + (this branch is used by ps/the-repository.)
417
418 Start working to make the codebase buildable with -Wsign-compare.
419
@@ -269,25 +421,6 @@ Release tarballs are available at:
421 source: <20241206-pks-sign-compare-v4-0-0344c6dfb219@pks.im>
422
423
272 -* bf/fetch-set-head-config (2024-12-06) 5 commits
273 - (merged to 'next' on 2024-12-11 at 900cadd7b7)
274 - + remote set-head: set followRemoteHEAD to "warn" if "always"
275 - + fetch set_head: add warn-if-not-$branch option
276 - + fetch set_head: move warn advice into advise_if_enabled
277 - (merged to 'next' on 2024-12-04 at 69bfc59fb5)
278 - + fetch: add configuration for set_head behaviour
279 - + Merge branch 'bf/set-head-symref' into bf/fetch-set-head-config
280 - (this branch uses bf/set-head-symref.)
281 -
282 - "git fetch" honors "remote.<remote>.followRemoteHEAD" settings to
283 - tweak the remote-tracking HEAD in "refs/remotes/<remote>/HEAD".
284 -
285 - Will merge to 'master' after bf/set-head-symref and its fix-up.
286 - source: <20241128230806.2058962-1-bence@ferdinandy.com>
287 - source: <20241204104003.514905-1-bence@ferdinandy.com>
288 - source: <20241128111946.366584-1-bence@ferdinandy.com>
289 -
290 -
424 * tb/unsafe-hash-test (2024-11-21) 2 commits
425 - t/helper/test-tool: implement sha1-unsafe helper
426 - t/helper/test-sha1: prepare for an unsafe mode
@@ -335,17 +468,6 @@ Release tarballs are available at:
468 source: <20241113-pks-push-atomic-respect-exit-code-v1-0-7965f01e7f4e@pks.im>
469
470
338 -* js/log-remerge-keep-ancestry (2024-12-13) 1 commit
339 - (merged to 'next' on 2024-12-13 at 90156d79ed)
340 - + log: --remerge-diff needs to keep around commit parents
341 - (this branch is used by js/range-diff-diff-merges.)
342 -
343 - "git log -p --remerge-diff --reverse" was completely broken.
344 -
345 - Will merge to 'master'.
346 - source: <pull.1825.v3.git.1733999352289.gitgitgadget@gmail.com>
347 -
348 -
471 * jc/move-is-bare-repository-cfg-variable-to-repo (2024-11-07) 3 commits
472 . repository: BUG when is_bare_cfg is not initialized
473 . setup: initialize is_bare_cfg
@@ -362,16 +484,16 @@ Release tarballs are available at:
484
485
486 * js/range-diff-diff-merges (2024-12-16) 3 commits
365 - - range-diff: introduce the convenience option `--remerge-diff`
366 - - range-diff: optionally include merge commits' diffs in the analysis
367 - - Merge branch 'js/log-remerge-keep-ancestry' into js/range-diff-diff-merges
368 - (this branch uses js/log-remerge-keep-ancestry.)
487 + (merged to 'next' on 2024-12-18 at 47394ea998)
488 + + range-diff: introduce the convenience option `--remerge-diff`
489 + + range-diff: optionally include merge commits' diffs in the analysis
490 + + Merge branch 'js/log-remerge-keep-ancestry' into js/range-diff-diff-merges
491
492 "git range-diff" learned to optionally show and compare merge
493 commits in the ranges being compared, with the --diff-merges
494 option.
495
374 - Will merge to 'next'?
496 + Will merge to 'master'.
497 source: <pull.1734.v3.git.1734358282.gitgitgadget@gmail.com>
498
499
@@ -440,28 +562,6 @@ Release tarballs are available at:
562 source: <pull.1817.git.git.1729370390416.gitgitgadget@gmail.com>
563
564
443 -* bf/set-head-symref (2024-11-25) 10 commits
444 - (merged to 'next' on 2024-12-02 at b142ff3d8e)
445 - + fetch set_head: handle mirrored bare repositories
446 - + fetch: set remote/HEAD if it does not exist
447 - + refs: add create_only option to refs_update_symref_extended
448 - + refs: add TRANSACTION_CREATE_EXISTS error
449 - + remote set-head: better output for --auto
450 - + remote set-head: refactor for readability
451 - + refs: atomically record overwritten ref in update_symref
452 - + refs: standardize output of refs_read_symbolic_ref
453 - + t/t5505-remote: test failure of set-head
454 - + t/t5505-remote: set default branch to main
455 - (this branch is used by bf/fetch-set-head-config and jc/set-head-symref-fix.)
456 -
457 - When "git fetch $remote" notices that refs/remotes/$remote/HEAD is
458 - missing and discovers what branch the other side points with its
459 - HEAD, refs/remotes/$remote/HEAD is updated to point to it.
460 -
461 - Will merge to 'master' together with jc/set-head-symref-fix.
462 - source: <20241122123138.66960-1-bence@ferdinandy.com>
463 -
464 -
565 * ej/cat-file-remote-object-info (2024-11-25) 6 commits
566 - cat-file: add remote-object-info to batch-command
567 - transport: add client support for object-info
@@ -489,14 +589,3 @@ Release tarballs are available at:
589
590 Will discard?
591 source: <cover.1729032373.git.steadmon@google.com>
492 -
493 ---------------------------------------------------
494 -[Discarded]
495 -
496 -* js/set-head-symref-fix (2024-12-06) 2 commits
497 - . Fix `git fetch --tags` in repo with no configured remote
498 - - Merge branch 'bf/set-head-symref' into js/set-head-symref-fix
499 - (this branch uses bf/set-head-symref.)
500 -
501 - Superseded by jc/set-head-symref-fix
502 - source: <b41ae080654a3603af09801018df539f656cf9d8.1733430345.git.steadmon@google.com>