]> git.ipfire.org Git - thirdparty/git.git/commitdiff
What's cooking (2026/03 #04)
authorJunio C Hamano <gitster@pobox.com>
Tue, 10 Mar 2026 00:09:13 +0000 (17:09 -0700)
committerJunio C Hamano <gitster@pobox.com>
Tue, 10 Mar 2026 00:09:13 +0000 (17:09 -0700)
whats-cooking.txt

index 4d7e9c137d0a365691a4d4a25de07de999569fb1..e143fd44ef593aca67c008b9216bcb0c277dae71 100644 (file)
@@ -1,10 +1,10 @@
 To: git@vger.kernel.org
-Subject: What's cooking in git.git (Mar 2026, #03)
-X-master-at: 795c338de725e13bd361214c6b768019fc45a2c1
-X-next-at: a537e3e6e998710bf15ee05bf0cd02a122d54b8c
+Subject: What's cooking in git.git (Mar 2026, #04)
+X-master-at: d181b9354cf85b44455ce3ca9e6af0b9559e0ae2
+X-next-at: 73c4285caafcaa6db0c01cd8b6ce64c8c908be84
 Bcc: lwn@lwn.net, gitster@pobox.com
 
-What's cooking in git.git (Mar 2026, #03)
+What's cooking in git.git (Mar 2026, #04)
 -----------------------------------------
 
 Here are the topics that have been cooking in my tree.  Commits
@@ -50,42 +50,195 @@ Release tarballs are available at:
 --------------------------------------------------
 [Graduated to 'master']
 
-* ob/core-attributesfile-in-repository (2026-02-16) 3 commits
-  (merged to 'next' on 2026-02-27 at 2b2e3a1fa9)
- + environment: move "branch.autoSetupMerge" into `struct repo_config_values`
- + environment: stop using core.sparseCheckout globally
- + environment: stop storing `core.attributesFile` globally
+* ar/run-command-hook-take-2 (2026-03-02) 13 commits
+  (merged to 'next' on 2026-03-02 at f5aabac117)
+ + builtin/receive-pack: avoid spinning no-op sideband async threads
+  (merged to 'next' on 2026-02-22 at 4aa543f115)
+ + receive-pack: convert receive hooks to hook API
+ + receive-pack: convert update hooks to new API
+ + run-command: poll child input in addition to output
+ + hook: add jobs option
+ + reference-transaction: use hook API instead of run-command
+ + transport: convert pre-push to hook API
+ + hook: allow separate std[out|err] streams
+ + 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 helper for pp child states
+ + t1800: add hook output stream tests
+ (this branch is used by ar/config-hooks and ar/parallel-hooks.)
+
+ Use the hook API to replace ad-hoc invocation of hook scripts via
+ the run_command() API.
+ source: <20260128213927.3026875-1-adrian.ratiu@collabora.com>
+ source: <20260302191704.1814567-1-adrian.ratiu@collabora.com>
+
+
+* cs/add-skip-submodule-ignore-all (2026-02-06) 5 commits
+  (merged to 'next' on 2026-03-02 at c7251cc68f)
+ + Documentation: update add --force option + ignore=all config
+ + tests: fix existing tests when add an ignore=all submodule
+ + tests: t2206-add-submodule-ignored: ignore=all and add --force tests
+ + read-cache: submodule add need --force given ignore=all configuration
+ + read-cache: update add_files_to_cache take param ignored_too
 
