From: Junio C Hamano Date: Thu, 19 Mar 2026 20:35:59 +0000 (-0700) Subject: What's cooking (2026/03 #07) X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=58938c15a650a5a9e964d90d873939be35362346;p=thirdparty%2Fgit.git What's cooking (2026/03 #07) --- diff --git a/whats-cooking.txt b/whats-cooking.txt index 07f0a14770..36b84ce85e 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 (Mar 2026, #06) -X-master-at: ca1db8a0f7dc0dbea892e99f5b37c5fe5861be71 -X-next-at: 0bb29b3bc592338d0db506b4bb84c8f3f11e7095 +Subject: What's cooking in git.git (Mar 2026, #07) +X-master-at: 7ff1e8dc1e1680510c96e69965b3fa81372c5037 +X-next-at: 1eceb487f285f1efa78465e6208770318f9f4892 Bcc: lwn@lwn.net, gitster@pobox.com -What's cooking in git.git (Mar 2026, #06) +What's cooking in git.git (Mar 2026, #07) ----------------------------------------- Here are the topics that have been cooking in my tree. Commits @@ -48,181 +48,318 @@ Release tarballs are available at: -------------------------------------------------- [Graduated to 'master'] -* ds/for-each-repo-w-worktree (2026-03-03) 4 commits - (merged to 'next' on 2026-03-06 at 3886f0d054) - + for-each-repo: simplify passing of parameters - + for-each-repo: work correctly in a worktree - + run-command: extract sanitize_repo_env helper - + for-each-repo: test outside of repo context +* bk/run-command-wo-the-repository (2026-03-12) 2 commits + (merged to 'next' on 2026-03-12 at 61ffe62b75) + + run-command: wean auto_maintenance() functions off the_repository + + run-command: wean start_command() off the_repository + + The run_command() API lost its implicit dependencyon the singleton + `the_repository` instance. + source: <20260312144437.626392-1-bkkaracay@gmail.com> + + +* dd/list-objects-filter-options-wo-strbuf-split (2026-03-11) 2 commits + (merged to 'next' on 2026-03-12 at 99c4dbd03e) + + list-objects-filter-options: avoid strbuf_split_str() + + worktree: do not pass strbuf by value + (this branch is used by dd/cocci-do-not-pass-strbuf-by-value.) + + The way combined list-object filter options are parsed has been + revamped. + source: <20260311173336.8395-1-deveshigurgaon@gmail.com> - "git for-each-repo" started from a secondary worktree did not work - as expected, which has been corrected. - source: +* jc/doc-wholesale-replace-before-next (2026-03-09) 1 commit + (merged to 'next' on 2026-03-13 at 19ca350c9b) + + SubmittingPatches: spell out "replace fully to pretend to be perfect" -* 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 + Doc update. + source: + + +* lc/rebase-trailer (2026-03-06) 6 commits + (merged to 'next' on 2026-03-13 at 75c22b6b26) + + rebase: support --trailer + + commit, tag: parse --trailer with OPT_STRVEC + + trailer: append trailers without fork/exec + + trailer: libify a couple of functions + + interpret-trailers: refactor create_in_place_tempfile() + + interpret-trailers: factor trailer rewriting + + "git rebase" learns "--trailer" command to drive the + interpret-trailers machinery. + source: + + +* ps/editorconfig-unanchor (2026-03-11) 1 commit + (merged to 'next' on 2026-03-12 at 39ef732ca9) + + editorconfig: fix style not applying to subdirs anymore - The construct 'test "$(command)" = expectation' loses the exit - status from the command, which has been fixed by breaking up the - statement into pieces. - source: <20260307103631.89829-1-francescopaparatto@gmail.com> + Editorconfig filename patterns were specified incorrectly, making + many source files inside subdirectories unaffected, which has been + corrected. + source: <20260311-b4-pks-editorconfig-fix-subdirs-v1-1-4938193ccd31@pks.im> -* hn/status-compare-with-push (2026-03-04) 4 commits - (merged to 'next' on 2026-03-06 at 7c5ad405d7) - + status: clarify how status.compareBranches deduplicates - (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 +* ps/t9200-test-path-is-helpers (2026-03-12) 2 commits + (merged to 'next' on 2026-03-12 at 8500bdf172) + + t9200: replace test -f with modern path helper + + t9200: handle missing CVS with skip_all - "git status" learned to show comparison between the current branch - and various other branches listed on status.compareBranches - configuration. - source: - source: + Test update. + source: <20260311194002.190195-1-pabloosabaterr@gmail.com> + source: <20260312173305.15112-1-pabloosabaterr@gmail.com> -* jk/unleak-mmap (2026-03-06) 6 commits - (merged to 'next' on 2026-03-10 at e169ff00b3) - + 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 +* ps/unit-test-c-escape-names.txt (2026-03-10) 1 commit + (merged to 'next' on 2026-03-13 at f545ea5a9c) + + test-lib: print escape sequence names - Plug a few leaks where mmap'ed memory regions are not unmapped. - source: <20260305230315.GA2354983@coredump.intra.peff.net> - source: <796110ee-d795-4445-9d82-7026370a88cf@intel.com> - source: <20260307022459.GA693632@coredump.intra.peff.net> + The unit test helper function was taught to use backslash + + mnemonic notation for certain control characters like "\t", instead + of octal notation like "\011". + source: <20260311031442.11942-1-pabloosabaterr@gmail.com> -* jt/repo-structure-extrema (2026-03-02) 6 commits - (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 +* ss/submodule--helper-use-xmalloc (2026-03-10) 1 commit + (merged to 'next' on 2026-03-13 at f13711965e) + + submodule--helper: replace malloc with xmalloc - "git repo structure" command learns to report maximum values on - various aspects of objects it inspects. - source: <20260302214526.2034279-1-jltobler@gmail.com> + Code clean-up. + source: <20260310164412.47403-1-r.siddharth.shrimali@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 +* ss/t3200-test-zero-oid (2026-03-11) 1 commit + (merged to 'next' on 2026-03-12 at 647ee3f2dc) + + t3200: replace hardcoded null OID with $ZERO_OID - Doc update. - source: - - -* ps/odb-sources (2026-03-05) 19 commits - (merged to 'next' on 2026-03-06 at 69fd3b792a) - + odb/source: make `begin_transaction()` function pluggable - + odb/source: make `write_alternate()` function pluggable - + odb/source: make `read_alternates()` function pluggable - + odb/source: make `write_object_stream()` function pluggable - + odb/source: make `write_object()` function pluggable - + odb/source: make `freshen_object()` function pluggable - + odb/source: make `for_each_object()` function pluggable - + odb/source: make `read_object_stream()` function pluggable - + odb/source: make `read_object_info()` function pluggable - + odb/source: make `close()` function pluggable - + odb/source: make `reprepare()` function pluggable - + odb/source: make `free()` function pluggable - + odb/source: introduce source type for robustness - + odb: move reparenting logic into respective subsystems - + odb: embed base source in the "files" backend - + odb: introduce "files" source - + odb: split `struct odb_source` into separate header - + Merge branch 'ps/object-info-bits-cleanup' into ps/odb-sources - + Merge branch 'ps/odb-for-each-object' into ps/odb-sources - (this branch is used by ps/object-counting.) - - The object source API is getting restructured to allow plugging new - backends. - source: <20260305-b4-pks-odb-source-pluggable-v2-0-3290bfd1f444@pks.im> - - -* rs/history-ergonomics-updates-fix (2026-03-08) 1 commit - (merged to 'next' on 2026-03-10 at 7d58650290) - + history: initialize rev_info in cmd_history_reword() - - Fix use of uninitialized variable. - source: - - -* sp/wt-status-wo-the-repository (2026-02-18) 3 commits - (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. - source: <20260218175654.66004-1-shreyanshpaliwalcmsmn@gmail.com> - - -* ty/patch-ids-document-lazy-eval (2026-03-08) 1 commit - (merged to 'next' on 2026-03-10 at c8be8d6f7e) - + 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. - source: <20260309065140.108644-1-cat@malon.dev> - - -* ty/setup-error-tightening (2026-03-04) 1 commit - (merged to 'next' on 2026-03-10 at 38268a7acc) - + setup: improve error diagnosis for invalid .git files - - While discovering a ".git" directory, the code treats any stat() - failure as a sign that a filesystem entity .git does not exist - there, and ignores ".git" that is not a "gitdir" file or a - directory. The code has been tightened to notice and report - filesystem corruption better. - source: <20260304141526.37764-1-a3205153416@gmail.com> + A test now uses the symbolic constant $ZERO_OID instead of 40 "0" to + work better with SHA-256 as well as SHA-1. + source: <20260311174120.76871-1-r.siddharth.shrimali@gmail.com> -------------------------------------------------- [New Topics] +* jc/whitespace-incomplete-line (2026-03-17) 1 commit + - apply: fix new-style empty context line triggering incomplete-line check + + Fix whitespace correction for new-style empty context lines. + + Needs review. + source: + + +* sp/add-patch-with-fewer-the-repository (2026-03-17) 1 commit + - add-patch: use repository instance from add_i_state instead of the_repository + + Reduce dependency on `the_repository` in add-patch.c file. + + Needs review. + source: <20260317155230.619378-1-shreyanshpaliwalcmsmn@gmail.com> + + +* ds/backfill-revs (2026-03-16) 5 commits + - path-walk: support wildcard pathspecs for blob filtering + - backfill: work with prefix pathspecs + - backfill: accept revision arguments + - t5620: prepare branched repo for revision tests + - revision: include object-name.h + + `git backfill` learned to accept revision and pathspec arguments. + + Needs review. + source: + + +* jw/t2203-status-pipe-fix (2026-03-16) 1 commit + - t2203: avoid suppressing git status exit code + + Test clean-up. + + Will merge to 'next'? + source: <20260317011544.65952-1-jerrywang183@yahoo.com> + + +* ps/commit-graph-overflow-fix (2026-03-17) 1 commit + - commit-graph: fix writing generations with dates exceeding 34 bits + + Fix a regression in writing the commit-graph where commits with dates + exceeding 34 bits (beyond year 2514) could cause an underflow and + crash Git during the generation data overflow chunk writing. + + Needs review. + source: <20260317-pks-commit-graph-overflow-v1-1-e6bee22cd826@pks.im> + + +* tc/replay-down-to-root (2026-03-17) 1 commit + - replay: support replaying down from root commit + + git replay now supports replaying down to the root commit. + + Needs review. + source: <20260317-toon-replay-down-to-root-v1-1-cb5c249e15fd@iotcl.com> + + +* mr/merge-file-object-id-worktree-fix (2026-03-10) 1 commit + - merge-file: fix BUG when --object-id is used in a worktree + + merge-file --object-id used to trigger a BUG when run in a linked + worktree, which has been fixed. + + Will merge to 'next'. + source: + + +* rs/prio-queue-to-commit-stack (2026-03-17) 1 commit + - use commit_stack instead of prio_queue in LIFO mode + + Uses of prio_queue as a LIFO stack of commits have been written + with commit_stack. + + Will merge to 'next'. + source: <05fc946f-6670-46e9-a058-231ee464029d@web.de> + + +* jw/object-name-bitset-to-enum (2026-03-18) 1 commit + - object-name: turn INTERPRET_BRANCH_* constants into enum values + + The unsigned integer that is used as an bitset to specify the kind + of branches interpret_branch_name() function has been changed to + use a dedicated enum type. + + Will merge to 'next'? + source: <20260318190942.22595-1-jerrywang183@yahoo.com> + + +* ai/t2107-test-path-is-helpers (2026-03-18) 1 commit + - t2107: modernize path existence check + + Test cleanup. + + Will merge to 'next'? + source: + + +* gi/doc-boolean-config-typofix (2026-03-18) 1 commit + - doc: add missing space on git-config page + + Doc typofix. + + Will merge to 'next'. + source: <20260318210020.759128-1-gabl@gabl.ink> + + +* ua/push-remote-group (2026-03-19) 3 commits + - fixup! push: support pushing to a remote group + - push: support pushing to a remote group + - remote: move remote group resolution to remote.c + + "git push" learned to take a "remote group" name to push to, which + causes pushes to multiple places, just like "git fetch" would do. + + Will merge to 'next' after squashing the fixup in? + source: <20260318204028.1010487-1-usmanakinyemi202@gmail.com> + + +* jc/rerere-modern-strbuf-handling (2026-03-19) 1 commit + - rerere: update to modern representation of empty strbufs + + Code clean-up overdue by 19 years. + + Will merge to 'next'. + source: + + +* ps/odb-generic-object-name-handling (2026-03-18) 15 commits + - odb: introduce generic `odb_find_abbrev_len()` + - object-file: move logic to compute packed abbreviation length + - object-name: move logic to compute loose abbreviation length + - object-name: simplify computing common prefixes + - object-name: abbreviate loose object names without `disambiguate_state` + - object-name: merge `update_candidates()` and `match_prefix()` + - object-name: backend-generic `get_short_oid()` + - object-name: backend-generic `repo_collect_ambiguous()` + - object-name: extract function to parse object ID prefixes + - object-name: move logic to iterate through packed prefixed objects + - object-name: move logic to iterate through loose prefixed objects + - odb: introduce `struct odb_for_each_object_options` + - oidtree: extend iteration to allow for arbitrary return codes + - oidtree: modernize the code a bit + - Merge branch 'ps/object-counting' into ps/odb-generic-object-name-handling + (this branch uses ps/object-counting.) + + Object name handling (disambiguation and abbreviation) has been + refactored to be backend-generic, moving logic into the respective + object database backends. + + Comments? + source: <20260319-b4-pks-odb-source-abbrev-v1-0-5ddebad292b0@pks.im> + + +* rs/ahead-behind-cleanup-optimization (2026-03-19) 1 commit + - commit-reach: simplify cleanup of remaining bitmaps in ahead_behind () + + The cleanup of remaining bitmaps in "ahead_behind()" has been + simplified. + + Will merge to 'next'. + source: <21adf042-2bd1-4022-8822-9ed4985122a4@web.de> + + +* bk/t5315-test-path-is-helpers (2026-03-19) 1 commit + - t5315: use test_path_is_file for loose-object check + + Test clean-up. + + Will merge to 'next'? + source: <20260319180803.164335-1-elkhatabibilal@gmail.com> + + +* rs/split-index-the-repo-fix (2026-03-19) 1 commit + - split-index: stop using the_repository and the_hash_algo + + split-index.c has been updated to not use the global the_repository + and the_hash_algo variables. + + Will merge to 'next'. + source: <944c2331-4dec-4c98-9059-f41dc204ed86@web.de> + +-------------------------------------------------- +[Cooking] + * aa/reap-transport-child-processes (2026-03-12) 1 commit - - transport-helper, connect: use clean_on_exit to reap children on abnormal exit + . transport-helper, connect: use clean_on_exit to reap children on abnormal exit A few code paths that spawned child processes for network connection weren't wait(2)ing for their children and letting "init" reap them instead; they have been tightened. - Will merge to 'next'? + CI failures on Windows in t0061.24? + cf. <20260318040423.GA2858991@coredump.intra.peff.net> source: <20260312214945.4050010-1-cshung@gmail.com> * ss/t0410-delete-object-cleanup (2026-03-12) 1 commit - - t0410: modernize delete_object helper + (merged to 'next' on 2026-03-17 at a8d41f4c1f) + + t0410: modernize delete_object helper Test clean-up. - Will merge to 'next'. - source: <20260313025852.30010-1-r.siddharth.shrimali@gmail.com> + Will merge to 'master'. + source: <20260313053159.36492-1-r.siddharth.shrimali@gmail.com> -* ej/ref-transaction-hook-preparing (2026-03-15) 1 commit +* ej/ref-transaction-hook-preparing (2026-03-16) 1 commit - refs: add 'preparing' phase to the reference-transaction hook The reference-transaction hook was taught to be triggered before taking locks on references in the "preparing" phase. - Comments? - source: <20260316045102.70551-2-eric.peijian@gmail.com> + Will merge to 'next'. + source: <20260317023624.43070-2-eric.peijian@gmail.com> -* hn/git-checkout-m-with-stash (2026-03-15) 4 commits +* hn/git-checkout-m-with-stash (2026-03-17) 4 commits - checkout: -m (--merge) uses autostash when switching branches - sequencer: teach autostash apply to take optional conflict marker labels - sequencer: allow create_autostash to run silently @@ -234,7 +371,7 @@ Release tarballs are available at: was taught to create a stash to save the local changes. Needs review. - source: + source: * kh/name-rev-custom-format (2026-03-13) 2 commits @@ -262,62 +399,68 @@ Release tarballs are available at: * dd/cocci-do-not-pass-strbuf-by-value (2026-03-15) 3 commits - - stash: do not pass strbuf by value - - coccinelle: detect struct strbuf passed by value - - Merge branch 'dd/list-objects-filter-options-wo-strbuf-split' into dd/cocci-do-not-pass-strbuf-by-value - (this branch uses dd/list-objects-filter-options-wo-strbuf-split.) + (merged to 'next' on 2026-03-18 at a2ffed1127) + + stash: do not pass strbuf by value + + coccinelle: detect struct strbuf passed by value + + Merge branch 'dd/list-objects-filter-options-wo-strbuf-split' into dd/cocci-do-not-pass-strbuf-by-value Add a coccinelle rule to break the build when "struct strbuf" gets passed by value. - Will merge to 'next'? + Will merge to 'master'. source: <20260315094445.19849-1-deveshigurgaon@gmail.com> * gj/user-manual-fix-grep-example (2026-03-16) 1 commit - - doc: fix git grep args order in Quick Reference + (merged to 'next' on 2026-03-17 at dbf9137a9d) + + doc: fix git grep args order in Quick Reference Fix an example in the user-manual. - Will merge to 'next'. + Will merge to 'master'. source: * jk/transport-color-leakfix (2026-03-14) 1 commit - - transport: plug leaks in transport_color_config() + (merged to 'next' on 2026-03-17 at c2d7c74d11) + + transport: plug leaks in transport_color_config() Leakfix. - Will merge to 'next'. + Will merge to 'master'. source: <20260314160814.GA918806@coredump.intra.peff.net> -* jw/apply-corrupt-location (2026-03-16) 1 commit +* jw/apply-corrupt-location (2026-03-17) 3 commits + - apply: report input location in binary and garbage patch errors + - apply: report input location in header parsing errors - apply: report the location of corrupt patches "git apply" now reports the name of the input file along with the line number when it encounters a corrupt patch, and correctly resets the line counter when processing multiple patch files. - Expecting review responses. - source: <20260316113459.77794-1-jerrywang183@yahoo.com> + Will merge to 'next'? + source: <20260317162321.71812-1-jerrywang183@yahoo.com> * ps/clar-wo-path-max (2026-03-16) 1 commit - - clar: update to fix compilation on platforms without PATH_MAX + (merged to 'next' on 2026-03-17 at 1d2f28a677) + + clar: update to fix compilation on platforms without PATH_MAX Clar (unit testing framework) update from the upstream. - Will merge to 'next'. + Will merge to 'master'. source: <20260316-b4-pks-clar-without-path-max-v1-1-40b4bc91fdc0@pks.im> * rj/pack-refs-tests-path-is-helpers (2026-03-15) 1 commit - - t/pack-refs-tests: use test_path_is_missing + (merged to 'next' on 2026-03-17 at 56374095e3) + + t/pack-refs-tests: use test_path_is_missing Test updates. - Will merge to 'next'. + Will merge to 'master'. source: <20260315081032.497-1-riteshjd75@gmail.com> @@ -336,29 +479,30 @@ Release tarballs are available at: --commit-list-format` (formerly `--cover-letter-format`) option, including a new "modern" preset and better CLI ergonomics. - Needs review. + Expecting a reroll. + cf. source: * mf/t0008-cleanup (2026-03-15) 1 commit - - t0008: improve test cleanup to fix failing test + (merged to 'next' on 2026-03-17 at 2bb0e51243) + + t0008: improve test cleanup to fix failing test Test clean-up. - Will merge to 'next'. + Will merge to 'master'. source: <20260316011544.13825-1-mroik@delayed.space> * pb/t4200-test-path-is-helpers (2026-03-16) 1 commit - - t4200: convert test -[df] checks to test_path_* helpers + (merged to 'next' on 2026-03-17 at a78771f93e) + + t4200: convert test -[df] checks to test_path_* helpers Test clean-up. - Will merge to 'next'. + Will merge to 'master'. source: <20260316172457.38242-1-prashantjee2025@gmail.com> --------------------------------------------------- -[Cooking] * js/parseopt-subcommand-autocorrection (2026-03-16) 10 commits - doc: document autocorrect API @@ -381,15 +525,16 @@ Release tarballs are available at: * jt/fast-import-sign-again (2026-03-12) 3 commits - - fast-import: add mode to sign commits with invalid signatures - - gpg-interface: allow sign_buffer() to use default signing key - - commit: remove unused forward declaration + (merged to 'next' on 2026-03-17 at e04808d5f2) + + fast-import: add mode to sign commits with invalid signatures + + gpg-interface: allow sign_buffer() to use default signing key + + commit: remove unused forward declaration "git fast-import" learned to optionally replace signature on commits whose signatures get invalidated due to replaying by signing afresh. - Will merge to 'next'. + Will merge to 'master'. source: <20260313013938.2742124-1-jltobler@gmail.com> @@ -398,11 +543,11 @@ Release tarballs are available at: "git apply -p" parses more carefully now. - Will merge to 'next'? + Will merge to 'next'. source: <20260316005120.7079-1-mroik@delayed.space> -* ps/build-tweaks (2026-03-16) 8 commits +* ps/build-tweaks (2026-03-18) 8 commits - meson: precompile "git-compat-util.h" - meson: compile compatibility sources separately - git-compat-util.h: move warning infra to prepare for PCHs @@ -414,32 +559,35 @@ Release tarballs are available at: Tweak the build infrastructure by moving tools around. - Will merge to 'next'?? - source: <20260316-b4-pks-build-infra-improvements-v2-0-4b2c2c0c0425@pks.im> + Will merge to 'next'. + source: <20260319-b4-pks-build-infra-improvements-v3-0-82f5fb3edc3f@pks.im> * ps/object-counting (2026-03-12) 7 commits - - odb: introduce generic object counting - - odb/source: introduce generic object counting - - object-file: generalize counting objects - - object-file: extract logic to approximate object count - - packfile: extract logic to count number of objects - - odb: stop including "odb/source.h" - - Merge branch 'ps/odb-sources' into ps/object-counting + (merged to 'next' on 2026-03-17 at 8d3d9a1374) + + odb: introduce generic object counting + + odb/source: introduce generic object counting + + object-file: generalize counting objects + + object-file: extract logic to approximate object count + + packfile: extract logic to count number of objects + + odb: stop including "odb/source.h" + + Merge branch 'ps/odb-sources' into ps/object-counting + (this branch is used by ps/odb-generic-object-name-handling.) The logic to count objects has been cleaned up. - Will merge to 'next'. + Will merge to 'master'. source: <20260312-b4-pks-odb-source-count-objects-v2-0-5914f69256bf@pks.im> * ty/doc-diff-u-wo-number (2026-03-10) 1 commit - - diff: document -U without as using default context + (merged to 'next' on 2026-03-18 at 8a410154ff) + + diff: document -U without as using default context "git diff -U" was too lenient in its command line parsing and took an empty string as a valid . - Will merge to 'next'? + Will merge to 'master'. source: <20260310095017.131957-1-cat@malon.dev> @@ -467,51 +615,6 @@ Release tarballs are available at: source: <20260311121107.1122387-1-dev+git@drbeat.li> -* ps/editorconfig-unanchor (2026-03-11) 1 commit - (merged to 'next' on 2026-03-12 at 39ef732ca9) - + editorconfig: fix style not applying to subdirs anymore - - Editorconfig filename patterns were specified incorrectly, making - many source files inside subdirectories unaffected, which has been - corrected. - - Will merge to 'master'. - source: <20260311-b4-pks-editorconfig-fix-subdirs-v1-1-4938193ccd31@pks.im> - - -* ps/unit-test-c-escape-names.txt (2026-03-10) 1 commit - (merged to 'next' on 2026-03-13 at f545ea5a9c) - + test-lib: print escape sequence names - - The unit test helper function was taught to use backslash + - mnemonic notation for certain control characters like "\t", instead - of octal notation like "\011". - - Will merge to 'master'. - source: <20260311031442.11942-1-pabloosabaterr@gmail.com> - - -* ss/submodule--helper-use-xmalloc (2026-03-10) 1 commit - (merged to 'next' on 2026-03-13 at f13711965e) - + submodule--helper: replace malloc with xmalloc - - Code clean-up. - - Will merge to 'master'. - source: <20260310164412.47403-1-r.siddharth.shrimali@gmail.com> - - -* ss/t3200-test-zero-oid (2026-03-11) 1 commit - (merged to 'next' on 2026-03-12 at 647ee3f2dc) - + t3200: replace hardcoded null OID with $ZERO_OID - - A test now uses the symbolic constant $ZERO_OID instead of 40 "0" to - work better with SHA-256 as well as SHA-1. - - Will merge to 'master'. - source: <20260311174120.76871-1-r.siddharth.shrimali@gmail.com> - - * jc/test-allow-sed-with-ere (2026-03-11) 1 commit (merged to 'next' on 2026-03-16 at be057bed35) + t: allow use of "sed -E" @@ -522,28 +625,16 @@ Release tarballs are available at: source: -* bk/run-command-wo-the-repository (2026-03-12) 2 commits - (merged to 'next' on 2026-03-12 at 61ffe62b75) - + run-command: wean auto_maintenance() functions off the_repository - + run-command: wean start_command() off the_repository - - The run_command() API lost its implicit dependencyon the singleton - `the_repository` instance. - - Will merge to 'master'. - source: <20260312144437.626392-1-bkkaracay@gmail.com> - - -* kh/doc-interpret-trailers-1 (2026-03-11) 3 commits +* kh/doc-interpret-trailers-1 (2026-03-16) 4 commits + - interpret-trailers: use placeholder instead of * - doc: config: convert trailers section to synopsis style - doc: interpret-trailers: normalize and fill out options - doc: interpret-trailers: convert to synopsis style Doc updates. - Expecting a (hopefully small and final) reroll? - cf. - source: + Will merge to 'next'. + source: * ty/mktree-wo-the-repository (2026-03-12) 1 commit @@ -556,7 +647,7 @@ Release tarballs are available at: source: <20260312164203.964033-1-cat@malon.dev> -* mm/line-log-use-standard-diff-output (2026-03-06) 4 commits +* mm/line-log-use-standard-diff-output (2026-03-16) 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 @@ -566,9 +657,8 @@ Release tarballs are available at: log/diff machinery is being reworked a bit to make the feature compatible with more diff options, like -S/G. - Expecting a reroll. - cf. - source: + Needs review. + source: * ar/config-hook-cleanups (2026-03-08) 11 commits @@ -603,40 +693,6 @@ Release tarballs are available at: source: <3ad40c3d0762c2e8c14792dfb68cba9f63a883a3.1773026586.git.collin.funk1@gmail.com> -* dd/list-objects-filter-options-wo-strbuf-split (2026-03-11) 2 commits - (merged to 'next' on 2026-03-12 at 99c4dbd03e) - + list-objects-filter-options: avoid strbuf_split_str() - + worktree: do not pass strbuf by value - (this branch is used by dd/cocci-do-not-pass-strbuf-by-value.) - - Revamp the way combined option filter is parsed. - - Will merge to 'master'. - source: <20260311173336.8395-1-deveshigurgaon@gmail.com> - - -* jc/doc-wholesale-replace-before-next (2026-03-09) 1 commit - (merged to 'next' on 2026-03-13 at 19ca350c9b) - + SubmittingPatches: spell out "replace fully to pretend to be perfect" - - Doc update. - - Will merge to 'master'. - source: - - -* ps/t9200-test-path-is-helpers (2026-03-12) 2 commits - (merged to 'next' on 2026-03-12 at 8500bdf172) - + t9200: replace test -f with modern path helper - + t9200: handle missing CVS with skip_all - - Test update. - - Will merge to 'master'. - source: <20260311194002.190195-1-pabloosabaterr@gmail.com> - source: <20260312173305.15112-1-pabloosabaterr@gmail.com> - - * ab/clone-default-object-filter (2026-03-14) 1 commit - clone: add clone..defaultObjectFilter config @@ -695,18 +751,19 @@ Release tarballs are available at: * ps/history-split (2026-03-02) 8 commits - - builtin/history: implement "split" subcommand - - builtin/history: split out extended function to create commits - - cache-tree: allow writing in-memory index as tree - - add-patch: allow disabling editing of hunks - - add-patch: add support for in-memory index patching - - add-patch: remove dependency on "add-interactive" subsystem - - add-patch: split out `struct interactive_options` - - add-patch: split out header from "add-interactive.h" + (merged to 'next' on 2026-03-17 at 456723f018) + + builtin/history: implement "split" subcommand + + builtin/history: split out extended function to create commits + + cache-tree: allow writing in-memory index as tree + + add-patch: allow disabling editing of hunks + + add-patch: add support for in-memory index patching + + add-patch: remove dependency on "add-interactive" subsystem + + add-patch: split out `struct interactive_options` + + add-patch: split out header from "add-interactive.h" "git history" learned the "split" subcommand. - Will merge to 'next'. + Will merge to 'master'. source: <20260302-pks-history-split-v1-0-444fc987a324@pks.im> @@ -722,39 +779,24 @@ Release tarballs are available at: * ps/upload-pack-buffer-more-writes (2026-03-12) 10 commits - - builtin/pack-objects: reduce lock contention when writing packfile data - - csum-file: drop `hashfd_throughput()` - - csum-file: introduce `hashfd_ext()` - - sideband: use writev(3p) to send pktlines - - wrapper: introduce writev(3p) wrappers - - compat/posix: introduce writev(3p) wrapper - - upload-pack: reduce lock contention when writing packfile data - - upload-pack: prefer flushing data over sending keepalive - - upload-pack: adapt keepalives based on buffering - - upload-pack: fix debug statement when flushing packfile data + (merged to 'next' on 2026-03-18 at 138ad42ac5) + + builtin/pack-objects: reduce lock contention when writing packfile data + + csum-file: drop `hashfd_throughput()` + + csum-file: introduce `hashfd_ext()` + + sideband: use writev(3p) to send pktlines + + wrapper: introduce writev(3p) wrappers + + compat/posix: introduce writev(3p) wrapper + + upload-pack: reduce lock contention when writing packfile data + + upload-pack: prefer flushing data over sending keepalive + + upload-pack: adapt keepalives based on buffering + + upload-pack: fix debug statement when flushing packfile data Reduce system overhead "git upload-pack" spends on relaying "git pack-objects" output to the "git fetch" running on the other end of the connection. - Will merge to 'next'? - source: <20260313-pks-upload-pack-write-contention-v4-0-7a9668061f7f@pks.im> - - -* lc/rebase-trailer (2026-03-06) 6 commits - (merged to 'next' on 2026-03-13 at 75c22b6b26) - + rebase: support --trailer - + commit, tag: parse --trailer with OPT_STRVEC - + trailer: append trailers without fork/exec - + trailer: libify a couple of functions - + interpret-trailers: refactor create_in_place_tempfile() - + interpret-trailers: factor trailer rewriting - - "git rebase" learns "--trailer" command to drive the - interpret-trailers machinery. - Will merge to 'master'. - source: + source: <20260313-pks-upload-pack-write-contention-v4-0-7a9668061f7f@pks.im> * mf/format-patch-cover-letter-format (2026-03-06) 5 commits @@ -819,17 +861,15 @@ Release tarballs are available at: source: <20260313054035.26605-1-siddharthasthana31@gmail.com> -* vp/http-rate-limit-retries (2026-02-23) 4 commits +* vp/http-rate-limit-retries (2026-03-17) 3 commits - http: add support for HTTP 429 rate limit retries - - remote-curl: introduce show_http_message_fatal() helper - strbuf_attach: fix call sites to pass correct alloc - strbuf: pass correct alloc to strbuf_attach() in strbuf_reencode() The HTTP transport learned to react to "429 Too Many Requests". Needs review. - cf. - source: + source: * ar/parallel-hooks (2026-03-09) 10 commits @@ -861,12 +901,13 @@ Release tarballs are available at: * yc/histogram-hunk-shift-fix (2026-03-02) 1 commit - - xdiff: re-diff shifted change groups when using histogram algorithm + (merged to 'next' on 2026-03-18 at 5e49edc821) + + xdiff: re-diff shifted change groups when using histogram algorithm The final clean-up phase of the diff output could turn the result of histogram diff algorithm suboptimal, which has been corrected. - Will merge to 'next'? + Will merge to 'master'. source: @@ -891,27 +932,28 @@ Release tarballs are available at: * tb/incremental-midx-part-3.2 (2026-02-24) 17 commits - - midx: enable reachability bitmaps during MIDX compaction - - midx: implement MIDX compaction - - t/helper/test-read-midx.c: plug memory leak when selecting layer - - midx-write.c: factor fanout layering from `compute_sorted_entries()` - - midx-write.c: enumerate `pack_int_id` values directly - - midx-write.c: extract `fill_pack_from_midx()` - - midx-write.c: introduce `midx_pack_perm()` helper - - midx: do not require packs to be sorted in lexicographic order - - midx-write.c: introduce `struct write_midx_opts` - - midx-write.c: don't use `pack_perm` when assigning `bitmap_pos` - - t/t5319-multi-pack-index.sh: fix copy-and-paste error in t5319.39 - - git-multi-pack-index(1): align SYNOPSIS with 'git multi-pack-index -h' - - git-multi-pack-index(1): remove non-existent incompatibility - - builtin/multi-pack-index.c: make '--progress' a common option - - midx: introduce `midx_get_checksum_hex()` - - midx: rename `get_midx_checksum()` to `midx_get_checksum_hash()` - - midx: mark `get_midx_checksum()` arguments as const + (merged to 'next' on 2026-03-18 at 7f995e23bb) + + midx: enable reachability bitmaps during MIDX compaction + + midx: implement MIDX compaction + + t/helper/test-read-midx.c: plug memory leak when selecting layer + + midx-write.c: factor fanout layering from `compute_sorted_entries()` + + midx-write.c: enumerate `pack_int_id` values directly + + midx-write.c: extract `fill_pack_from_midx()` + + midx-write.c: introduce `midx_pack_perm()` helper + + midx: do not require packs to be sorted in lexicographic order + + midx-write.c: introduce `struct write_midx_opts` + + midx-write.c: don't use `pack_perm` when assigning `bitmap_pos` + + t/t5319-multi-pack-index.sh: fix copy-and-paste error in t5319.39 + + git-multi-pack-index(1): align SYNOPSIS with 'git multi-pack-index -h' + + git-multi-pack-index(1): remove non-existent incompatibility + + builtin/multi-pack-index.c: make '--progress' a common option + + midx: introduce `midx_get_checksum_hex()` + + midx: rename `get_midx_checksum()` to `midx_get_checksum_hash()` + + midx: mark `get_midx_checksum()` arguments as const Further work on incremental repacking using MIDX/bitmap - Will merge to 'next'? + Will merge to 'master'. source: -------------------------------------------------- @@ -931,3 +973,15 @@ Release tarballs are available at: Superseded by 'jc/neuter-sideband-fixup', which reuses most of the patches. cf. source: + + +* bc/rev-parse-parseopt-help-exit-code (2026-03-16) 1 commit + . rev-parse: have --parseopt callers exit 0 on --help + + `rev-parse --parseopt` now includes "exit 0" in its output when the + user asks for help, ensuring that scripts using the recommended `eval` + pattern exit successfully. + + Need to step back and rethink how exit code should look like. + cf. <20260317150759.GA9975@coredump.intra.peff.net> + source: <20260316220742.1286157-1-sandals@crustytoothpaste.net>