From 7e773d72be59d13be7a40063c8215afdafb8ada2 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Sun, 28 Dec 2025 22:32:45 +0900 Subject: [PATCH] What's cooking (2025/12 #08) --- whats-cooking.txt | 435 ++++++++++++++++++++++++---------------------- 1 file changed, 223 insertions(+), 212 deletions(-) diff --git a/whats-cooking.txt b/whats-cooking.txt index fcaacc0c63..cfcc975726 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 (Dec 2025, #07) -X-master-at: c8d76f7325e75c6f0549fce29ea4f3d97eb079cb -X-next-at: a3e5c5e72d1c821d3e346fca55e6462e6d65d0fc +Subject: What's cooking in git.git (Dec 2025, #08) +X-master-at: 7c7698a654a7a0031f65b0ab0c1c4e438e95df60 +X-next-at: 33f00ee1fdef3746fc261e8e25787a197c83334f Bcc: lwn@lwn.net, gitster@pobox.com -What's cooking in git.git (Dec 2025, #07) +What's cooking in git.git (Dec 2025, #08) ----------------------------------------- Here are the topics that have been cooking in my tree. Commits @@ -48,67 +48,217 @@ Release tarballs are available at: -------------------------------------------------- [Graduated to 'master'] -* jc/macports-darwinports (2025-12-10) 1 commit - (merged to 'next' on 2025-12-14 at 5c608e07fe) - + Makefile: help macOS novices by mentioning MacPorts +* ap/packfile-promisor-object-optim (2025-12-08) 2 commits + (merged to 'next' on 2025-12-18 at ee94076814) + + packfile: skip hash checks in add_promisor_object() + + object: apply skip_hash and discard_tree optimizations to unknown blobs too + + The code path that enumerates promisor objects have been optimized + to skip pointlessly parsing blob objects. + cf. + source: <20251209014900.402637-1-aplattner@nvidia.com> + + +* ds/doc-scalar-config (2025-12-12) 5 commits + (merged to 'next' on 2025-12-16 at 221721824f) + + scalar: document config settings + + scalar: alphabetize and simplify config + + scalar: remove stale config values + + scalar: use index.skipHash=true for performance + + scalar: annotate config file with "set by scalar" + + Documentation updates. + source: - Makefile in-comment doc update. - source: +* ja/doc-misc-fixes (2025-12-19) 2 commits + (merged to 'next' on 2025-12-20 at 2dafdb9732) + + doc: correct minor wording issues + + doc: fix asciidoc markup issues in several files + + Various documentation fixes. + source: -* kh/doc-replay-updates (2025-12-13) 3 commits - (merged to 'next' on 2025-12-14 at 71a8f83876) - + doc: replay: link section using markup - + replay: improve --contained and add to doc - + doc: replay: mention no output on conflicts - "git replay" documentation updates. - source: +* jc/c99-fam (2025-12-12) 1 commit + (merged to 'next' on 2025-12-18 at c11ebcf075) + + FLEX_ARRAY: require platforms to support the C99 syntax + Require C99 style flexible array member support from all platforms. + source: -* kj/pull-options-decl-cleanup (2025-12-11) 1 commit - (merged to 'next' on 2025-12-14 at f59cad1d37) - + pull: move options[] array into function scope - Code clean-up. - source: <20251212074433.38027-1-jayatheerthkulkarni2005@gmail.com> +* jc/completion-no-single-letter-options (2025-12-06) 1 commit + (merged to 'next' on 2025-12-17 at d8ae4b5ac4) + + completion: clarify support for short options and arguments + + In-code comment update to clarify that single-letter options are + outside of the scope of command line completion script. + source: + + +* jc/doc-commit-signoff-config (2025-12-19) 2 commits + (merged to 'next' on 2025-12-19 at 0814c687bb) + + signoff-option: linkify the reference to gitfaq + (merged to 'next' on 2025-12-18 at 27c9ad156c) + + commit: document that $command.signoff will not be added + + Documentation update. + source: + + +* jc/memzero-array (2025-12-12) 3 commits + (merged to 'next' on 2025-12-17 at 0dd398f0b4) + + cocci: use MEMZERO_ARRAY() a bit more + + coccicheck: emit the contents of cocci patch + + Merge branch 'tc/memzero-array' into jc/memzero-array + (this branch uses tc/memzero-array.) + + Further application of MEMZERO_ARRAY() macro to the rest of the + code base. + source: <20251213014628.3380826-1-gitster@pobox.com> + + +* jc/submodule-add (2025-11-15) 1 commit + (merged to 'next' on 2025-12-17 at 03e0b0b5d9) + + submodule add: sanity check existing .gitmodules + + "git submodule add" to add a submodule under segfaulted, + when a submodule..something is already in .gitmodules file + without defining where its submodule..path is, which has been + corrected. + source: -* ps/odb-alternates-object-sources (2025-12-11) 8 commits - (merged to 'next' on 2025-12-12 at 1dd061c0dc) - + odb: write alternates via sources - + odb: read alternates via sources - + odb: drop forward declaration of `read_info_alternates()` - + odb: remove mutual recursion when parsing alternates - + odb: stop splitting alternate in `odb_add_to_alternates_file()` - + odb: move computation of normalized objdir into `alt_odb_usable()` - + odb: resolve relative alternative paths when parsing - + odb: refactor parsing of alternates to be self-contained +* kn/fix-fetch-backfill-tag-with-batched-ref-updates (2025-11-21) 3 commits + (merged to 'next' on 2025-12-17 at 3955b0be68) + + fetch: fix failed batched updates skipping operations + + fetch: fix non-conflicting tags not being committed + + fetch: extract out reference committing logic - Code refactoring around alternate object store. - source: <20251211-b4-pks-odb-alternates-via-source-v3-0-00e3f54d07ba@pks.im> + "git fetch" that involves fetching tags, when a tag being fetched + needs to overwrite existing one, failed to fetch other tags, which + has been corrected. + source: <20251121-fix-tags-not-fetching-v8-0-23b53a8a8334@gmail.com> -* rs/replay-wrong-onto-fix (2025-12-11) 2 commits - (merged to 'next' on 2025-12-14 at d34966465f) - + replay: move onto NULL check before first use - + Merge branch 'sa/replay-atomic-ref-updates' into rs/replay-wrong-onto-fix +* rs/diff-files-r-find-copies-fix (2025-12-14) 2 commits + (merged to 'next' on 2025-12-17 at 2c9d72ec4b) + + diff-files: fix copy detection + + Merge branch 'rs/diff-index-find-copies-harder-optim' into rs/diff-files-r-find-copies-fix - "git replay --onto= ...", when is mistyped, - started to segfault with recent change, which has been corrected. - source: <9db2b913-b5d6-4617-b079-b4612eaa2b97@web.de> + "git diff-files -R --find-copies-harder" has been taught to use + the potential copy sources from the index correctly. + source: <4b06a448-0935-4f2a-9061-238c7cc800c3@web.de> -* rs/t4014-git-version-string-fix (2025-12-13) 1 commit - (merged to 'next' on 2025-12-14 at eef802176c) - + t4014: support Git version strings with spaces +* tc/memzero-array (2025-12-10) 3 commits + (merged to 'next' on 2025-12-17 at 4d2f7755b5) + + contrib/coccinelle: pass include paths to spatch(1) + + git-compat-util: introduce MEMZERO_ARRAY() macro + + Merge branch 'tc/last-modified-active-paths-optimization' into tc/memzero-array + (this branch is used by jc/memzero-array.) - Test fix. - source: + MEMZERO_ARRAY() helper is introduced to avoid clearing only the + first N bytes of an N-element array whose elements are larger than + a byte. + cf. + source: <20251210-toon-cocci-memzero-v1-0-ae916a79065b@iotcl.com> -------------------------------------------------- [New Topics] +* kh/replay-invalid-onto-advance (2025-12-22) 2 commits + - t3650: add more regression tests for failure conditions + - replay: die descriptively when invalid commit-ish + + Test coverage of "git replay" has been improved. + + Expecting a rework on the bottom patch. + source: + + +* bc/checkout-error-message-fix (2025-12-24) 1 commit + (merged to 'next' on 2025-12-28 at d807c22e01) + + checkout: quote invalid treeish in error message + + Message fix. + + Will merge to 'master'. + source: <20251224203253.881129-1-sandals@crustytoothpaste.net> + + +* cc/lop-filter-auto (2025-12-23) 9 commits + - fetch-pack: wire up and enable auto filter logic + - promisor-remote: keep advertised filter in memory + - list-objects-filter-options: implement auto filter resolution + - 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. + + Comments? + source: <20251223111113.47473-1-christian.couder@gmail.com> + + +* rs/commit-stack (2025-12-24) 14 commits + - commit-reach: use commit_stack + - commit-graph: use commit_stack + - commit: add commit_stack_grow() + - shallow: use commit_stack + - pack-bitmap-write: use commit_stack + - commit: add commit_stack_init() + - test-reach: use commit_stack + - remote: use commit_stack for src_commits + - remote: use commit_stack for sent_tips + - remote: use commit_stack for local_commits + - name-rev: use commit_stack + - midx: use commit_stack + - log: use commit_stack + - revision: export commit_stack + + Code clean-up, unifying various hand-rolled "list of commit + objects" and use the commit_stack API. + + Will merge to 'next'? + source: <20251224170327.68049-1-l.s.r@web.de> + + +* rs/parse-config-expiry-simplify (2025-12-27) 1 commit + - config: use git_parse_int() in git_config_get_expiry_in_days() + + Code clean-up. + + Will merge to 'next'. + source: <1bd3c7f3-fcf6-4d8e-aa38-c15e3d51ce4c@web.de> + + +* rs/show-branch-prio-queue (2025-12-25) 1 commit + (merged to 'next' on 2025-12-28 at 99d21acd7b) + + show-branch: use prio_queue + + Code clean-up. + + Will merge to 'master'. + source: <70ed751e-fc3c-4cb4-a4fd-26094a9f622e@web.de> + + +* 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. + + Comments? + source: + +-------------------------------------------------- +[Cooking] + * sb/bundle-uri-without-uri (2025-12-19) 1 commit - bundle-uri: validate that bundle entries have a uri @@ -142,8 +292,6 @@ Release tarballs are available at: Will merge to 'next'? source: --------------------------------------------------- -[Cooking] * js/symlink-windows (2025-12-17) 19 commits - mingw: special-case index entries for symlinks with buggy size @@ -192,13 +340,14 @@ Release tarballs are available at: * jc/object-read-stream-fix (2025-12-17) 2 commits - - odb: do not use "blank" substitute for NULL - - Merge branch 'ps/object-read-stream' into jc/object-read-stream-fix + (merged to 'next' on 2025-12-23 at b26856ce64) + + odb: do not use "blank" substitute for NULL + + Merge branch 'ps/object-read-stream' into jc/object-read-stream-fix (this branch is used by ps/read-object-info-improvements.) Fix a performance regression in recently graduated topic. - Will merge to 'next'. + Will merge to 'master'. source: @@ -234,12 +383,13 @@ Release tarballs are available at: * jk/test-curl-updates (2025-12-18) 2 commits - - t5563: add missing end-of-line in HTTP header - - t5551: handle trailing slashes in expected cookies output + (merged to 'next' on 2025-12-23 at ef92594ee8) + + t5563: add missing end-of-line in HTTP header + + t5551: handle trailing slashes in expected cookies output Update HTTP tests to adjust for changes in curl 8.18.0 - Will merge to 'next'. + Will merge to 'master'. source: <20251218121120.GA3252258@coredump.intra.peff.net> @@ -285,17 +435,6 @@ Release tarballs are available at: source: -* ja/doc-misc-fixes (2025-12-19) 2 commits - (merged to 'next' on 2025-12-20 at 2dafdb9732) - + doc: correct minor wording issues - + doc: fix asciidoc markup issues in several files - - Various documentation fixes. - - Will merge to 'master'. - source: - - * jt/doc-rev-list-filter-provided-objects (2025-12-15) 1 commit (merged to 'next' on 2025-12-22 at 31970a567d) + docs: clarify git-rev-list(1) --filter behavior @@ -344,32 +483,6 @@ Release tarballs are available at: source: <20251112223722.376330-1-aplattner@nvidia.com> -* jc/memzero-array (2025-12-12) 3 commits - (merged to 'next' on 2025-12-17 at 0dd398f0b4) - + cocci: use MEMZERO_ARRAY() a bit more - + coccicheck: emit the contents of cocci patch - + Merge branch 'tc/memzero-array' into jc/memzero-array - (this branch uses tc/memzero-array.) - - Further application of MEMZERO_ARRAY() macro to the rest of the - code base. - - Will merge to 'master' together with the base topic. - source: <20251213014628.3380826-1-gitster@pobox.com> - - -* jc/doc-commit-signoff-config (2025-12-19) 2 commits - (merged to 'next' on 2025-12-19 at 0814c687bb) - + signoff-option: linkify the reference to gitfaq - (merged to 'next' on 2025-12-18 at 27c9ad156c) - + commit: document that $command.signoff will not be added - - Documentation update. - - Will merge to 'master'. - source: - - * ps/packfile-store-in-odb-source (2025-12-17) 12 commits - packfile: move MIDX into packfile store - packfile: refactor `find_pack_entry()` to work on the packfile store @@ -392,18 +505,6 @@ Release tarballs are available at: source: <20251218-b4-pks-pack-store-via-source-v2-0-62849007ce21@pks.im> -* rs/diff-files-r-find-copies-fix (2025-12-14) 2 commits - (merged to 'next' on 2025-12-17 at 2c9d72ec4b) - + diff-files: fix copy detection - + Merge branch 'rs/diff-index-find-copies-harder-optim' into rs/diff-files-r-find-copies-fix - - "git diff-files -R --find-copies-harder" has been taught to use - the potential copy sources from the index correctly. - - Will merge to 'master'. - source: <4b06a448-0935-4f2a-9061-238c7cc800c3@web.de> - - * jt/repo-struct-more-objinfo (2025-12-17) 7 commits (merged to 'next' on 2025-12-22 at d04904c31c) + builtin/repo: add object disk size info to structure table @@ -421,41 +522,16 @@ Release tarballs are available at: source: <20251217175404.37963-1-jltobler@gmail.com> -* jc/c99-fam (2025-12-12) 1 commit - (merged to 'next' on 2025-12-18 at c11ebcf075) - + FLEX_ARRAY: require platforms to support the C99 syntax - - Require C99 style flexible array member support from all platforms. - - Will merge to 'master'. - source: - - -* rs/macos-iconv-workaround (2025-12-16) 2 commits - - macOS: use iconv from Homebrew if present - - macOS: make Homebrew use configurable +* rs/macos-iconv-workaround (2025-12-24) 2 commits + (merged to 'next' on 2025-12-28 at 94ed776719) + + macOS: use iconv from Homebrew if needed and present + + macOS: make Homebrew use configurable Workaround the "iconv" shipped as part of macOS, which is broken handling stateful ISO/IEC 2022 encoded strings. - Comments? - source: <53690064-1c98-40e9-8b9a-7ba6bee63703@web.de> - - -* tc/memzero-array (2025-12-10) 3 commits - (merged to 'next' on 2025-12-17 at 4d2f7755b5) - + contrib/coccinelle: pass include paths to spatch(1) - + git-compat-util: introduce MEMZERO_ARRAY() macro - + Merge branch 'tc/last-modified-active-paths-optimization' into tc/memzero-array - (this branch is used by jc/memzero-array.) - - MEMZERO_ARRAY() helper is introduced to avoid clearing only the - first N bytes of an N-element array whose elements are larger than - a byte. - Will merge to 'master'. - cf. - source: <20251210-toon-cocci-memzero-v1-0-ae916a79065b@iotcl.com> + source: * lo/repo-info-keys (2025-12-09) 3 commits @@ -493,19 +569,6 @@ Release tarballs are available at: source: -* ap/packfile-promisor-object-optim (2025-12-08) 2 commits - (merged to 'next' on 2025-12-18 at ee94076814) - + packfile: skip hash checks in add_promisor_object() - + object: apply skip_hash and discard_tree optimizations to unknown blobs too - - The code path that enumerates promisor objects have been optimized - to skip pointlessly parsing blob objects. - - Will merge to 'master'. - cf. - source: <20251209014900.402637-1-aplattner@nvidia.com> - - * ps/odb-misc-fixes (2025-12-10) 3 commits - odb: properly close sources before freeing them - builtin/gc: fix condition for whether to write commit graphs @@ -565,17 +628,6 @@ Release tarballs are available at: source: -* jc/completion-no-single-letter-options (2025-12-06) 1 commit - (merged to 'next' on 2025-12-17 at d8ae4b5ac4) - + completion: clarify support for short options and arguments - - In-code comment update to clarify that single-letter options are - outside of the scope of command line completion script. - - Will merge to 'master'. - source: - - * jk/parse-int (2025-11-30) 5 commits - fsck: use parse_unsigned_from_buf() for parsing timestamp - cache-tree: use parse_int_from_buf() @@ -628,20 +680,6 @@ Release tarballs are available at: source: <20251126-toon-last-modified-zzzz-v1-0-608350df0caa@iotcl.com> -* ds/doc-scalar-config (2025-12-12) 5 commits - (merged to 'next' on 2025-12-16 at 221721824f) - + scalar: document config settings - + scalar: alphabetize and simplify config - + scalar: remove stale config values - + scalar: use index.skipHash=true for performance - + scalar: annotate config file with "set by scalar" - - Documentation updates. - - Will merge to 'master'. - source: - - * pw/replay-drop-empty (2025-12-18) 2 commits - replay: drop commits that become empty - Merge branch 'ps/history' into pw/replay-drop-empty @@ -693,33 +731,6 @@ Release tarballs are available at: source: -* jc/submodule-add (2025-11-15) 1 commit - (merged to 'next' on 2025-12-17 at 03e0b0b5d9) - + submodule add: sanity check existing .gitmodules - - "git submodule add" to add a submodule under segfaulted, - when a submodule..something is already in .gitmodules file - without defining where its submodule..path is, which has been - corrected. - - Will merge to 'master'. - source: - - -* kn/fix-fetch-backfill-tag-with-batched-ref-updates (2025-11-21) 3 commits - (merged to 'next' on 2025-12-17 at 3955b0be68) - + fetch: fix failed batched updates skipping operations - + fetch: fix non-conflicting tags not being committed - + fetch: extract out reference committing logic - - "git fetch" that involves fetching tags, when a tag being fetched - needs to overwrite existing one, failed to fetch other tags, which - has been corrected. - - Will merge to 'master'. - source: <20251121-fix-tags-not-fetching-v8-0-23b53a8a8334@gmail.com> - - * lc/rebase-trailer (2025-11-05) 4 commits - rebase: support --trailer - trailer: append trailers in-process and drop the fork to `interpret-trailers` @@ -767,25 +778,25 @@ Release tarballs are available at: source: <20251117221621.2863243-1-sandals@crustytoothpaste.net> -* ar/run-command-hook (2025-12-18) 11 commits - - receive-pack: convert receive hooks to hook API - - receive-pack: convert update hooks to new API - - hooks: allow callers to capture output - - run-command: allow capturing of collated output - - hook: allow overriding the ungroup option - - reference-transaction: use hook API instead of run-command - - transport: convert pre-push to hook API - - hook: convert 'post-rewrite' hook in sequencer.c to hook API - - hook: provide stdin via callback - - run-command: add stdin callback for parallelization - - run-command: add first helper for pp child states +* ar/run-command-hook (2025-12-26) 11 commits + (merged to 'next' on 2025-12-28 at 048cdffe21) + + receive-pack: convert receive hooks to hook API + + receive-pack: convert update hooks to new API + + hooks: allow callers to capture output + + run-command: allow capturing of collated output + + hook: allow overriding the ungroup option + + reference-transaction: use hook API instead of run-command + + transport: convert pre-push to hook API + + hook: convert 'post-rewrite' hook in sequencer.c to hook API + + hook: provide stdin via callback + + run-command: add stdin callback for parallelization + + run-command: add first helper for pp child states Use hook API to replace ad-hoc invocation of hook scripts with the run_command() API. - Will merge to 'next'? - cf. - source: <20251218171126.588066-1-adrian.ratiu@collabora.com> + Will merge to 'master'. + source: <20251226122334.16687-1-adrian.ratiu@collabora.com> * je/doc-reset (2025-12-18) 4 commits -- 2.47.3