What's cooking (2024/12 #05)
Junio C Hamano committed
Dec 12, 2024 at 17:29 UTC
1fd8a467ee91a73b4bfd662d28b8fe297ddb548c
1 file changed
+122
-152
whats-cooking.txt
+122
-152
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
-Subject: What's cooking in git.git (Dec 2024, #04; Tue, 10)
2
+Subject: What's cooking in git.git (Dec 2024, #05; Thu, 12)
3
X-master-at: caacdb5dfd60540ecec30ec479f147f3c8167e11
4
-X-next-at: c27f4b7a9fc45cdb75b4a22d3d3e0e7ac90f80b2
4
+X-next-at: f74b3f243a33d7963d06298c0bdf84cc5f3ff26b
5
Bcc: lwn@lwn.net, gitster@pobox.com
6
7
-What's cooking in git.git (Dec 2024, #04; Tue, 10)
7
+What's cooking in git.git (Dec 2024, #05; Thu, 12)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking in my tree. Commits
@@ -46,91 +46,50 @@ Release tarballs are available at:
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>
49
+[New Topics]
50
+
51
+* ps/3.0-remote-deprecation (2024-12-12) 6 commits
52
+ - remote: announce removal of "branches/" and "remotes/"
53
+ - builtin/pack-redundant: remove subcommand with breaking changes
54
+ - ci: repurpose "linux-gcc" job for deprecations
55
+ - ci: merge linux-gcc-default into linux-gcc
56
+ - Makefile: wire up build option for deprecated features
57
+ - Merge branch 'ps/build' into ps/3.0-remote-deprecation
58
+ (this branch uses ps/build.)
59
+
60
+ Following the procedure we established to introduce breaking
61
+ changes for Git 3.0, allow an early opt-in for removing support of
62
+ $GIT_DIR/branches/ and $GIT_DIR/remotes/ directories to configure
63
+ remotes.
64
+
65
+ Needs review.
66
+ source: <20241211-pks-remote-branches-deprecation-v1-0-1431e2369135@pks.im>
67
+
68
+
69
+* ps/ci-meson (2024-12-12) 10 commits
70
+ - ci: wire up Meson builds
71
+ - t: introduce compatibility options to clar-based tests
72
+ - t: fix out-of-tree tests for some git-p4 tests
73
+ - Makefile: detect missing Meson tests
74
+ - meson: detect missing tests at configure time
75
+ - t/unit-tests: rename clar-based unit tests to have a common prefix
76
+ - Makefile: drop -DSUPPRESS_ANNOTATED_LEAKS
77
+ - ci/lib: support custom output directories when creating test artifacts
78
+ - Merge branch 'ps/build' into ps/ci-meson
79
+ - Merge branch 'cw/worktree-extension' into ps/ci-meson
80
+ (this branch uses cw/worktree-extension and ps/build.)
81
+
82
+ The meson-build procedure is integrated into CI to catch and
83
+ prevent bitrotting.
84
+
85
+ Needs review.
86
+ source: <20241211-pks-meson-ci-v1-0-28d18b494374@pks.im>
87
88
--------------------------------------------------
131
-[New Topics]
89
+[Cooking]
90
133
-* kn/reflog-migration (2024-12-10) 7 commits
91
+* kn/reflog-migration (2024-12-11) 8 commits
92
+ - SQUASH
93
- refs: add support for migrating reflogs
94
- refs: allow multiple reflog entries for the same refname
95
- refs: introduce the `ref_transaction_update_reflog` function
@@ -144,6 +103,7 @@ Release tarballs are available at:
103
104
Needs review.
105
source: <20241209-320-git-refs-migrate-reflogs-v1-0-d4bc37ee860f@gmail.com>
106
+ source: <CAOLa=ZRsAwM8oUnyYCaRKkkudN+QW+hRSKZEvPJLThSr14M7rA@mail.gmail.com>
107
108
109
* mh/doc-windows-home-env (2024-12-10) 1 commit
@@ -155,27 +115,25 @@ Release tarballs are available at:
115
source: <pull.1834.git.1733771894867.gitgitgadget@gmail.com>
116
117
158
-* tc/bundle-with-tag-remove-workaround (2024-12-10) 1 commit
118
+* tc/bundle-with-tag-remove-workaround (2024-12-12) 1 commit
119
- bundle: remove unneeded code
120
121
"git bundle create" with an annotated tag on the positive end of
122
the revision range had a workaround code for older limitation in
123
the revision walker, which has become unnecessary.
124
165
- Expecting a reroll.
166
- cf. <CAOLa=ZQpBf-ZE8BmXRUXJ247p44Enj0vrJv2KHVDXtGzY6SU8w@mail.gmail.com>
167
- source: <20241209-fix-bundle-create-race-v1-1-e6513bdcbf8a@iotcl.com>
125
+ Will merge to 'next'.
126
+ source: <20241211-fix-bundle-create-race-v3-1-0587f6f9db1b@iotcl.com>
127
169
---------------------------------------------------
170
-[Cooking]
128
129
* bf/explicit-config-set-in-advice-messages (2024-12-06) 1 commit
173
- - advice: suggest using subcommand "git config set"
130
+ (merged to 'next' on 2024-12-11 at a20c319038)
131
+ + advice: suggest using subcommand "git config set"
132
133
The advice messages now tell the newer 'git config set' command to
134
set the advice.token configuration variable to squelch a message.
135
178
- Will merge to 'next'.
136
+ Will merge to 'master'.
137
source: <20241205122225.1184215-1-bence@ferdinandy.com>
138
139
@@ -210,22 +168,26 @@ Release tarballs are available at:
168
source: <20241206-424-reftable-writer-add-check-for-limits-v2-1-82ca350b10be@gmail.com>
169
170
213
-* ps/ci-gitlab-update (2024-12-07) 4 commits
171
+* ps/ci-gitlab-update (2024-12-12) 4 commits
172
- ci/lib: fix "CI setup" sections with GitLab CI
215
- - ci/lib: use echo instead of printf to set up sections
173
+ - ci/lib: do not interpret escape sequences in `group ()` arguments
174
- ci/lib: remove duplicate trap to end "CI setup" group
175
- gitlab-ci: update macOS images to Sonoma
176
219
- source: <20241206-pks-ci-section-fixes-v1-0-7ab1b69e3648@pks.im>
177
+ GitLab CI updates.
178
+
179
+ Will merge to 'next'.
180
+ source: <20241212-pks-ci-section-fixes-v3-0-d9fe6baee21e@pks.im>
181
182
183
* ps/commit-with-message-syntax-fix (2024-12-08) 1 commit
223
- - object-name: fix reversed ordering with ":/<text>" revisions
184
+ (merged to 'next' on 2024-12-11 at da3d13a723)
185
+ + object-name: fix reversed ordering with ":/<text>" revisions
186
187
The syntax ":/<text>" to name the latest commit with the matching
188
text was broken with a recent change, which has been corrected.
189
228
- Will merge to 'next'.
190
+ Will merge to 'master'.
191
source: <20241206-pks-rev-parse-fix-reversed-list-v3-1-d934c17db168@pks.im>
192
193
@@ -244,7 +206,7 @@ Release tarballs are available at:
206
source: <xmqqcyi5xmhr.fsf@gitster.g>
207
208
247
-* re/submodule-parse-opt (2024-12-10) 8 commits
209
+* re/submodule-parse-opt (2024-12-11) 7 commits
210
- git-submodule.sh: rename some variables
211
- git-submodule.sh: improve variables readability
212
- git-submodule.sh: add some comments
@@ -252,24 +214,24 @@ Release tarballs are available at:
214
- git-submodule.sh: get rid of isnumber
215
- git-submodule.sh: improve parsing of short options
216
- git-submodule.sh: improve parsing of some long options
255
- - git-submodule.sh: make some variables boolean
217
218
"git submodule" learned various ways to spell the same option,
219
e.g. "--branch=B" can be spelled "--branch B" or "-bB".
220
221
Will merge to 'next'?
261
- source: <20241209165009.40653-1-royeldar0@gmail.com>
222
+ source: <20241210184442.10723-1-royeldar0@gmail.com>
223
224
225
* 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
226
+ (merged to 'next' on 2024-12-11 at 5a408010e9)
227
+ + index-pack --promisor: also check commits' trees
228
+ + index-pack --promisor: don't check blobs
229
+ + index-pack --promisor: dedup before checking links
230
231
Fix performance regression of a recent "fatten promisor pack with
232
local objects" protection against an unwanted gc.
233
272
- Will merge to 'next'.
234
+ Will merge to 'master'.
235
source: <cover.1733262661.git.jonathantanmy@google.com>
236
237
@@ -329,26 +291,28 @@ Release tarballs are available at:
291
292
293
* 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
294
+ (merged to 'next' on 2024-12-11 at ddbfd8883a)
295
+ + strvec: `strvec_splice()` to a statically initialized vector
296
+ + Merge branch 'ps/leakfixes-part-10' into rj/strvec-splice-fix
297
298
Correct strvec_splice() that misbehaved when the strvec is empty.
299
337
- Will merge to 'next'.
300
+ Will merge to 'master'.
301
source: <3c7b3c26-7501-4797-8afa-c7f7e9c46558@gmail.com>
302
303
304
* jc/forbid-head-as-tagname (2024-12-03) 4 commits
342
- - tag: "git tag" refuses to use HEAD as a tagname
343
- - t5604: do not expect that HEAD can be a valid tagname
344
- - refs: drop strbuf_ prefix from helpers
345
- - refs: move ref name helpers around
305
+ (merged to 'next' on 2024-12-11 at adea88989e)
306
+ + tag: "git tag" refuses to use HEAD as a tagname
307
+ + t5604: do not expect that HEAD can be a valid tagname
308
+ + refs: drop strbuf_ prefix from helpers
309
+ + refs: move ref name helpers around
310
311
"git tag" has been taught to refuse to create refs/tags/HEAD
312
as such a tag will be confusing in the context of UI provided by
313
the Git Porcelain commands.
314
351
- Will merge to 'next'.
315
+ Will merge to 'master'.
316
source: <20241203023240.3852850-1-gitster@pobox.com>
317
318
@@ -370,9 +334,10 @@ Release tarballs are available at:
334
335
336
* bf/fetch-set-head-config (2024-12-06) 5 commits
373
- - remote set-head: set followRemoteHEAD to "warn" if "always"
374
- - fetch set_head: add warn-if-not-$branch option
375
- - fetch set_head: move warn advice into advise_if_enabled
337
+ (merged to 'next' on 2024-12-11 at 900cadd7b7)
338
+ + remote set-head: set followRemoteHEAD to "warn" if "always"
339
+ + fetch set_head: add warn-if-not-$branch option
340
+ + fetch set_head: move warn advice into advise_if_enabled
341
(merged to 'next' on 2024-12-04 at 69bfc59fb5)
342
+ fetch: add configuration for set_head behaviour
343
+ Merge branch 'bf/set-head-symref' into bf/fetch-set-head-config
@@ -381,7 +346,7 @@ Release tarballs are available at:
346
"git fetch" honors "remote.<remote>.followRemoteHEAD" settings to
347
tweak the remote-tracking HEAD in "refs/remotes/<remote>/HEAD".
348
384
- Will merge to 'next'.
349
+ Will merge to 'master' after bf/set-head-symref stabilizes.
350
source: <20241128230806.2058962-1-bence@ferdinandy.com>
351
source: <20241204104003.514905-1-bence@ferdinandy.com>
352
source: <20241128111946.366584-1-bence@ferdinandy.com>
@@ -491,20 +456,23 @@ Release tarballs are available at:
456
457
458
* 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
496
- - git: remove is_bare_repository_cfg global variable
459
+ . repository: BUG when is_bare_cfg is not initialized
460
+ . setup: initialize is_bare_cfg
461
+ . git: remove is_bare_repository_cfg global variable
462
463
Code rewrite to turn the is_bare_repository_cfg global variable
464
into a member in the the_repo singleton repository object.
465
466
Waiting for response to reviews.
467
cf. <xmqqy116xvr3.fsf@gitster.g>
468
+ Seems to break t0021-conversion on Windows.
469
+ cf. https://lore.kernel.org/git/xmqqzfl1hl52.fsf@gitster.g/
470
source: <pull.1826.git.git.1730926082.gitgitgadget@gmail.com>
471
472
473
* jk/describe-perf (2024-12-06) 5 commits
507
- - describe: split "found all tags" and max_candidates logic
474
+ (merged to 'next' on 2024-12-11 at 509db1dc1a)
475
+ + describe: split "found all tags" and max_candidates logic
476
(merged to 'next' on 2024-12-02 at 0f34109a85)
477
+ describe: stop traversing when we run out of names
478
+ describe: stop digging for max_candidates+1
@@ -513,7 +481,7 @@ Release tarballs are available at:
481
482
"git describe" optimization.
483
516
- Will merge to 'next'.
484
+ Will merge to 'master'.
485
source: <20241106192236.GC880133@coredump.intra.peff.net>
486
source: <20241206054218.GA3203047@coredump.intra.peff.net>
487
@@ -574,6 +542,7 @@ Release tarballs are available at:
542
+ worktree: refactor infer_backlink return
543
+ worktree: add `relativeWorktrees` extension
544
+ setup: correctly reinitialize repository version
545
+ (this branch is used by ps/ci-meson.)
546
547
Introduce a new repository extension to prevent older Git versions
548
from mis-interpreting worktrees created with relative paths.
@@ -647,36 +616,37 @@ Release tarballs are available at:
616
source: <20241122123138.66960-1-bence@ferdinandy.com>
617
618
650
-* ps/build (2024-12-08) 25 commits
651
- - meson: fix conflicts with in-flight topics
652
- - Introduce support for the Meson build system
653
- - Documentation: add comparison of build systems
654
- - t: allow overriding build dir
655
- - t: better support for out-of-tree builds
656
- - Documentation: extract script to generate a list of mergetools
657
- - Documentation: teach "cmd-list.perl" about out-of-tree builds
658
- - Documentation: allow sourcing generated includes from separate dir
659
- - Makefile: simplify building of templates
660
- - Makefile: write absolute program path into bin-wrappers
661
- - Makefile: allow "bin-wrappers/" directory to exist
662
- - Makefile: refactor generators to be PWD-independent
663
- - Makefile: extract script to generate gitweb.js
664
- - Makefile: extract script to generate gitweb.cgi
665
- - Makefile: extract script to massage Python scripts
666
- - Makefile: extract script to massage Shell scripts
667
- - Makefile: use "generate-perl.sh" to massage Perl library
668
- - Makefile: extract script to massage Perl scripts
669
- - Makefile: consistently use PERL_PATH
670
- - Makefile: generate doc versions via GIT-VERSION-GEN
671
- - Makefile: generate "git.rc" via GIT-VERSION-GEN
672
- - Makefile: propagate Git version via generated header
673
- - Makefile: refactor GIT-VERSION-GEN to be reusable
674
- - Makefile: consistently use @PLACEHOLDER@ to substitute
675
- - Makefile: use common template for GIT-BUILD-OPTIONS
676
-
677
- Build procedure update plus introduction of Mason based builds
678
-
679
- Will merge to 'next' (except for the tip one).
619
+* ps/build (2024-12-07) 24 commits
620
+ (merged to 'next' on 2024-12-11 at cb270b3dea)
621
+ + Introduce support for the Meson build system
622
+ + Documentation: add comparison of build systems
623
+ + t: allow overriding build dir
624
+ + t: better support for out-of-tree builds
625
+ + Documentation: extract script to generate a list of mergetools
626
+ + Documentation: teach "cmd-list.perl" about out-of-tree builds
627
+ + Documentation: allow sourcing generated includes from separate dir
628
+ + Makefile: simplify building of templates
629
+ + Makefile: write absolute program path into bin-wrappers
630
+ + Makefile: allow "bin-wrappers/" directory to exist
631
+ + Makefile: refactor generators to be PWD-independent
632
+ + Makefile: extract script to generate gitweb.js
633
+ + Makefile: extract script to generate gitweb.cgi
634
+ + Makefile: extract script to massage Python scripts
635
+ + Makefile: extract script to massage Shell scripts
636
+ + Makefile: use "generate-perl.sh" to massage Perl library
637
+ + Makefile: extract script to massage Perl scripts
638
+ + Makefile: consistently use PERL_PATH
639
+ + Makefile: generate doc versions via GIT-VERSION-GEN
640
+ + Makefile: generate "git.rc" via GIT-VERSION-GEN
641
+ + Makefile: propagate Git version via generated header
642
+ + Makefile: refactor GIT-VERSION-GEN to be reusable
643
+ + Makefile: consistently use @PLACEHOLDER@ to substitute
644
+ + Makefile: use common template for GIT-BUILD-OPTIONS
645
+ (this branch is used by ps/3.0-remote-deprecation and ps/ci-meson.)
646
+
647
+ Build procedure update plus introduction of Mason based builds.
648
+
649
+ Will merge to 'master'.
650
source: <20241206-pks-meson-v11-0-525ed4792b88@pks.im>
651
652