What's cooking (2024/12 #04)

Junio C Hamano committed Dec 10, 2024 at 21:22 UTC f1498238fde3255f5ea01ae059be28ce2730c70c
1 file changed +156 -132
whats-cooking.txt
+156 -132
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 -Subject: What's cooking in git.git (Dec 2024, #03; Sun, 8)
3 -X-master-at: e66fd72e972df760a53c3d6da023c17adfc426d6
2 +Subject: What's cooking in git.git (Dec 2024, #04; Tue, 10)
3 +X-master-at: caacdb5dfd60540ecec30ec479f147f3c8167e11
4 X-next-at: c27f4b7a9fc45cdb75b4a22d3d3e0e7ac90f80b2
5 Bcc: lwn@lwn.net, gitster@pobox.com
6
7 -What's cooking in git.git (Dec 2024, #03; Sun, 8)
7 +What's cooking in git.git (Dec 2024, #04; Tue, 10)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking in my tree. Commits
@@ -45,9 +45,130 @@ Release tarballs are available at:
45
46 https://www.kernel.org/pub/software/scm/git/
47
48 +--------------------------------------------------
49 +[Graduated to 'master']
50 +
51 +* bc/allow-upload-pack-from-other-people (2024-11-15) 1 commit
52 + (merged to 'next' on 2024-12-02 at bf711f018c)
53 + + Allow cloning from repositories owned by another user
54 +
55 + Loosen overly strict ownership check introduced in the recent past,
56 + to keep the promise "cloning a suspicious repository is a safe
57 + first step to inspect it".
58 + cf. <xmqqed2yzc5z.fsf@gitster.g>
59 + source: <20241115005404.3747302-2-sandals@crustytoothpaste.net>
60 +
61 +
62 +* bc/ancient-ci (2024-11-01) 3 commits
63 + (merged to 'next' on 2024-12-02 at f6128744ce)
64 + + Add additional CI jobs to avoid accidental breakage
65 + + ci: remove clause for Ubuntu 16.04
66 + + gitlab-ci: switch from Ubuntu 16.04 to 20.04
67 +
68 + Drop support for ancient environments in various CI jobs.
69 + source: <20241031234934.3451390-1-sandals@crustytoothpaste.net>
70 +
71 +
72 +* jc/doc-opt-tilde-expand (2024-11-25) 1 commit
73 + (merged to 'next' on 2024-12-02 at e345717b87)
74 + + doc: option value may be separate for valid reasons
75 +
76 + Describe a case where an option value needs to be spelled as a
77 + separate argument, i.e. "--opt val", not "--opt=val".
78 + source: <xmqqh67w6m4m.fsf@gitster.g>
79 +
80 +
81 +* pb/mergetool-errors (2024-11-25) 5 commits
82 + (merged to 'next' on 2024-12-02 at b439b146c2)
83 + + git-difftool--helper.sh: exit upon initialize_merge_tool errors
84 + + git-mergetool--lib.sh: add error message for unknown tool variant
85 + + git-mergetool--lib.sh: add error message if 'setup_user_tool' fails
86 + + git-mergetool--lib.sh: use TOOL_MODE when erroring about unknown tool
87 + + completion: complete '--tool-help' in 'git mergetool'
88 +
89 + End-user experience of "git mergetool" when the command errors out
90 + has been improved.
91 + source: <pull.1827.v2.git.1732305022.gitgitgadget@gmail.com>
92 +
93 +
94 +* ps/reftable-detach (2024-11-19) 8 commits
95 + (merged to 'next' on 2024-12-02 at e105e787b6)
96 + + reftable/system: provide thin wrapper for lockfile subsystem
97 + + reftable/stack: drop only use of `get_locked_file_path()`
98 + + reftable/system: provide thin wrapper for tempfile subsystem
99 + + reftable/stack: stop using `fsync_component()` directly
100 + + reftable/system: stop depending on "hash.h"
101 + + reftable: explicitly handle hash format IDs
102 + + reftable/system: move "dir.h" to its only user
103 + + Merge branch 'ps/reftable-strbuf' into ps/reftable-detach
104 + (this branch is used by ps/reftable-iterator-reuse.)
105 +
106 + Isolates the reftable subsystem from the rest of Git's codebase by
107 + using fewer pieces of Git's infrastructure.
108 + source: <cover.1731943954.git.ps@pks.im>
109 +
110 +
111 +* ps/reftable-iterator-reuse (2024-11-26) 11 commits
112 + (merged to 'next' on 2024-12-02 at 3c1d2e2a6a)
113 + + refs/reftable: reuse iterators when reading refs
114 + + reftable/merged: drain priority queue on reseek
115 + + reftable/stack: add mechanism to notify callers on reload
116 + + refs/reftable: refactor reflog expiry to use reftable backend
117 + + refs/reftable: refactor reading symbolic refs to use reftable backend
118 + + refs/reftable: read references via `struct reftable_backend`
119 + + refs/reftable: figure out hash via `reftable_stack`
120 + + reftable/stack: add accessor for the hash ID
121 + + refs/reftable: handle reloading stacks in the reftable backend
122 + + refs/reftable: encapsulate reftable stack
123 + + Merge branch 'ps/reftable-detach' into ps/reftable-iterator-reuse
124 + (this branch uses ps/reftable-detach.)
125 +
126 + Optimize reading random references out of the reftable backend by
127 + allowing reuse of iterator objects.
128 + source: <20241126-pks-reftable-backend-reuse-iter-v4-0-b17fd27df126@pks.im>
129 +
130 --------------------------------------------------
131 [New Topics]
132
133 +* kn/reflog-migration (2024-12-10) 7 commits
134 + - refs: add support for migrating reflogs
135 + - refs: allow multiple reflog entries for the same refname
136 + - refs: introduce the `ref_transaction_update_reflog` function
137 + - refs: extract out refname verification in transactions
138 + - refs/files: add count field to ref_lock
139 + - refs: add `index` field to `struct ref_udpate`
140 + - refs: include committer info in `ref_update` struct
141 +
142 + "git refs migrate" learned to also migrate the reflog data across
143 + backends.
144 +
145 + Needs review.
146 + source: <20241209-320-git-refs-migrate-reflogs-v1-0-d4bc37ee860f@gmail.com>
147 +
148 +
149 +* mh/doc-windows-home-env (2024-12-10) 1 commit
150 + - Document HOME environment variable
151 +
152 + Doc update.
153 +
154 + Will merge to 'next'.
155 + source: <pull.1834.git.1733771894867.gitgitgadget@gmail.com>
156 +
157 +
158 +* tc/bundle-with-tag-remove-workaround (2024-12-10) 1 commit
159 + - bundle: remove unneeded code
160 +
161 + "git bundle create" with an annotated tag on the positive end of
162 + the revision range had a workaround code for older limitation in
163 + the revision walker, which has become unnecessary.
164 +
165 + Expecting a reroll.
166 + cf. <CAOLa=ZQpBf-ZE8BmXRUXJ247p44Enj0vrJv2KHVDXtGzY6SU8w@mail.gmail.com>
167 + source: <20241209-fix-bundle-create-race-v1-1-e6513bdcbf8a@iotcl.com>
168 +
169 +--------------------------------------------------
170 +[Cooking]
171 +
172 * bf/explicit-config-set-in-advice-messages (2024-12-06) 1 commit
173 - advice: suggest using subcommand "git config set"
174
@@ -59,16 +180,19 @@ Release tarballs are available at:
180
181
182 * cc/lop-remote (2024-12-07) 5 commits
62 - - doc: add technical design doc for large object promisors
63 - - promisor-remote: check advertised name or URL
64 - - Add 'promisor-remote' capability to protocol v2
65 - - strbuf: refactor strbuf_trim_trailing_ch()
66 - - version: refactor strbuf_sanitize()
183 + . doc: add technical design doc for large object promisors
184 + . promisor-remote: check advertised name or URL
185 + . Add 'promisor-remote' capability to protocol v2
186 + . strbuf: refactor strbuf_trim_trailing_ch()
187 + . version: refactor strbuf_sanitize()
188
189 + Expecting a reroll.
190 + cf. <CAP8UFD3bdEo1_bg+aX52xSGxmg9KfNrpiX+2LwUM-yDqjvfZbQ@mail.gmail.com>
191 source: <20241206124248.160494-1-christian.couder@gmail.com>
192
193
71 -* ds/backfill (2024-12-07) 6 commits
194 +* ds/backfill (2024-12-09) 7 commits
195 + - SQUASH??? leakfix
196 - backfill: assume --sparse when sparse-checkout is enabled
197 - backfill: add --sparse option
198 - backfill: add --batch-size=<n> option
@@ -120,7 +244,12 @@ Release tarballs are available at:
244 source: <xmqqcyi5xmhr.fsf@gitster.g>
245
246
123 -* re/submodule-parse-opt (2024-12-08) 3 commits
247 +* re/submodule-parse-opt (2024-12-10) 8 commits
248 + - git-submodule.sh: rename some variables
249 + - git-submodule.sh: improve variables readability
250 + - git-submodule.sh: add some comments
251 + - git-submodule.sh: get rid of unused variable
252 + - git-submodule.sh: get rid of isnumber
253 - git-submodule.sh: improve parsing of short options
254 - git-submodule.sh: improve parsing of some long options
255 - git-submodule.sh: make some variables boolean
@@ -129,34 +258,10 @@ Release tarballs are available at:
258 e.g. "--branch=B" can be spelled "--branch B" or "-bB".
259
260 Will merge to 'next'?
132 - source: <20241207135201.2536-1-royeldar0@gmail.com>
133 -
134 ---------------------------------------------------
135 -[Graduated to 'master']
136 -
137 -* kh/sequencer-comment-char (2024-11-26) 3 commits
138 - (merged to 'next' on 2024-11-28 at 84693f6bb7)
139 - + sequencer: comment commit messages properly
140 - + sequencer: comment `--reference` subject line properly
141 - + sequencer: comment checked-out branch properly
142 -
143 - The sequencer failed to honor core.commentString in some places.
144 - source: <cover.1732565412.git.code@khaugsbakk.name>
145 -
261 + source: <20241209165009.40653-1-royeldar0@gmail.com>
262
147 -* sj/refs-symref-referent-fix (2024-11-27) 1 commit
148 - (merged to 'next' on 2024-11-28 at 65eba16b56)
149 - + ref-cache: fix invalid free operation in `free_ref_entry`
263
151 - A double-free that may not trigger in practice by luck has been
152 - corrected in the reference resolution code.
153 - source: <Z0Xd-cYPNNrxwuAB@ArchLinux>
154 -
155 ---------------------------------------------------
156 -[Cooking]
157 -
158 -* jt/fix-fattening-promisor-fetch (2024-12-04) 4 commits
159 - - index-pack: work around false positive use of uninitialized variable
264 +* jt/fix-fattening-promisor-fetch (2024-12-10) 3 commits
265 - index-pack --promisor: also check commits' trees
266 - index-pack --promisor: don't check blobs
267 - index-pack --promisor: dedup before checking links
@@ -164,7 +269,7 @@ Release tarballs are available at:
269 Fix performance regression of a recent "fatten promisor pack with
270 local objects" protection against an unwanted gc.
271
167 - Need to squash the fix-up at the tip.
272 + Will merge to 'next'.
273 source: <cover.1733262661.git.jonathantanmy@google.com>
274
275
@@ -223,13 +328,13 @@ Release tarballs are available at:
328 source: <20241206-pks-sign-compare-v4-0-0344c6dfb219@pks.im>
329
330
226 -* rj/strvec-splice-fix (2024-12-05) 2 commits
331 +* rj/strvec-splice-fix (2024-12-10) 2 commits
332 - strvec: `strvec_splice()` to a statically initialized vector
333 - Merge branch 'ps/leakfixes-part-10' into rj/strvec-splice-fix
334
335 Correct strvec_splice() that misbehaved when the strvec is empty.
336
232 - Will merge to 'next'?
337 + Will merge to 'next'.
338 source: <3c7b3c26-7501-4797-8afa-c7f7e9c46558@gmail.com>
339
340
@@ -292,17 +397,6 @@ Release tarballs are available at:
397 source: <xmqqa5dkqjmr.fsf_-_@gitster.g>
398
399
295 -* jc/doc-opt-tilde-expand (2024-11-25) 1 commit
296 - (merged to 'next' on 2024-12-02 at e345717b87)
297 - + doc: option value may be separate for valid reasons
298 -
299 - Describe a case where an option value needs to be spelled as a
300 - separate argument, i.e. "--opt val", not "--opt=val".
301 -
302 - Will merge to 'master'.
303 - source: <xmqqh67w6m4m.fsf@gitster.g>
304 -
305 -
400 * kn/midx-wo-the-repository (2024-12-04) 10 commits
401 (merged to 'next' on 2024-12-05 at e48a185ed0)
402 + midx: inline the `MIDX_MIN_SIZE` definition
@@ -351,19 +445,6 @@ Release tarballs are available at:
445 source: <20241127233312.27710-1-jltobler@gmail.com>
446
447
354 -* bc/allow-upload-pack-from-other-people (2024-11-15) 1 commit
355 - (merged to 'next' on 2024-12-02 at bf711f018c)
356 - + Allow cloning from repositories owned by another user
357 -
358 - Loosen overly strict ownership check introduced in the recent past,
359 - to keep the promise "cloning a suspicious repository is a safe
360 - first step to inspect it".
361 -
362 - Will merge to 'master'.
363 - cf. <xmqqed2yzc5z.fsf@gitster.g>
364 - source: <20241115005404.3747302-2-sandals@crustytoothpaste.net>
365 -
366 -
448 * tb/incremental-midx-part-2 (2024-11-20) 15 commits
449 - midx: implement writing incremental MIDX bitmaps
450 - pack-bitmap.c: use `ewah_or_iterator` for type bitmap iterators
@@ -387,21 +468,6 @@ Release tarballs are available at:
468 source: <cover.1732054032.git.me@ttaylorr.com>
469
470
390 -* pb/mergetool-errors (2024-11-25) 5 commits
391 - (merged to 'next' on 2024-12-02 at b439b146c2)
392 - + git-difftool--helper.sh: exit upon initialize_merge_tool errors
393 - + git-mergetool--lib.sh: add error message for unknown tool variant
394 - + git-mergetool--lib.sh: add error message if 'setup_user_tool' fails
395 - + git-mergetool--lib.sh: use TOOL_MODE when erroring about unknown tool
396 - + completion: complete '--tool-help' in 'git mergetool'
397 -
398 - End-user experience of "git mergetool" when the command errors out
399 - has been improved.
400 -
401 - Will merge to 'master'.
402 - source: <pull.1827.v2.git.1732305022.gitgitgadget@gmail.com>
403 -
404 -
471 * ps/send-pack-unhide-error-in-atomic-push (2024-11-14) 2 commits
472 - transport: don't ignore git-receive-pack(1) exit code on atomic push
473 - t5504: modernize test by moving heredocs into test bodies
@@ -424,28 +490,6 @@ Release tarballs are available at:
490 source: <pull.1825.v2.git.1731350009491.gitgitgadget@gmail.com>
491
492
427 -* ps/reftable-iterator-reuse (2024-11-26) 11 commits
428 - (merged to 'next' on 2024-12-02 at 3c1d2e2a6a)
429 - + refs/reftable: reuse iterators when reading refs
430 - + reftable/merged: drain priority queue on reseek
431 - + reftable/stack: add mechanism to notify callers on reload
432 - + refs/reftable: refactor reflog expiry to use reftable backend
433 - + refs/reftable: refactor reading symbolic refs to use reftable backend
434 - + refs/reftable: read references via `struct reftable_backend`
435 - + refs/reftable: figure out hash via `reftable_stack`
436 - + reftable/stack: add accessor for the hash ID
437 - + refs/reftable: handle reloading stacks in the reftable backend
438 - + refs/reftable: encapsulate reftable stack
439 - + Merge branch 'ps/reftable-detach' into ps/reftable-iterator-reuse
440 - (this branch uses ps/reftable-detach.)
441 -
442 - Optimize reading random references out of the reftable backend by
443 - allowing reuse of iterator objects.
444 -
445 - Will merge to 'master'.
446 - source: <20241126-pks-reftable-backend-reuse-iter-v4-0-b17fd27df126@pks.im>
447 -
448 -
493 * jc/move-is-bare-repository-cfg-variable-to-repo (2024-11-07) 3 commits
494 - repository: BUG when is_bare_cfg is not initialized
495 - setup: initialize is_bare_cfg
@@ -520,18 +564,6 @@ Release tarballs are available at:
564 source: <pull.1818.v3.git.1733514358.gitgitgadget@gmail.com>
565
566
523 -* bc/ancient-ci (2024-11-01) 3 commits
524 - (merged to 'next' on 2024-12-02 at f6128744ce)
525 - + Add additional CI jobs to avoid accidental breakage
526 - + ci: remove clause for Ubuntu 16.04
527 - + gitlab-ci: switch from Ubuntu 16.04 to 20.04
528 -
529 - Drop support for ancient environments in various CI jobs.
530 -
531 - Will merge to 'master'.
532 - source: <20241031234934.3451390-1-sandals@crustytoothpaste.net>
533 -
534 -
567 * cw/worktree-extension (2024-12-02) 8 commits
568 (merged to 'next' on 2024-12-05 at 7bd98d132c)
569 + worktree: refactor `repair_worktree_after_gitdir_move()`
@@ -561,25 +593,6 @@ Release tarballs are available at:
593 source: <20241109092739.14276-1-abhijeet.nkt@gmail.com>
594
595
564 -* ps/reftable-detach (2024-11-19) 8 commits
565 - (merged to 'next' on 2024-12-02 at e105e787b6)
566 - + reftable/system: provide thin wrapper for lockfile subsystem
567 - + reftable/stack: drop only use of `get_locked_file_path()`
568 - + reftable/system: provide thin wrapper for tempfile subsystem
569 - + reftable/stack: stop using `fsync_component()` directly
570 - + reftable/system: stop depending on "hash.h"
571 - + reftable: explicitly handle hash format IDs
572 - + reftable/system: move "dir.h" to its only user
573 - + Merge branch 'ps/reftable-strbuf' into ps/reftable-detach
574 - (this branch is used by ps/reftable-iterator-reuse.)
575 -
576 - Isolates the reftable subsystem from the rest of Git's codebase by
577 - using fewer pieces of Git's infrastructure.
578 -
579 - Will merge to 'master'.
580 - source: <cover.1731943954.git.ps@pks.im>
581 -
582 -
596 * km/config-remote-by-name (2024-10-21) 1 commit
597 - config: support remote name in includeIf.hasconfig condition
598
@@ -624,7 +637,7 @@ Release tarballs are available at:
637 + refs: standardize output of refs_read_symbolic_ref
638 + t/t5505-remote: test failure of set-head
639 + t/t5505-remote: set default branch to main
627 - (this branch is used by bf/fetch-set-head-config and jc/set-head-symref-fix)
640 + (this branch is used by bf/fetch-set-head-config and jc/set-head-symref-fix.)
641
642 When "git fetch $remote" notices that refs/remotes/$remote/HEAD is
643 missing and discovers what branch the other side points with its
@@ -714,3 +727,14 @@ Release tarballs are available at:
727
728 Will merge to 'master'.
729 source: <cover.1733236936.git.karthik.188@gmail.com>
730 +
731 +--------------------------------------------------
732 +[Discarded]
733 +
734 +* js/set-head-symref-fix (2024-12-06) 2 commits
735 + . Fix `git fetch --tags` in repo with no configured remote
736 + - Merge branch 'bf/set-head-symref' into js/set-head-symref-fix
737 + (this branch uses bf/set-head-symref.)
738 +
739 + Superseded by jc/set-head-symref-fix
740 + source: <b41ae080654a3603af09801018df539f656cf9d8.1733430345.git.steadmon@google.com>