From 332d8e240cb761bd1ba438708828d84601375bd4 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Thu, 26 Feb 2026 12:53:11 -0800 Subject: [PATCH] What's cooking (2026/02 #10) --- whats-cooking.txt | 390 +++++++++++++++++++--------------------------- 1 file changed, 160 insertions(+), 230 deletions(-) diff --git a/whats-cooking.txt b/whats-cooking.txt index 718076e6be..43b3d3ffd7 100644 --- a/whats-cooking.txt +++ b/whats-cooking.txt @@ -1,10 +1,10 @@ To: git@vger.kernel.org -Subject: What's cooking in git.git (Feb 2026, #09) +Subject: What's cooking in git.git (Feb 2026, #10) X-master-at: 7b2bccb0d58d4f24705bf985de1f4612e4cf06e5 -X-next-at: e6e9f13364f60da08915a4183156646fcdad0ff3 +X-next-at: ebd1da8b75f3d8cd1e180ccfadac32d7cbcb64b5 Bcc: lwn@lwn.net, gitster@pobox.com -What's cooking in git.git (Feb 2026, #09) +What's cooking in git.git (Feb 2026, #10) ----------------------------------------- Here are the topics that have been cooking in my tree. Commits @@ -48,101 +48,7 @@ Release tarballs are available at: https://www.kernel.org/pub/software/scm/git/ -------------------------------------------------- -[Graduated to 'master'] - -* ac/string-list-sort-u-and-tests (2026-02-12) 1 commit - (merged to 'next' on 2026-02-17 at 14b7b5d918) - + sparse-checkout: use string_list_sort_u - - Code clean-up using a new helper function introduced lately. - source: <20260213033729.50208-1-amishhhaaaa@gmail.com> - - -* cc/lop-filter-auto (2026-02-16) 9 commits - (merged to 'next' on 2026-02-17 at f10e546e7b) - + fetch-pack: wire up and enable auto filter logic - + promisor-remote: change promisor_remote_reply()'s signature - + promisor-remote: keep advertised filters in memory - + list-objects-filter-options: support 'auto' mode for --filter - + doc: fetch: document `--filter=` option - + fetch: make filter_options local to cmd_fetch() - + clone: make filter_options local to cmd_clone() - + promisor-remote: allow a client to store fields - + promisor-remote: refactor initialising field lists - - "auto filter" logic for large-object promisor remote. - source: <20260216132317.15894-1-christian.couder@gmail.com> - - -* dk/complete-stash-import-export (2026-02-07) 1 commit - (merged to 'next' on 2026-02-17 at 406e4cc3ee) - + completion: add stash import, export - - Command line completion (in contrib/) update. - source: <20260207215924.28863-1-ben.knoble+github@gmail.com> - - -* ds/revision-maximal-only (2026-01-22) 1 commit - (merged to 'next' on 2026-02-17 at 1ed2797464) - + revision: add --maximal-only option - - "git rev-list" and friends learn "--maximal-only" to show only the - commits that are not reachable by other commits. - source: - - -* jc/doc-cg-needswork (2026-02-12) 1 commit - (merged to 'next' on 2026-02-17 at 5e35bc87bd) - + CodingGuidelines: document NEEDSWORK comments - - A CodingGuidelines update. - source: - - -* kh/doc-am-format-sendmail (2026-02-12) 1 commit - (merged to 'next' on 2026-02-13 at 8850dc2fa9) - + doc: add caveat about round-tripping format-patch - - Doc update. - source: - - -* mc/tr2-process-ancestry-cleanup (2026-02-13) 6 commits - (merged to 'next' on 2026-02-17 at 2ebebfc02c) - + t0213: add trace2 cmd_ancestry tests - + test-tool: extend trace2 helper with 400ancestry - + trace2: emit cmd_ancestry data for Windows - + trace2: refactor Windows process ancestry trace2 event - + build: include procinfo.c impl for macOS - + trace2: add macOS process ancestry tracing - - Add process ancestry data to trace2 on macOS to match what we - already do on Linux and Windows. Also adjust the way Windows - implementation reports this information to match the other two. - source: - - -* ps/pack-concat-wo-backfill (2026-02-11) 1 commit - (merged to 'next' on 2026-02-17 at 221d0623a2) - + builtin/pack-objects: don't fetch objects when merging packs - - "git pack-objects --stdin-packs" with "--exclude-promisor-objects" - fetched objects that are promised, which was not wanted. This has - been fixed. - source: <20260211-pks-pack-objects-stdin-skip-backfill-fetch-v1-1-870cad56d8ae@pks.im> - - -* pw/commit-msg-sample-hook (2026-02-13) 2 commits - (merged to 'next' on 2026-02-17 at 6a23eb7fc3) - + templates: detect commit messages containing diffs - + templates: add .gitattributes entry for sample hooks - - Update sample commit-msg hook to complain when a log message has - material mailinfo considers the end of log message in the middle. - source: - --------------------------------------------------- -[New Topics] +[Cooking] * jt/repo-structure-extrema (2026-02-23) 5 commits - builtin/repo: find tree with most entries @@ -154,20 +60,10 @@ Release tarballs are available at: "git repo structure" command learns to report maximum values on various aspects of objects it inspects. - Comments? + Will merge to 'next'? source: <20260223174120.2356504-1-jltobler@gmail.com> -* kh/alias-i18n-docfix (2026-02-23) 1 commit - . doc: config: fix list continuation in alias section - (this branch uses jh/alias-i18n.) - - Doc mark-up fix. - - Superseded by jh/alias-i18n-fixes? - source: <20260218215737.1181147-1-jonatan@jontes.page> - - * ps/fsck-stream-from-the-right-object-instance (2026-02-23) 4 commits - pack-check: fix verification of large objects - packfile: expose function to read object stream for an offset @@ -178,7 +74,7 @@ Release tarballs are available at: the list to be permuted, which caused it to loop forever; the code to access pack data by "fsck" has been updated to avoid this. - Comments? + Will merge to 'next'. source: <20260223-pks-fsck-fix-v2-0-99a0714ea3bd@pks.im> @@ -247,7 +143,9 @@ Release tarballs are available at: "git rebase" learns "--trailer" command to drive the interpret-trailers machinery. - Comments? + Needs (hopefully final) review. + cf. + cf. <83cac4b2-c59d-4ab2-9dfc-2f615ed3959d@gmail.com> source: <20260224070552.148591-1-me@linux.beauty> @@ -266,44 +164,26 @@ Release tarballs are available at: source: -* sp/send-email-validate-charset (2026-02-24) 1 commit +* sp/send-email-validate-charset (2026-02-26) 1 commit - send-email: validate charset name in 8bit encoding prompt "git send-email" has learned to be a bit more careful when it accepts charset to use from the end-user, to avoid 'y' (mistaken 'yes' when expecting a charset like 'UTF-8') and other nonsense. - Expecting a reroll? - cf. - source: <20260224143624.23678-1-shreyanshpaliwalcmsmn@gmail.com> + Expecting a review response. + source: <20260226165559.187261-1-shreyanshpaliwalcmsmn@gmail.com> * cx/fetch-display-ubfix (2026-02-24) 1 commit - - fetch: fix wrong evaluation order in URL trailing-slash trimming + (merged to 'next' on 2026-02-26 at ebd1da8b75) + + fetch: fix wrong evaluation order in URL trailing-slash trimming Undefined-behaviour fix in "git fetch". - Will merge to 'next'. + Will merge to 'master'. source: --------------------------------------------------- -[Stalled] - -These topics have been sitting without activity for too long. They -may have to be discarded unless something new happens to them soon. - -* tt/receive-pack-oo-namespace-symref-fix (2025-12-27) 1 commit - - receive-pack: fix crash on out-of-namespace symref - - "git receive-pack", when namespace is involved, segfaulted when a - symbolic ref cross the namespace boundary. - - May not be a good idea after all. A controlled death would be OK, though. - cf. - source: - --------------------------------------------------- -[Cooking] * pt/fsmonitor-linux (2026-02-25) 10 commits - fsmonitor: close inherited file descriptors and detach in daemon @@ -319,8 +199,9 @@ may have to be discarded unless something new happens to them soon. The fsmonitor daemon has been implemented for Linux. - Comments? - source: + Will merge to 'next'? + cf. + source: * pt/t7527-flake-workaround (2025-12-31) 1 commit @@ -328,7 +209,7 @@ may have to be discarded unless something new happens to them soon. Test fixup. - Comments? + Will merge to 'next'. source: @@ -339,7 +220,8 @@ may have to be discarded unless something new happens to them soon. The code in "git help" that shows configuration items in sorted order was awkwardly organized and prone to bugs. - Expecting a (hopefully small and final) reroll, with tests? + Expecting a (hopefully small and final) reroll, with tests. + cf. source: <20260221162359.43336-2-amishhhaaaa@gmail.com> @@ -407,12 +289,13 @@ may have to be discarded unless something new happens to them soon. * bk/mailmap-wo-the-repository (2026-02-19) 2 commits - - mailmap: drop global config variables - - mailmap: stop using the_repository + (merged to 'next' on 2026-02-26 at f7e3afc1ff) + + mailmap: drop global config variables + + mailmap: stop using the_repository Wean the mailmap code off of the_repository dependency. - Will merge to 'next'. + Will merge to 'master'. source: <20260220060442.29469-1-bkkaracay@gmail.com> @@ -440,13 +323,14 @@ may have to be discarded unless something new happens to them soon. * kh/format-patch-noprefix-is-boolean (2026-02-23) 2 commits - - doc: diff-options.adoc: show format.noprefix for format-patch - - format-patch: make format.noprefix a boolean + (merged to 'next' on 2026-02-26 at fcf4773929) + + doc: diff-options.adoc: show format.noprefix for format-patch + + format-patch: make format.noprefix a boolean The configuration variable format.noprefix did not behave as a proper boolean variable, which has now been fixed and documented. - Will merge to 'next'. + Will merge to 'master'. source: @@ -462,13 +346,14 @@ may have to be discarded unless something new happens to them soon. * pw/no-more-NULL-means-current-worktree (2026-02-19) 2 commits - - path: remove repository argument from worktree_git_path() - - wt-status: avoid passing NULL worktree + (merged to 'next' on 2026-02-26 at 281f28b140) + + path: remove repository argument from worktree_git_path() + + wt-status: avoid passing NULL worktree API clean-up for the worktree subsystem. - Will merge to 'next'? - cf. + Will merge to 'master'. + cf. source: @@ -490,68 +375,73 @@ may have to be discarded unless something new happens to them soon. "git send-email" learns to support use of client-side certificates. - Expecting a (hopefully small and final) reroll? - cf. + Expecting a (hopefully small and final) reroll. + cf. source: <20260220081717.555185-2-dxdt@dev.snart.me> * en/merge-ort-almost-wo-the-repository (2026-02-19) 6 commits - - replay: prevent the_repository from coming back - - merge-ort: prevent the_repository from coming back - - merge-ort: replace the_hash_algo with opt->repo->hash_algo - - merge-ort: replace the_repository with opt->repo - - merge-ort: pass repository to write_tree() - - merge,diff: remove the_repository check before prefetching blobs + (merged to 'next' on 2026-02-26 at 4c07a66173) + + replay: prevent the_repository from coming back + + merge-ort: prevent the_repository from coming back + + merge-ort: replace the_hash_algo with opt->repo->hash_algo + + merge-ort: replace the_repository with opt->repo + + merge-ort: pass repository to write_tree() + + merge,diff: remove the_repository check before prefetching blobs Mark the marge-ort codebase to prevent more uses of the_repository from getting added. - Expecting a reroll. - cf. - source: + Will merge to 'master'. + cf. <143ab1c8-9f07-4df7-8200-69b5a78a0351@gmail.com> + cf. + source: * jr/apply-directory-normalize (2026-02-17) 1 commit - - apply: normalize path in --directory argument + (merged to 'next' on 2026-02-26 at 588d44696d) + + apply: normalize path in --directory argument "git apply --directory=./un/../normalized/path" now normalizes the given path before using it. - Will merge to 'next'. + Will merge to 'master'. source: * lo/repo-leftover-bits (2026-02-25) 9 commits - - Documentation/git-repo: capitalize format descriptions - - Documentation/git-repo: replace 'NUL' with '_NUL_' - - t1901: adjust nul format output instead of expected value - - t1900: rename t1900-repo to t1900-repo-info - - repo: rename struct field to repo_info_field - - repo: replace get_value_fn_for_key by get_repo_info_field - - repo: rename repo_info_fields to repo_info_field - - CodingGuidelines: instruct to name arrays in singular - - Merge branch 'lo/repo-info-keys' into lo/repo-leftover-bits + (merged to 'next' on 2026-02-26 at 962fc48d45) + + Documentation/git-repo: capitalize format descriptions + + Documentation/git-repo: replace 'NUL' with '_NUL_' + + t1901: adjust nul format output instead of expected value + + t1900: rename t1900-repo to t1900-repo-info + + repo: rename struct field to repo_info_field + + repo: replace get_value_fn_for_key by get_repo_info_field + + repo: rename repo_info_fields to repo_info_field + + CodingGuidelines: instruct to name arrays in singular + + Merge branch 'lo/repo-info-keys' into lo/repo-leftover-bits (this branch uses lo/repo-info-keys.) Clean-up the code around "git repo info" command. - Will merge to 'next'? + Will merge to 'master'. source: <20260225183559.79303-1-lucasseikioshiro@gmail.com> * ps/maintenance-geometric-default (2026-02-24) 8 commits - - builtin/maintenance: use "geometric" strategy by default - - t7900: prepare for switch of the default strategy - - t6500: explicitly use "gc" strategy - - t5510: explicitly use "gc" strategy - - t5400: explicitly use "gc" strategy - - t34xx: don't expire reflogs where it matters - - t: disable maintenance where we verify object database structure - - t: fix races caused by background maintenance + (merged to 'next' on 2026-02-26 at 8ab085f657) + + builtin/maintenance: use "geometric" strategy by default + + t7900: prepare for switch of the default strategy + + t6500: explicitly use "gc" strategy + + t5510: explicitly use "gc" strategy + + t5400: explicitly use "gc" strategy + + t34xx: don't expire reflogs where it matters + + t: disable maintenance where we verify object database structure + + t: fix races caused by background maintenance "git maintenance" starts using the "geometric" strategy by default. - Will merge to 'next'. + Will merge to 'master'. source: <20260224-b4-pks-maintenance-default-geometric-strategy-v2-0-8657338c6fa1@pks.im> @@ -578,7 +468,8 @@ may have to be discarded unless something new happens to them soon. Code refactoring around refs-for-each-* API functions. - Comments? + Will merge to 'next'. + cf. source: <20260223-pks-refs-for-each-unification-v2-0-515d48c8087b@pks.im> @@ -592,25 +483,29 @@ may have to be discarded unless something new happens to them soon. Expecting a reroll? cf. <87wm07e4ck.fsf@iotcl.com> cf. <87tsvbe2sm.fsf@iotcl.com> + cf. <405b0d34-c2ad-498d-93a1-2e7925ae11f1@gmail.com> + cf. source: <20260218234215.89326-1-siddharthasthana31@gmail.com> * sp/tree-diff-wo-the-repository (2026-02-20) 1 commit - - tree-diff: remove the usage of the_hash_algo global + (merged to 'next' on 2026-02-26 at c5762ee063) + + tree-diff: remove the usage of the_hash_algo global The last uses of the_repository in "tree-diff.c" have been eradicated. - Will merge to 'next'. + Will merge to 'master'. source: <20260220175331.1250726-1-shreyanshpaliwalcmsmn@gmail.com> * dk/meson-regen-config-list (2026-02-24) 1 commit - - build: regenerate config-list.h when Documentation changes + (merged to 'next' on 2026-02-26 at 64ea932d59) + + build: regenerate config-list.h when Documentation changes Fix dependency screw-up in meson-based builds. - Will merge to 'next'. + Will merge to 'master'. source: <4ef96c6bbf698a08df1df87b7cb053b6d0d00822.1771943954.git.ben.knoble+github@gmail.com> @@ -662,7 +557,8 @@ may have to be discarded unless something new happens to them soon. The HTTP transport learned to react to "429 Too Many Requests". - Comments? + Needs review. + cf. source: @@ -775,46 +671,49 @@ may have to be discarded unless something new happens to them soon. * ds/config-list-with-type (2026-02-23) 13 commits - - config: use an enum for type - - config: restructure format_config() - - config: format colors quietly - - color: add color_parse_quietly() - - config: format expiry dates quietly - - config: format paths gently - - config: format bools or strings in helper - - config: format bools or ints gently - - config: format bools gently - - config: format int64s gently - - config: make 'git config list --type=' work - - config: add 'gently' parameter to format_config() - - config: move show_all_config() + (merged to 'next' on 2026-02-26 at cdaee07fde) + + config: use an enum for type + + config: restructure format_config() + + config: format colors quietly + + color: add color_parse_quietly() + + config: format expiry dates quietly + + config: format paths gently + + config: format bools or strings in helper + + config: format bools or ints gently + + config: format bools gently + + config: format int64s gently + + config: make 'git config list --type=' work + + config: add 'gently' parameter to format_config() + + config: move show_all_config() "git config list" is taught to show the values interpreted for specific type with "--type=" option. - Will merge to 'next'. + Will merge to 'master'. source: * rr/gitweb-mobile (2026-02-16) 5 commits - - gitweb: let page header grow on mobile for long wrapped project names - - gitweb: fix mobile footer overflow by wrapping text and clearing floats - - gitweb: fix mobile page overflow across log/commit/blob/diff views - - gitweb: prevent project search bar from overflowing on mobile - - gitweb: add viewport meta tag for mobile devices + (merged to 'next' on 2026-02-26 at b7e4c26f73) + + gitweb: let page header grow on mobile for long wrapped project names + + gitweb: fix mobile footer overflow by wrapping text and clearing floats + + gitweb: fix mobile page overflow across log/commit/blob/diff views + + gitweb: prevent project search bar from overflowing on mobile + + gitweb: add viewport meta tag for mobile devices "gitweb" has been taught to be mobile friendly. - Will merge to 'next'. + Will merge to 'master'. source: * kn/osxkeychain-buildfix (2026-02-19) 1 commit - - osxkeychain: define build targets in the top-level Makefile. + (merged to 'next' on 2026-02-26 at 913be932b0) + + osxkeychain: define build targets in the top-level Makefile. Simplify build procedure for oxskeychain (in contrib/). - Will merge to 'next'. + Will merge to 'master'. source: @@ -833,17 +732,18 @@ may have to be discarded unless something new happens to them soon. * kn/ref-location (2026-02-25) 6 commits - - refs: add GIT_REFERENCE_BACKEND to specify reference backend - - refs: allow reference location in refstorage config - - refs: receive and use the reference storage payload - - refs: move out stub modification to generic layer - - refs: extract out `refs_create_refdir_stubs()` - - setup: don't modify repo in `create_reference_database()` + (merged to 'next' on 2026-02-26 at e87adbdb69) + + refs: add GIT_REFERENCE_BACKEND to specify reference backend + + refs: allow reference location in refstorage config + + refs: receive and use the reference storage payload + + refs: move out stub modification to generic layer + + refs: extract out `refs_create_refdir_stubs()` + + setup: don't modify repo in `create_reference_database()` Allow the directory in which reference backends store their data to be specified. - Will merge to 'next'. + Will merge to 'master'. source: <20260225-kn-alternate-ref-dir-v9-0-3fe118e40e28@gmail.com> @@ -1019,7 +919,7 @@ may have to be discarded unless something new happens to them soon. histogram diff algorithm suboptimal, which has been corrected. Expecting a reroll. - cf. + cf. source: @@ -1034,7 +934,8 @@ may have to be discarded unless something new happens to them soon. Invalidate control characters in sideband messages, to avoid terminal state getting messed up. - Comments? + Expecting review responses. + cf. source: @@ -1049,7 +950,7 @@ may have to be discarded unless something new happens to them soon. submodule..ignore that is set to "all" (and requires "git add -f" to override it). - Comments? + Will merge to 'next'. cf. source: @@ -1093,14 +994,15 @@ may have to be discarded unless something new happens to them soon. * sp/shallow-deepen-relative-fix (2026-02-15) 2 commits - - shallow: handling fetch relative-deepen - - shallow: free local object_array allocations + (merged to 'next' on 2026-02-26 at 2183b3405e) + + shallow: handling fetch relative-deepen + + shallow: free local object_array allocations "git fetch --deepen" that tries to go beyond merged branch used to get confused where the updated shallow points are, which has been corrected. - Will merge to 'next'. + Will merge to 'master'. source: @@ -1143,7 +1045,8 @@ may have to be discarded unless something new happens to them soon. were kept track of by a single global variable in-core, which has been corrected by moving it to per-repository data structure. - Comments? + Will merge to 'next'. + cf. source: @@ -1205,16 +1108,43 @@ may have to be discarded unless something new happens to them soon. The code to maintain mapping between object names in multiple hash functions is being added, written in Rust. - Comments? v1 saw a lot of discussions, v2 didn't, and this is v3, - which is essentially identical to v2 with CI fixes (which work!). + Will merge to 'next'? + Message-Id: <20260207200446.2837699-1-sandals@crustytoothpaste.net> -* hn/status-compare-with-push (2026-02-25) 3 commits - - status: add status.compareBranches config for multiple branch comparisons - - refactor format_branch_comparison in preparation - - Merge branch 'jk/remote-tracking-ref-leakfix' into hn/status-compare-with-push +* hn/status-compare-with-push (2026-02-26) 3 commits + (merged to 'next' on 2026-02-26 at 1c11b8819a) + + status: add status.compareBranches config for multiple branch comparisons + + refactor format_branch_comparison in preparation + + Merge branch 'jk/remote-tracking-ref-leakfix' into hn/status-compare-with-push "git status" learned to show comparison between the current branch and various other branches listed on status.compareBranches configuration. - source: + + Will merge to 'master'. + cf. + source: + +-------------------------------------------------- +[Discarded] + +* tt/receive-pack-oo-namespace-symref-fix (2025-12-27) 1 commit + . receive-pack: fix crash on out-of-namespace symref + + "git receive-pack", when namespace is involved, segfaulted when a + symbolic ref cross the namespace boundary. + + May not be a good idea after all. A controlled death would be OK, though. + cf. + source: + + +* kh/alias-i18n-docfix (2026-02-23) 1 commit + . doc: config: fix list continuation in alias section + (this branch uses jh/alias-i18n.) + + Doc mark-up fix. + + Superseded by jh/alias-i18n-fixes? + source: <20260218215737.1181147-1-jonatan@jontes.page>