What's cooking (2026/02) #08
Junio C Hamano committed
Feb 23, 2026 at 01:50 UTC
4ca735bc86789ccfe135440709734bf73fe3ed81
1 file changed
+169
-122
whats-cooking.txt
+169
-122
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
-Subject: What's cooking in git.git (Feb 2026, #07)
2
+Subject: What's cooking in git.git (Feb 2026, #08)
3
X-master-at: 7c02d39fc2ed2702223c7674f73150d9a7e61ba4
4
-X-next-at: 4a7958ca1415077ce9b1d0a38223ede55da779d9
4
+X-next-at: 309c995771be952610fdcff99f7fea96934ce045
5
Bcc: lwn@lwn.net, gitster@pobox.com
6
7
-What's cooking in git.git (Feb 2026, #07)
7
+What's cooking in git.git (Feb 2026, #08)
8
-----------------------------------------
9
10
Here are the topics that have been cooking in my tree. Commits
@@ -47,49 +47,12 @@ Release tarballs are available at:
47
48
https://www.kernel.org/pub/software/scm/git/
49
50
---------------------------------------------------
51
-[Graduated to 'master']
52
-
53
-* ak/t9812-test-path-is-helpers (2026-02-11) 1 commit
54
- (merged to 'next' on 2026-02-13 at a9746d98e4)
55
- + t9812: modernize test path helpers
56
-
57
- Test update.
58
- source: <20260212054530.4763-1-ashwanikamal.im421@gmail.com>
59
-
60
-
61
-* jc/doc-cg-c-comment (2026-02-11) 1 commit
62
- (merged to 'next' on 2026-02-12 at d1286b26eb)
63
- + CodingGuidelines: document // comments
64
-
65
- A CodingGuidelines update.
66
- source: <xmqqikc3t7hf.fsf@gitster.g>
67
-
68
-
69
-* pw/diff-anchored-optim (2026-02-12) 1 commit
70
- (merged to 'next' on 2026-02-13 at a8e8191f03)
71
- + diff --anchored: avoid checking unmatched lines
72
-
73
- "git diff --anchored=<text>" has been optimized.
74
- source: <2a8cc2d6c37f25a58823b501500165d597321749.1770911599.git.phillip.wood@dunelm.org.uk>
75
-
76
-
77
-* pw/xdiff-cleanups (2026-01-26) 2 commits
78
- (merged to 'next' on 2026-02-11 at e6df42d605)
79
- + xdiff: remove unused data from xdlclass_t
80
- + xdiff: remove "line_hash" field from xrecord_t
81
-
82
- Small clean-up of xdiff library to remove unnecessary data
83
- duplication.
84
- source: <cover.1769424529.git.phillip.wood@dunelm.org.uk>
85
-
50
--------------------------------------------------
51
[Stalled]
52
53
These topics have been sitting without activity for too long. They
54
may have to be discarded unless something new happens to them soon.
55
92
-
56
* tt/receive-pack-oo-namespace-symref-fix (2025-12-27) 1 commit
57
- receive-pack: fix crash on out-of-namespace symref
58
@@ -119,22 +82,72 @@ may have to be discarded unless something new happens to them soon.
82
Comments?
83
source: <pull.2150.v2.git.git.1767226763360.gitgitgadget@gmail.com>
84
85
+--------------------------------------------------
86
+[New Topics]
87
123
-* hn/status-compare-with-push (2026-01-22) 3 commits
124
- - status: add status.compareBranches config for multiple branch comparisons
125
- - refactor format_branch_comparison in preparation
126
- - Merge branch 'jk/remote-tracking-ref-leakfix' into hn/status-compare-with-push
88
+* ac/help-sort-correctly (2026-02-21) 2 commits
89
+ - SQUASH??? simplify
90
+ - help: cleanup the contruction of keys_uniq
91
128
- "git status" learned to show comparison between the current branch
129
- and its push destination as well as its upstream, when the two are
130
- different (i.e., triangular workflow).
92
+ The code in "git help" that shows configuration items in sorted
93
+ order was awkwardly organized and prone to bugs.
94
+
95
+ Expecting a (hopefully small and final) reroll, with tests?
96
+ source: <20260221162359.43336-2-amishhhaaaa@gmail.com>
97
+
98
+
99
+* lg/t2004-test-path-is-helpers (2026-02-21) 1 commit
100
+ - t2004: use test_path_is_file instead of test -f
101
+
102
+ Test code clean-up.
103
+
104
+ Will merge to 'next'.
105
+ source: <pull.2049.git.1771694893208.gitgitgadget@gmail.com>
106
+
107
+
108
+* ps/simplify-normalize-path-copy-len (2026-02-21) 1 commit
109
+ - path: factor out skip_slashes() in normalize_path_copy_len()
110
+
111
+ Code clean-up.
112
+
113
+ Will merge to 'next'.
114
+ source: <20260221110511.1592-2-pushkarkumarsingh1970@gmail.com>
115
+
116
+
117
+* sc/pack-redundant-leakfix (2026-02-21) 1 commit
118
+ - pack-redundant: fix memory leak when open_pack_index() fails
119
+
120
+ Leakfix.
121
+
122
+ Will merge to 'next'.
123
+ source: <20260221103900.41740-1-sahityajb@gmail.com>
124
+
125
+
126
+* ty/setup-error-tightening (2026-02-22) 2 commits
127
+ - SQUASH??? read_gitfile(): group ENOENT and ENOTDIR into a single MISSING error
128
+ - setup: improve error diagnosis for invalid .git files
129
+
130
+ While discovering a ".git" directory, the code treats any stat()
131
+ failure as a sign that a filesystem entity .git does not exist
132
+ there, and ignores ".git" that is not a "gitdir" file or a
133
+ directory. The code has been tightened to notice and report
134
+ filesystem corruption better.
135
+
136
+ Needs review.
137
+ source: <20260222102928.377519-1-a3205153416@gmail.com>
138
132
- What's the status of this topic?
133
- cf. <20260122220154.GA2107958@coredump.intra.peff.net>
134
- source: <pull.2138.v28.git.git.1769112471.gitgitgadget@gmail.com>
139
+
140
+* bc/do-not-reorder-packs-during-fsck (2026-02-22) 1 commit
141
+ - fsck: do not loop infinitely when processing packs
142
+
143
+ Access to packfiles during fsck would reorder the mru list of
144
+ packs, which causes the fsck to loop forever going over the list.
145
+
146
+ Will merge to 'next'?
147
+ source: <20260222183710.2963424-1-sandals@crustytoothpaste.net>
148
149
--------------------------------------------------
137
-[New Topics]
150
+[Cooking]
151
152
* ap/use-test-seq-f-more (2026-02-18) 1 commit
153
(merged to 'next' on 2026-02-20 at d847fcad1e)
@@ -166,7 +179,9 @@ may have to be discarded unless something new happens to them soon.
179
source: <pull.2047.git.1771443159369.gitgitgadget@gmail.com>
180
181
169
-* jt/object-file-use-container-of (2026-02-18) 1 commit
182
+* jt/object-file-use-container-of (2026-02-22) 2 commits
183
+ (merged to 'next' on 2026-02-22 at 309c995771)
184
+ + object-file.c: avoid container_of() of a NULL container
185
(merged to 'next' on 2026-02-20 at 7a30cb262f)
186
+ object-file: use `container_of()` to convert from base types
187
@@ -174,6 +189,7 @@ may have to be discarded unless something new happens to them soon.
189
190
Will merge to 'master'.
191
source: <20260218210120.1146078-1-jltobler@gmail.com>
192
+ source: <xmqqh5r8r0to.fsf_-_@gitster.g>
193
194
195
* kh/format-patch-noprefix-is-boolean (2026-02-18) 2 commits
@@ -218,7 +234,7 @@ may have to be discarded unless something new happens to them soon.
234
An earlier attempt to optimize "git subtree" discarded too much
235
relevant histories, which has been corrected.
236
221
- Will merge to next?
237
+ Will merge to 'next'.
238
source: <20260217-cs-subtree-remove-optimization-v2-0-4299e71a30c6@howdoi.land>
239
240
@@ -343,16 +359,14 @@ may have to be discarded unless something new happens to them soon.
359
Will merge to 'next'?
360
source: <20260220175331.1250726-1-shreyanshpaliwalcmsmn@gmail.com>
361
346
---------------------------------------------------
347
-[Cooking]
362
349
-* dk/meson-regen-config-list (2026-02-18) 1 commit
363
+* dk/meson-regen-config-list (2026-02-21) 1 commit
364
- build: regenerate config-list.h when Documentation changes
365
366
Fix dependency screw-up in meson-based builds
367
368
Will merge to 'next'?
355
- source: <611a94cd988e3795bc63dba2f1b270aa0d058bd2.1771425395.git.ben.knoble+github@gmail.com>
369
+ source: <5dcd4e9308100a25603c50fecb36447c0ee4df62.1771682788.git.ben.knoble+github@gmail.com>
370
371
372
* jk/ref-filter-lrstrip-optim (2026-02-19) 5 commits
@@ -372,13 +386,14 @@ may have to be discarded unless something new happens to them soon.
386
387
388
* ps/receive-pack-shallow-optim (2026-02-16) 3 commits
375
- - commit: use commit graph in `lookup_commit_reference_gently()`
376
- - commit: make `repo_parse_commit_no_graph()` more robust
377
- - commit: avoid parsing non-commits in `lookup_commit_reference_gently()`
389
+ (merged to 'next' on 2026-02-22 at ad6abc1ef8)
390
+ + commit: use commit graph in `lookup_commit_reference_gently()`
391
+ + commit: make `repo_parse_commit_no_graph()` more robust
392
+ + commit: avoid parsing non-commits in `lookup_commit_reference_gently()`
393
394
The code to accept shallow "git push" has been optimized.
395
381
- Will merge to 'next'.
396
+ Will merge to 'master'.
397
source: <20260216-b4-pks-receive-pack-optimize-shallow-v1-0-e98886daff2b@pks.im>
398
399
@@ -501,13 +516,14 @@ may have to be discarded unless something new happens to them soon.
516
517
518
* kh/doc-patch-id-4 (2026-02-14) 3 commits
504
- - doc: patch-id: see also git-cherry(1)
505
- - doc: patch-id: add script example
506
- - doc: patch-id: emphasize multi-patch processing
519
+ (merged to 'next' on 2026-02-22 at bfae23ac5e)
520
+ + doc: patch-id: see also git-cherry(1)
521
+ + doc: patch-id: add script example
522
+ + doc: patch-id: emphasize multi-patch processing
523
524
Doc update.
525
510
- Will merge to 'next'.
526
+ Will merge to 'master'.
527
source: <V2_CV_doc_patch-id_4.371@msgid.xyz>
528
529
@@ -524,14 +540,15 @@ may have to be discarded unless something new happens to them soon.
540
541
542
* kh/doc-am-xref (2026-02-09) 4 commits
527
- - doc: am: fill out hook discussion
528
- - doc: am: add missing config am.messageId
529
- - doc: am: say that --message-id adds a trailer
530
- - doc: am: normalize git(1) command links
543
+ (merged to 'next' on 2026-02-22 at 920d0c2836)
544
+ + doc: am: fill out hook discussion
545
+ + doc: am: add missing config am.messageId
546
+ + doc: am: say that --message-id adds a trailer
547
+ + doc: am: normalize git(1) command links
548
549
Doc update.
550
534
- Will merge to 'next'.
551
+ Will merge to 'master'.
552
source: <doc_am_gitlinks_and_am.messageId.321@msgid.xyz>
553
554
@@ -567,11 +584,12 @@ may have to be discarded unless something new happens to them soon.
584
585
586
* pw/meson-doc-mergetool (2026-02-09) 1 commit
570
- - meson: fix building mergetool docs
587
+ (merged to 'next' on 2026-02-22 at dfdfff02f8)
588
+ + meson: fix building mergetool docs
589
590
Update build precedure for mergetool documentation in meson-based builds.
591
574
- Will merge to 'next'.
592
+ Will merge to 'master'.
593
source: <604c79018992dee019205741934508091cdd1e47.1770631599.git.phillip.wood@dunelm.org.uk>
594
595
@@ -681,36 +699,44 @@ may have to be discarded unless something new happens to them soon.
699
700
701
* ps/meson-gitk-git-gui (2026-02-04) 1 commit
684
- - meson: wire up gitk and git-gui
702
+ (merged to 'next' on 2026-02-22 at a6cd49271f)
703
+ + meson: wire up gitk and git-gui
704
705
Plumb gitk/git-gui build and install procedure in meson based
706
builds.
707
689
- Will merge to 'next'.
708
+ Will merge to 'master'.
709
source: <20260204-b4-pks-meson-tcl-tk-v2-1-5bc3ccf3a8ce@pks.im>
710
711
712
* uk/signature-is-good-after-key-expires (2026-02-04) 1 commit
694
- - gpg-interface: signatures by expired keys are fine
713
+ (merged to 'next' on 2026-02-22 at 094113b392)
714
+ + gpg-interface: signatures by expired keys are fine
715
716
A signature on a commit that was GPG signed long time ago ought to
717
be still valid after the key that was used to sign it has expired,
718
but we showed them in alarming red.
719
700
- Will merge to 'next'.
720
+ Will merge to 'master'.
721
source: <20260204152306.1767112-2-ukleinek@kernel.org>
722
723
704
-* ar/parallel-hooks (2026-02-04) 5 commits
724
+* ar/parallel-hooks (2026-02-21) 11 commits
725
- hook: allow runtime enabling extensions.hookStdoutToStderr
726
- hook: introduce extensions.hookStdoutToStderr
727
+ - hook: add per-event jobs config
728
+ - hook: add -j/--jobs option to git hook run
729
+ - hook: mark non-parallelizable hooks
730
- hook: allow parallel hook execution
731
+ - hook: parse the hook.jobs config
732
+ - hook: refactor hook_config_cache from strmap to named struct
733
- config: add a repo_config_get_uint() helper
734
+ - repository: fix repo_init() memleak due to missing _clear()
735
- Merge branch 'ar/config-hooks' into ar/parallel-hooks
736
(this branch uses ar/config-hooks and ar/run-command-hook-take-2.)
737
738
Needs review.
713
- source: <20260204173328.1601807-1-adrian.ratiu@collabora.com>
739
+ source: <20260222002904.1879356-1-adrian.ratiu@collabora.com>
740
741
742
* mc/tr2-process-ancestry-cleanup (2026-02-13) 6 commits
@@ -760,26 +786,28 @@ may have to be discarded unless something new happens to them soon.
786
787
788
* ps/object-info-bits-cleanup (2026-02-11) 5 commits
763
- - odb: convert `odb_has_object()` flags into an enum
764
- - odb: convert object info flags into an enum
765
- - odb: drop gaps in object info flag values
766
- - builtin/fsck: fix flags passed to `odb_has_object()`
767
- - builtin/backfill: fix flags passed to `odb_has_object()`
789
+ (merged to 'next' on 2026-02-22 at 4d702cbecc)
790
+ + odb: convert `odb_has_object()` flags into an enum
791
+ + odb: convert object info flags into an enum
792
+ + odb: drop gaps in object info flag values
793
+ + builtin/fsck: fix flags passed to `odb_has_object()`
794
+ + builtin/backfill: fix flags passed to `odb_has_object()`
795
796
A couple of bugs in use of flag bits around odb API has been
797
corrected, and the flag bits reordered.
798
772
- Will merge to 'next'.
799
+ Will merge to 'master'.
800
source: <20260212-b4-pks-read-object-info-flags-v2-0-3bfa9bb149ef@pks.im>
801
802
776
-* ty/symlinks-use-unsigned-for-bitset (2026-01-21) 1 commit
777
- - symlinks: use unsigned int for flags
803
+* ty/symlinks-use-unsigned-for-bitset (2026-02-16) 1 commit
804
+ (merged to 'next' on 2026-02-22 at 6546dc5cf2)
805
+ + symlinks: use unsigned int for flags
806
807
Code clean-up.
808
781
- Will merge to 'next'.
782
- source: <20260121162640.424126-1-a3205153416@gmail.com>
809
+ Will merge to 'master'.
810
+ source: <20260216172028.140525-1-a3205153416@gmail.com>
811
812
813
* ds/revision-maximal-only (2026-01-22) 1 commit
@@ -807,24 +835,25 @@ may have to be discarded unless something new happens to them soon.
835
836
837
* ar/run-command-hook-take-2 (2026-01-28) 12 commits
810
- - receive-pack: convert receive hooks to hook API
811
- - receive-pack: convert update hooks to new API
812
- - run-command: poll child input in addition to output
813
- - hook: add jobs option
814
- - reference-transaction: use hook API instead of run-command
815
- - transport: convert pre-push to hook API
816
- - hook: allow separate std[out|err] streams
817
- - hook: convert 'post-rewrite' hook in sequencer.c to hook API
818
- - hook: provide stdin via callback
819
- - run-command: add stdin callback for parallelization
820
- - run-command: add helper for pp child states
821
- - t1800: add hook output stream tests
838
+ (merged to 'next' on 2026-02-22 at 4aa543f115)
839
+ + receive-pack: convert receive hooks to hook API
840
+ + receive-pack: convert update hooks to new API
841
+ + run-command: poll child input in addition to output
842
+ + hook: add jobs option
843
+ + reference-transaction: use hook API instead of run-command
844
+ + transport: convert pre-push to hook API
845
+ + hook: allow separate std[out|err] streams
846
+ + hook: convert 'post-rewrite' hook in sequencer.c to hook API
847
+ + hook: provide stdin via callback
848
+ + run-command: add stdin callback for parallelization
849
+ + run-command: add helper for pp child states
850
+ + t1800: add hook output stream tests
851
(this branch is used by ar/config-hooks and ar/parallel-hooks.)
852
853
Use the hook API to replace ad-hoc invocation of hook scripts via
854
the run_command() API.
855
827
- Will merge to 'next'.
856
+ Will merge to 'master'.
857
source: <20260128213927.3026875-1-adrian.ratiu@collabora.com>
858
859
@@ -871,37 +900,39 @@ may have to be discarded unless something new happens to them soon.
900
901
902
* ps/odb-for-each-object (2026-01-26) 16 commits
874
- - odb: drop unused `for_each_{loose,packed}_object()` functions
875
- - reachable: convert to use `odb_for_each_object()`
876
- - builtin/pack-objects: use `packfile_store_for_each_object()`
877
- - odb: introduce mtime fields for object info requests
878
- - treewide: drop uses of `for_each_{loose,packed}_object()`
879
- - treewide: enumerate promisor objects via `odb_for_each_object()`
880
- - builtin/fsck: refactor to use `odb_for_each_object()`
881
- - odb: introduce `odb_for_each_object()`
882
- - packfile: introduce function to iterate through objects
883
- - packfile: extract function to iterate through objects of a store
884
- - object-file: introduce function to iterate through objects
885
- - object-file: extract function to read object info from path
886
- - odb: fix flags parameter to be unsigned
887
- - odb: rename `FOR_EACH_OBJECT_*` flags
888
- - Merge branch 'ps/packfile-store-in-odb-source' into ps/odb-for-each-object
889
- - Merge branch 'ps/read-object-info-improvements' into ps/odb-for-each-object
903
+ (merged to 'next' on 2026-02-22 at 80178ecd0d)
904
+ + odb: drop unused `for_each_{loose,packed}_object()` functions
905
+ + reachable: convert to use `odb_for_each_object()`
906
+ + builtin/pack-objects: use `packfile_store_for_each_object()`
907
+ + odb: introduce mtime fields for object info requests
908
+ + treewide: drop uses of `for_each_{loose,packed}_object()`
909
+ + treewide: enumerate promisor objects via `odb_for_each_object()`
910
+ + builtin/fsck: refactor to use `odb_for_each_object()`
911
+ + odb: introduce `odb_for_each_object()`
912
+ + packfile: introduce function to iterate through objects
913
+ + packfile: extract function to iterate through objects of a store
914
+ + object-file: introduce function to iterate through objects
915
+ + object-file: extract function to read object info from path
916
+ + odb: fix flags parameter to be unsigned
917
+ + odb: rename `FOR_EACH_OBJECT_*` flags
918
+ + Merge branch 'ps/packfile-store-in-odb-source' into ps/odb-for-each-object
919
+ + Merge branch 'ps/read-object-info-improvements' into ps/odb-for-each-object
920
921
Revamp object enumeration API around odb.
922
893
- Will merge to 'next'.
923
+ Will merge to 'master'.
924
source: <20260126-pks-odb-for-each-object-v4-0-5a64a038c791@pks.im>
925
926
927
* ps/validate-prefix-in-subtree-split (2026-02-03) 1 commit
898
- - subtree: validate --prefix against commit in split
928
+ (merged to 'next' on 2026-02-22 at f44d607586)
929
+ + subtree: validate --prefix against commit in split
930
931
"git subtree split --prefix=P <commit>" now checks the prefix P
932
against the tree of the (potentially quite different from the
933
current working tree) given commit.
934
904
- Will merge to 'next'.
935
+ Will merge to 'master'.
936
source: <20260203164815.68258-2-pushkarkumarsingh1970@gmail.com>
937
938
@@ -918,12 +949,13 @@ may have to be discarded unless something new happens to them soon.
949
950
951
* ag/http-netrc-tests (2026-01-06) 1 commit
921
- - t5550: add netrc tests for http 401/403
952
+ (merged to 'next' on 2026-02-22 at acae2989d4)
953
+ + t5550: add netrc tests for http 401/403
954
955
Additional tests were introduced to see the interaction with netrc
956
auth with auth failure on the http transport.
957
926
- Will merge to 'next'.
958
+ Will merge to 'master'.
959
source: <20260107074724.13165-1-git@ashlesh.me>
960
961
@@ -1039,4 +1071,19 @@ may have to be discarded unless something new happens to them soon.
1071
1072
Comments? v1 saw a lot of discussions, v2 didn't, and this is v3,
1073
which is essentially identical to v2 with CI fixes (which work!).
1074
+
1075
+
1076
+* hn/status-compare-with-push (2026-01-22) 3 commits
1077
+ - status: add status.compareBranches config for multiple branch comparisons
1078
+ - refactor format_branch_comparison in preparation
1079
+ - Merge branch 'jk/remote-tracking-ref-leakfix' into hn/status-compare-with-push
1080
+
1081
+ "git status" learned to show comparison between the current branch
1082
+ and various other branches listed on status.compareBranches
1083
+ configuration.
1084
+
1085
+ Will merge to 'next'?
1086
+ cf. <20260122220154.GA2107958@coredump.intra.peff.net>
1087
+ cf. <aZs6OvvBB4WPNx8j@denethor>
1088
source: <20260207200446.2837699-1-sandals@crustytoothpaste.net>
1089
+ source: <pull.2138.v28.git.git.1769112471.gitgitgadget@gmail.com>