- The core.attributesfile is intended to be set per repository, but
- were kept track of by a single global variable in-core, which has
been corrected by moving it to per-repository data structure.
- cf. <CAP8UFD2Rz3NMrTayi9yjRk4-51tStaLWKeBVB9RaJMWmiBLqrQ@mail.gmail.com>
- source: <cover.1771258573.git.belkid98@gmail.com>
+ "git add <submodule>" has been taught to honor
+ submodule.<name>.ignore that is set to "all" (and requires "git add
-f" to override it).
+ cf. <xmqq5x7rvyn4.fsf@gitster.g>
+ source: <pull.1987.v4.git.1770384180.gitgitgadget@gmail.com>
 
 
-* ps/fsck-stream-from-the-right-object-instance (2026-02-23) 4 commits
-  (merged to 'next' on 2026-02-27 at b378558c1a)
- + pack-check: fix verification of large objects
- + packfile: expose function to read object stream for an offset
- + object-file: adapt `stream_object_signature()` to take a stream
- + t/helper: improve "genrandom" test helper
+* jk/repo-structure-cleanup (2026-02-23) 1 commit
+  (merged to 'next' on 2026-03-02 at e1647839fa)
+ + repo: remove unnecessary variable shadow
 
- "fsck" iterates over packfiles and its access to pack data caused
- 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.
- source: <20260223-pks-fsck-fix-v2-0-99a0714ea3bd@pks.im>
+ Code clean-up.
+ source: <20260223135248.127935-1-jayatheerthkulkarni2005@gmail.com>
 
 
-* pt/t7527-flake-workaround (2025-12-31) 1 commit
-  (merged to 'next' on 2026-02-27 at d6ebc97cb1)
- + t7527: fix flaky fsmonitor event tests with retry logic
+* lp/diff-stat-utf8-display-width-fix (2026-02-27) 2 commits
+  (merged to 'next' on 2026-03-02 at b979797314)
+ + t4052: test for diffstat width when prefix contains ANSI escape codes
+ + diff: handle ANSI escape codes in prefix when calculating diffstat width
+
+ "git log --graph --stat" did not count the display width of colored
+ graph part of its own output correctly, which has been corrected.
+ source: <cover.1772226209.git.lorenzo.pegorari2002@gmail.com>
+
+
+* ps/refs-for-each (2026-02-23) 18 commits
+  (merged to 'next' on 2026-02-27 at ec9e0a36ff)
+ + refs: replace `refs_for_each_fullref_in()`
+ + refs: replace `refs_for_each_namespaced_ref()`
+ + refs: replace `refs_for_each_glob_ref()`
+ + refs: replace `refs_for_each_glob_ref_in()`
+ + refs: replace `refs_for_each_rawref_in()`
+ + refs: replace `refs_for_each_rawref()`
+ + refs: replace `refs_for_each_ref_in()`
+ + refs: improve verification for-each-ref options
+ + refs: generalize `refs_for_each_fullref_in_prefixes()`
+ + refs: generalize `refs_for_each_namespaced_ref()`
+ + refs: speed up `refs_for_each_glob_ref_in()`
+ + refs: introduce `refs_for_each_ref_ext`
+ + refs: rename `each_ref_fn`
+ + refs: rename `do_for_each_ref_flags`
+ + refs: move `do_for_each_ref_flags` further up
+ + refs: move `refs_head_ref_namespaced()`
+ + refs: remove unused `refs_for_each_include_root_ref()`
+ + Merge branch 'ps/for-each-ref-in-fixes' into ps/refs-for-each
 
- Test fixup.
- source: <pull.2150.v2.git.git.1767226763360.gitgitgadget@gmail.com>
+ Code refactoring around refs-for-each-* API functions.
+ cf. <CAOLa=ZTz-9JKHC3H8tSwP=bDvX2mNA-erjr5Ni6Tiq4cm4WmLg@mail.gmail.com>
+ source: <20260223-pks-refs-for-each-unification-v2-0-515d48c8087b@pks.im>
 
 --------------------------------------------------
 [New Topics]
 
+* mm/line-log-use-standard-diff-output (2026-03-06) 4 commits
+ - doc: note that -L supports patch formatting and pickaxe options
+ - t4211: add tests for -L with standard diff options
+ - line-log: route -L output through the standard diff pipeline
+ - line-log: fix crash when combined with pickaxe options
+
+ The way "git log -L<range>:<file>" feature is bolted onto the
+ log/diff machinery is being reworked a bit to make the feature
+ compatible with more diff options, like -S/G.
+
+ Needs review.
+ source: <pull.2065.git.1772845338.gitgitgadget@gmail.com>
+
+
+* os/doc-git-custom-commands (2026-03-07) 1 commit
+  (merged to 'next' on 2026-03-09 at 5cabe3db39)
+ + doc: make it easier to find custom command information
+
+ Doc update.
+
+ Will merge to 'master'.
+ source: <pull.2225.git.git.1772903281929.gitgitgadget@gmail.com>
+
+
+* ar/config-hook-cleanups (2026-03-08) 11 commits
+ - hook: show disabled hooks in "git hook list"
+ - hook: show config scope in git hook list
+ - hook: refactor hook_config_cache from strmap to named struct
+ - t1800: add test to verify hook execution ordering
+ - hook: make consistent use of friendly-name in docs
+ - hook: replace hook_list_clear() -> string_list_clear_func()
+ - hook: detect & emit two more bugs
+ - hook: rename cb_data_free/alloc -> hook_data_free/alloc
+ - hook: fix minor style issues
+ - hook: move unsorted_string_list_remove() to string-list.[ch]
+ - Merge branch 'ar/config-hooks' into ar/config-hook-cleanups
+ (this branch is used by ar/parallel-hooks; uses ar/config-hooks.)
+
+ Code clean-up around the recent "hooks defined in config" topic.
+
+ Will merge to 'next'?
+ source: <20260309005416.2760030-1-adrian.ratiu@collabora.com>
+
+
+* cf/constness-fixes (2026-03-08) 2 commits
+ - dir: avoid -Wdiscarded-qualifiers in remove_path()
+ - bloom: remove a misleading const qualifier
+
+ Small code clean-up around constness area.
+
+ Will merge to 'next'?
+ source: <3ad40c3d0762c2e8c14792dfb68cba9f63a883a3.1773026586.git.collin.funk1@gmail.com>
+
+
+* dd/list-objects-filter-options-wo-strbuf-split (2026-03-08) 2 commits
+ - list-objects-filter-options: avoid strbuf_split_str()
+ - worktree: do not pass strbuf by value
+
+ Revamp the way combined option filter is parsed.
+
+ Expecting a reroll?
+ cf. <20260309190823.GB309867@coredump.intra.peff.net>
+ source: <20260308180359.31188-1-deveshigurgaon@gmail.com>
+
+
+* jc/doc-wholesale-replace-before-next (2026-03-09) 1 commit
+ - SubmittingPatches: spell out "replace fully to pretend to be perfect"
+
+ Doc update.
+
+ Will merge to 'next'?
+ source: <xmqq34283b12.fsf@gitster.g>
+
+
+* ps/t9200-test-path-is-helpers (2026-03-09) 1 commit
+ - t9200: replace test -f/-d with modern path helpers
+
+ Test update.
+
+ Will merge to 'next'.
+ source: <20260309230134.758107-1-pabloosabaterr@gmail.com>
+
+
+* rs/history-ergonomics-updates-fix (2026-03-08) 1 commit
+ - history: initialize rev_info in cmd_history_reword()
+
+ Fix use of uninitialized variable.
+
+ Will merge to 'next'.
+ source: <b0b8633f-be95-48eb-8244-d0e3f1a7be72@web.de>
+
+
+* ty/patch-ids-document-lazy-eval (2026-03-08) 1 commit
+ - patch-ids: document intentional const-casting in patch_id_neq()
+
+ In-code comment update to record a design decision to allow lazy
+ computation of patch IDs.
+
+ Will merge to 'next'.
+ source: <20260309065140.108644-1-cat@malon.dev>
+
+--------------------------------------------------
+[Cooking]
+
 * ab/clone-default-object-filter (2026-03-06) 1 commit
  - clone: add clone.<url>.defaultObjectFilter config
 
@@ -184,32 +337,33 @@ Release tarballs are available at:
  source: <20260305-cs-subtree-split-recursion-v2-0-7266be870ba9@howdoi.land>
 
 
-* fp/t3310-unhide-git-failures (2026-03-05) 1 commit
- - t3310: avoid hiding failures from rev-parse in command substitutions
+* fp/t3310-unhide-git-failures (2026-03-07) 1 commit
+  (merged to 'next' on 2026-03-09 at edd6c35bb8)
+ + t3310: avoid hiding failures from rev-parse in command substitutions
 
  The construct 'test "$(command)" = expectation' loses the exit
  status from the command, which has been fixed by breaking up the
  statement into pieces.
 
- Will merge to 'next'.
- source: <20260305225128.54283-1-francescopaparatto@gmail.com>
+ Will merge to 'master'.
+ source: <20260307103631.89829-1-francescopaparatto@gmail.com>
 
 
-* jk/unleak-mmap (2026-03-06) 5 commits
+* jk/unleak-mmap (2026-03-06) 6 commits
  - meson: turn on NO_MMAP when building with LSan
  - Makefile: turn on NO_MMAP when building with LSan
+ - object-file: fix mmap() leak in odb_source_loose_read_object_stream()
  - pack-revindex: avoid double-loading .rev files
  - check_connected(): fix leak of pack-index mmap
  - check_connected(): delay opening new_pack
 
  Plug a few leaks where mmap'ed memory regions are not unmapped.
 
- Will merge to 'next'?
+ Will merge to 'next'.
  source: <20260305230315.GA2354983@coredump.intra.peff.net>
  source: <796110ee-d795-4445-9d82-7026370a88cf@intel.com>
+ source: <20260307022459.GA693632@coredump.intra.peff.net>
 
---------------------------------------------------
-[Cooking]
 
 * kj/path-micro-code-cleanup (2026-03-04) 3 commits
   (merged to 'next' on 2026-03-04 at 569091027c)
@@ -349,28 +503,6 @@ Release tarballs are available at:
  source: <20260302192627.83631-1-r.siddharth.shrimali@gmail.com>
 
 
-* jk/repo-structure-cleanup (2026-02-23) 1 commit
-  (merged to 'next' on 2026-03-02 at e1647839fa)
- + repo: remove unnecessary variable shadow
-
- Code clean-up.
-
- Will merge to 'master'.
- source: <20260223135248.127935-1-jayatheerthkulkarni2005@gmail.com>
-
-
-* lp/diff-stat-utf8-display-width-fix (2026-02-27) 2 commits
-  (merged to 'next' on 2026-03-02 at b979797314)
- + t4052: test for diffstat width when prefix contains ANSI escape codes
- + diff: handle ANSI escape codes in prefix when calculating diffstat width
-
- "git log --graph --stat" did not count the display width of colored
- graph part of its own output correctly, which has been corrected.
-
- Will merge to 'master'.
- source: <cover.1772226209.git.lorenzo.pegorari2002@gmail.com>
-
-
 * ps/upload-pack-buffer-more-writes (2026-03-03) 10 commits
  - builtin/pack-objects: reduce lock contention when writing packfile data
  - csum-file: drop `hashfd_throughput()`
@@ -406,17 +538,18 @@ Release tarballs are available at:
 
 
 * jt/repo-structure-extrema (2026-03-02) 6 commits
- - builtin/repo: find tree with most entries
- - builtin/repo: find commit with most parents
- - builtin/repo: add OID annotations to table output
- - builtin/repo: collect largest inflated objects
- - builtin/repo: add helper for printing keyvalue output
- - builtin/repo: update stats for each object
+  (merged to 'next' on 2026-03-09 at 8ccfebc0b1)
+ + builtin/repo: find tree with most entries
+ + builtin/repo: find commit with most parents
+ + builtin/repo: add OID annotations to table output
+ + builtin/repo: collect largest inflated objects
+ + builtin/repo: add helper for printing keyvalue output
+ + builtin/repo: update stats for each object
 
  "git repo structure" command learns to report maximum values on
  various aspects of objects it inspects.
 
- Will merge to 'next'.
+ Will merge to 'master'.
  source: <20260302214526.2034279-1-jltobler@gmail.com>
 
 
@@ -494,20 +627,21 @@ Release tarballs are available at:
  source: <cover.1772808594.git.phillip.wood@dunelm.org.uk>
 
 
-* mf/format-patch-cover-letter-format (2026-02-27) 5 commits
- - docs: add usage for the cover-letter fmt feature
- - format-patch: add commitListFormat config
- - format-patch: add ability to use alt cover format
- - format-patch: move cover letter summary generation
- - pretty.c: add %(count) and %(total) placeholders
+* mf/format-patch-cover-letter-format (2026-03-06) 5 commits
+  (merged to 'next' on 2026-03-09 at e872adca7b)
+ + docs: add usage for the cover-letter fmt feature
+ + format-patch: add commitListFormat config
+ + format-patch: add ability to use alt cover format
+ + format-patch: move cover letter summary generation
+ + pretty.c: add %(count) and %(total) placeholders
 
  "git format-patch --cover-letter" learns to use a simpler format
  instead of the traditional shortlog format to list its commits with
  a new --cover-letter-format option and format.commitListFormat
  configuration variable.
 
- Will merge to 'next'.
- source: <cover.1772232373.git.mroik@delayed.space>
+ Will merge to 'master'.
+ source: <cover.1772839973.git.mroik@delayed.space>
 
 
 * sp/send-email-validate-charset (2026-02-28) 1 commit
@@ -562,7 +696,7 @@ Release tarballs are available at:
  directory.  The code has been tightened to notice and report
  filesystem corruption better.
 
- Will merge to 'next'?
+ Will merge to 'next'.
  source: <20260304141526.37764-1-a3205153416@gmail.com>
 
 
@@ -591,34 +725,6 @@ Release tarballs are available at:
  source: <20260302032048.260209-2-dxdt@dev.snart.me>
 
 
-* ps/refs-for-each (2026-02-23) 18 commits
-  (merged to 'next' on 2026-02-27 at ec9e0a36ff)
- + refs: replace `refs_for_each_fullref_in()`
- + refs: replace `refs_for_each_namespaced_ref()`
- + refs: replace `refs_for_each_glob_ref()`
- + refs: replace `refs_for_each_glob_ref_in()`
- + refs: replace `refs_for_each_rawref_in()`
- + refs: replace `refs_for_each_rawref()`
- + refs: replace `refs_for_each_ref_in()`
- + refs: improve verification for-each-ref options
- + refs: generalize `refs_for_each_fullref_in_prefixes()`
- + refs: generalize `refs_for_each_namespaced_ref()`
- + refs: speed up `refs_for_each_glob_ref_in()`
- + refs: introduce `refs_for_each_ref_ext`
- + refs: rename `each_ref_fn`
- + refs: rename `do_for_each_ref_flags`
- + refs: move `do_for_each_ref_flags` further up
- + refs: move `refs_head_ref_namespaced()`
- + refs: remove unused `refs_for_each_include_root_ref()`
- + Merge branch 'ps/for-each-ref-in-fixes' into ps/refs-for-each
-
- Code refactoring around refs-for-each-* API functions.
-
- Will merge to 'master'.
- cf. <CAOLa=ZTz-9JKHC3H8tSwP=bDvX2mNA-erjr5Ni6Tiq4cm4WmLg@mail.gmail.com>
- source: <20260223-pks-refs-for-each-unification-v2-0-515d48c8087b@pks.im>
-
-
 * sa/replay-revert (2026-02-18) 2 commits
  - replay: add --revert mode to reverse commit changes
  - sequencer: extract revert message formatting into shared function
@@ -635,14 +741,15 @@ Release tarballs are available at:
 
 
 * sp/wt-status-wo-the-repository (2026-02-18) 3 commits
- - wt-status: use hash_algo from local repository instead of global the_hash_algo
- - wt-status: replace uses of the_repository with local repository instances
- - wt-status: pass struct repository through function parameters
+  (merged to 'next' on 2026-03-09 at 2e99d5ed52)
+ + wt-status: use hash_algo from local repository instead of global the_hash_algo
+ + wt-status: replace uses of the_repository with local repository instances
+ + wt-status: pass struct repository through function parameters
 
  Reduce dependence on the global the_hash_algo and the_repository
  variables of wt-status code path.
 
- Will merge to 'next'.
+ Will merge to 'master'.
  source: <20260218175654.66004-1-shreyanshpaliwalcmsmn@gmail.com>
 
 
@@ -672,7 +779,7 @@ Release tarballs are available at:
  + hook: run a list of hooks to prepare for multihook support
  + hook: add internal state alloc/free callbacks
  + Merge branch 'ar/run-command-hook-take-2' into ar/config-hooks
- (this branch is used by ar/parallel-hooks; uses ar/run-command-hook-take-2.)
+ (this branch is used by ar/config-hook-cleanups and ar/parallel-hooks.)
 
  Allow hook commands to be defined (possibly centrally) in the
  configuration files, and run multiple of them for the same hook
@@ -682,7 +789,7 @@ Release tarballs are available at:
  source: <20260218222352.55393-1-adrian.ratiu@collabora.com>
 
 
-* ar/parallel-hooks (2026-02-21) 11 commits
+* ar/parallel-hooks (2026-03-09) 10 commits
  - hook: allow runtime enabling extensions.hookStdoutToStderr
  - hook: introduce extensions.hookStdoutToStderr
  - hook: add per-event jobs config
@@ -690,14 +797,13 @@ Release tarballs are available at:
  - hook: mark non-parallelizable hooks
  - hook: allow parallel hook execution
  - hook: parse the hook.jobs config
- - hook: refactor hook_config_cache from strmap to named struct
  - config: add a repo_config_get_uint() helper
  - repository: fix repo_init() memleak due to missing _clear()
- - Merge branch 'ar/config-hooks' into ar/parallel-hooks
- (this branch uses ar/config-hooks and ar/run-command-hook-take-2.)
+ - Merge branch 'ar/config-hook-cleanups' into ar/parallel-hooks
+ (this branch uses ar/config-hook-cleanups and ar/config-hooks.)
 
  Needs review.
- source: <20260222002904.1879356-1-adrian.ratiu@collabora.com>
+ source: <20260309133739.294555-1-adrian.ratiu@collabora.com>
 
 
 * ng/submodule-default-remote (2026-03-03) 1 commit
@@ -710,32 +816,6 @@ Release tarballs are available at:
  source: <20260303234044.105157-1-nasser.grainawi@oss.qualcomm.com>
 
 
-* ar/run-command-hook-take-2 (2026-03-02) 13 commits
-  (merged to 'next' on 2026-03-02 at f5aabac117)
- + builtin/receive-pack: avoid spinning no-op sideband async threads
-  (merged to 'next' on 2026-02-22 at 4aa543f115)
- + receive-pack: convert receive hooks to hook API
- + receive-pack: convert update hooks to new API
- + run-command: poll child input in addition to output
- + hook: add jobs option
- + reference-transaction: use hook API instead of run-command
- + transport: convert pre-push to hook API
- + hook: allow separate std[out|err] streams
- + 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 helper for pp child states
- + t1800: add hook output stream tests
- (this branch is used by ar/config-hooks and ar/parallel-hooks.)
-
- Use the hook API to replace ad-hoc invocation of hook scripts via
- the run_command() API.
-
- Will merge to 'master'.
- source: <20260128213927.3026875-1-adrian.ratiu@collabora.com>
- source: <20260302191704.1814567-1-adrian.ratiu@collabora.com>
-
-
 * yc/histogram-hunk-shift-fix (2026-03-02) 1 commit
  - xdiff: re-diff shifted change groups when using histogram algorithm
 
@@ -746,23 +826,6 @@ Release tarballs are available at:
  source: <pull.2120.v2.git.git.1772463265865.gitgitgadget@gmail.com>
 
 
-* cs/add-skip-submodule-ignore-all (2026-02-06) 5 commits
-  (merged to 'next' on 2026-03-02 at c7251cc68f)
- + Documentation: update add --force option + ignore=all config
- + tests: fix existing tests when add an ignore=all submodule
- + tests: t2206-add-submodule-ignored: ignore=all and add --force tests
- + read-cache: submodule add need --force given ignore=all configuration
- + read-cache: update add_files_to_cache take param ignored_too
-
- "git add <submodule>" has been taught to honor
- submodule.<name>.ignore that is set to "all" (and requires "git add
- -f" to override it).
-
- Will merge to 'master'.
- cf. <xmqq5x7rvyn4.fsf@gitster.g>
- source: <pull.1987.v4.git.1770384180.gitgitgadget@gmail.com>
-
-
 * en/xdiff-cleanup-3 (2026-01-03) 11 commits
  . SQUASH??? cocci
  . xdiff: move xdl_cleanup_records() from xprepare.c to xdiffi.c