From 01bcc90576648b19571a5db371d90dbf0e8ce14c Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Mon, 12 May 2025 16:13:12 -0700 Subject: [PATCH] What's cooking (2025/05 #04) --- whats-cooking.txt | 447 +++++++++++++++++++++++++++++----------------- 1 file changed, 288 insertions(+), 159 deletions(-) diff --git a/whats-cooking.txt b/whats-cooking.txt index 329d26019c..8525e32646 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 (May 2025, #03; Wed, 7) -X-master-at: 6f84262c44a89851c3ae5a6e4c1a9d06b2068d75 -X-next-at: 629a3ecd64b7b81537df89c66a9cbc8514ab94c1 +Subject: What's cooking in git.git (May 2025, #04; Mon, 12) +X-master-at: 38af977b81bbf8ce8c0004d3f4046a823ecb30a1 +X-next-at: 889b7c5bd859a31843b9239d3c69e5b8f543ef47 Bcc: lwn@lwn.net, gitster@pobox.com -What's cooking in git.git (May 2025, #03; Wed, 7) +What's cooking in git.git (May 2025, #04; Mon, 12) -------------------------------------------------- Here are the topics that have been cooking in my tree. Commits @@ -45,45 +45,274 @@ Release tarballs are available at: https://www.kernel.org/pub/software/scm/git/ +-------------------------------------------------- +[Graduated to 'master'] + +* ag/send-email-outlook (2025-04-29) 2 commits + (merged to 'next' on 2025-05-05 at c85e7a2e65) + + send-email: add --[no-]outlook-id-fix option + + send-email: retrieve Message-ID from outlook SMTP server + + Update send-email to work better with Outlook's smtp server. + + source: + source: + + +* ds/fix-thin-fix (2025-04-28) 3 commits + (merged to 'next' on 2025-05-05 at 200a988f98) + + index-pack: allow revisiting REF_DELTA chains + + t5309: create failing test for 'git index-pack' + + test-tool: add pack-deltas helper + + "git index-pack --fix-thin" used to abort to prevent a cycle in + delta chains from forming in a corner case even when there is no + such cycle. + + source: + + +* en/hashmap-clear-fix (2025-04-29) 1 commit + (merged to 'next' on 2025-04-30 at b0cdbeb28e) + + hashmap: ensure hashmaps are reusable after hashmap_clear() + + hashmap API clean-up to ensure hashmap_clear() leaves a cleared map + in a reusable state. + + source: + + +* jc/ci-skip-unavailable-external-software (2025-04-25) 2 commits + (merged to 'next' on 2025-05-05 at a13d958c1b) + + ci: download JGit from maven, not eclipse.org + + ci: update the message for unavailble third-party software + + Further refinement on CI messages when an optional external + software is unavailable (e.g. due to third-party service outage). + + source: <20250425153827.147585-1-gitster@pobox.com> + + +* js/diff-codeql-false-positive-workaround (2025-04-29) 1 commit + (merged to 'next' on 2025-05-01 at a840276032) + + diff: check range before dereferencing an array element + + Work around false positive given by CodeQL. + + source: + + +* ng/xdiff-truly-minimal (2025-04-29) 1 commit + (merged to 'next' on 2025-05-05 at 62e0c33153) + + xdiff: disable cleanup_records heuristic with --minimal + + "git diff --minimal" used to give non-minimal output when its + optimization kicked in, which has been disabled. + + source: <20250429140949.2634935-1-n.glodny@campus.lmu.de> + + +* ps/meson-bin-sh (2025-04-25) 2 commits + (merged to 'next' on 2025-05-05 at 546cdf31bf) + + meson: prefer shell at "/bin/sh" + + meson: report detected runtime executable paths + + Meson-based build framework update. + + source: <20250425-pks-meson-posix-shell-v3-0-01607a2e9334@pks.im> + + +* ps/mv-contradiction-fix (2025-04-30) 2 commits + (merged to 'next' on 2025-05-01 at 5c27b05f45) + + builtin/mv: convert assert(3p) into `BUG()` + + builtin/mv: bail out when trying to move child and its parent + + "git mv a a/b dst" would ask to move the directory 'a' itself, as + well as its contents, in a single destination directory, which is + a contradicting request that is impossible to satisfy. This case is + now detected and the command errors out. + + source: <20250430-pks-mv-parent-child-conflict-v1-0-11a87c55ffb9@pks.im> + + +* ps/object-store-cleanup (2025-04-29) 8 commits + (merged to 'next' on 2025-05-05 at f91eca32c9) + + object-store: drop `repo_has_object_file()` + + treewide: convert users of `repo_has_object_file()` to `has_object()` + + object-store: allow fetching objects via `has_object()` + + object-store: move function declarations to their respective subsystems + + object-store: move and rename `odb_pack_keep()` + + object-store: drop `loose_object_path()` + + object-store: move `struct packed_git` into "packfile.h" + + Merge branch 'ps/object-file-cleanup' into ps/object-store-cleanup + (this branch is used by ps/object-store.) + + Further code clean-up in the object-store layer. + + source: <20250429-pks-object-store-cleanups-v3-0-42902bad09a1@pks.im> + -------------------------------------------------- [New Topics] -* ag/doc-send-email (2025-05-07) 3 commits +* bc/make-avoid-unneeded-rebuild-with-compdb-dir (2025-05-09) 1 commit + - Makefile: avoid constant rebuilds with compilation database + + source: <20250509211202.3910761-1-sandals@crustytoothpaste.net> + + +* bc/stash-export-import (2025-05-08) 4 commits + - builtin/stash: provide a way to import stashes from a ref + - builtin/stash: provide a way to export stashes to a ref + - builtin/stash: factor out revision parsing into a function + - object-name: make get_oid quietly return an error + + source: <20250508234458.3665894-1-sandals@crustytoothpaste.net> + + +* ds/sparse-apply-add-p (2025-05-08) 3 commits + (merged to 'next' on 2025-05-09 at 11ce4306b9) + + p2000: add performance test for 'git add -p' + + git add: make -p/-i aware of sparse index + + apply: integrate with the sparse index + + source: + + +* en/merge-tree-check (2025-05-12) 2 commits + - merge-tree: add a new --mergeability-only flag + - merge-ort: add a new mergeability_only option + + source: + + +* jk/oidmap-cleanup (2025-05-12) 3 commits + - raw_object_store: drop extra pointer to replace_map + - oidmap: add size function + - oidmap: rename oidmap_free() to oidmap_clear() + + source: <20250512185006.GA1275914@coredump.intra.peff.net> + + +* lm/add-p-context (2025-05-12) 4 commits + - add-patch: add diff.context command line overrides + - add-patch: respect diff.context configuration + - test: refactor to use "test_config" + - test: refactor to use "test_grep" + + source: + + +* ly/am-split-stgit-leakfix (2025-05-12) 1 commit + - builtin/am: fix memory leak in `split_mail_stgit_series` + + source: + + +* ly/pack-bitmap-load-leakfix (2025-05-12) 1 commit + - pack-bitmap: fix memory leak if `load_bitmap_entries_v1` failed + + source: + + +* ly/reftable-writer-leakfix (2025-05-12) 2 commits + - reftable/writer: fix memory leak when `writer_index_hash()` fails + - reftable/writer: fix memory leak when `padded_write()` fails + + source: + + +* ps/contrib-sweep (2025-05-12) 11 commits + - contrib: remove some scripts in "stats" directory + - contrib: remove "git-new-workdir" + - contrib: remove "emacs" directory + - contrib: remove "git-resurrect.sh" + - contrib: remove "persistent-https" remote helper + - contrib: remove "mw-to-git" + - contrib: remove "hooks" directory + - contrib: remove "thunderbird-patch-inline" + - contrib: remove remote-helper stubs + - contrib: remove "examples" directory + - contrib: remove "remotes2config.sh" + + source: <20250512-pks-contrib-spring-cleanup-v3-0-32e151b0bfb0@pks.im> + + +* ps/reftable-read-block-perffix (2025-05-12) 1 commit + - reftable: fix perf regression when reading blocks of unwanted type + + source: <20250512-pks-reftable-perf-fix-v1-1-002cab9fdb08@pks.im> + + +* pw/sequencer-reflog-use-after-free (2025-05-09) 2 commits + (merged to 'next' on 2025-05-12 at e7b8721456) + + sequencer: rework reflog message handling + + sequencer: move reflog message functions + + source: + + +* rc/t1001-test-path-is-file (2025-05-12) 1 commit + - t1001: replace 'test -f' with 'test_path_is_file' + + source: <20250510230909.65519-1-rodrigorsdc@gmail.com> + + +* rj/build-tweaks-part2 (2025-05-08) 5 commits + - configure.ac: upgrade to a compilation check for sysinfo + - meson.build: correct setting of GIT_EXEC_PATH + - meson: correct path to system config/attribute files + - meson: correct install location of YAML.pm + - meson.build: quote the GITWEBDIR build configuration + + source: <20250508164443.1506440-1-ramsay@ramsayjones.plus.com> + +-------------------------------------------------- +[Cooking] + +* ag/doc-send-email (2025-05-08) 3 commits - docs: add credential helper for outlook and gmail in OAuth list of helpers - docs: improve send-email documentation - send-mail: improve checks for valid_fqdn - source: + The `send-email` documentation has been updated with OAuth2.0 + related examples. + + Will merge to 'next'. + source: * jc/t6011-mv-ro-fix (2025-05-07) 1 commit - - t6011: fix misconversion from perl to sed + (merged to 'next' on 2025-05-09 at 6168793ae5) + + t6011: fix misconversion from perl to sed + + Test fix. + Will merge to 'master'. source: -* ps/object-store (2025-05-06) 18 commits +* ps/object-store (2025-05-09) 18 commits - odb: rename `read_object_with_reference()` - odb: rename `pretend_object_file()` - odb: rename `has_object()` - odb: rename `repo_read_object_file()` - odb: rename `oid_object_info()` - odb: trivial refactorings to get rid of `the_repository` - - odb: get rid of `the_repository` when handling submodule backends - - odb: get rid of `the_repository` when handling the primary backend + - odb: get rid of `the_repository` when handling submodule alternates + - odb: get rid of `the_repository` when handling the primary alternate - odb: get rid of `the_repository` in `for_each()` functions - odb: get rid of `the_repository` when handling alternates - - odb: get rid of `the_repository` in `assert_oid_type()` + - odb: get rid of `the_repository` in `odb_mkstemp()` - odb: get rid of `the_repository` in `assert_oid_type()` - odb: get rid of `the_repository` in `find_odb()` - odb: introduce parent pointers - object-store: rename files to "odb.{c,h}" - - object-store: rename `object_directory` to `odb_backend` + - object-store: rename `object_directory` to `odb_alternate` - object-store: rename `raw_object_store` to `object_database` - Merge branch 'ps/object-store-cleanup' into ps/object-store - (this branch uses ps/object-store-cleanup.) - source: <20250506-pks-object-store-wo-the-repository-v1-0-c05b82e7b126@pks.im> + Code clean-up around object access API. + source: <20250509-pks-object-store-wo-the-repository-v2-0-103f59bf8e28@pks.im> * sj/use-mmap-to-check-packed-refs (2025-05-07) 4 commits @@ -92,25 +321,34 @@ Release tarballs are available at: - packed-backend: extract snapshot allocation in `load_contents` - packed-backend: fsck should allow an empty "packed-refs" file + The code path to access the "packed-refs" file while "fsck" is + taught to mmap the file, instead of reading the whole file in the + memory. + + Expecting a reroll. + cf. <20250508200802.GC18229@coredump.intra.peff.net> source: * tb/macos-false-but-the-compiler-does-not-know-it-fix (2025-05-07) 1 commit - - intialize false_but_the_compiler_does_not_know_it_ + (merged to 'next' on 2025-05-09 at d8fb9874ef) + + intialize false_but_the_compiler_does_not_know_it_ + + Workaround for older macOS ld. + Will merge to 'master'. source: <20250506120644.186968-1-tboegi@web.de> --------------------------------------------------- -[Cooking] * cf/wrapper-bsd-eloop (2025-05-06) 1 commit - - wrapper: NetBSD gives EFTYPE and FreeBSD gives EMFILE where POSIX uses ELOOP + (merged to 'next' on 2025-05-08 at 7b1e21b252) + + wrapper: NetBSD gives EFTYPE and FreeBSD gives EMFILE where POSIX uses ELOOP The fallback implementation of open_nofollow() depended on open("symlink", O_NOFOLLOW) to set errno to ELOOP, but a few BSD derived systems use different errno, which has been worked around. - Will merge to 'next'. + Will merge to 'master'. source: <20250506010946.212068-1-collin.funk1@gmail.com> @@ -179,64 +417,19 @@ Release tarballs are available at: source: <20250429145243.992252-1-christian.couder@gmail.com> -* en/hashmap-clear-fix (2025-04-29) 1 commit - (merged to 'next' on 2025-04-30 at b0cdbeb28e) - + hashmap: ensure hashmaps are reusable after hashmap_clear() - - hashmap API clean-up to ensure hashmap_clear() leaves a cleared map - in a reusable state. - - Will merge to 'master'. - source: - - -* js/diff-codeql-false-positive-workaround (2025-04-29) 1 commit - (merged to 'next' on 2025-05-01 at a840276032) - + diff: check range before dereferencing an array element - - Work around false positive given by CodeQL. - - Will merge to 'master'. - source: - - -* ng/xdiff-truly-minimal (2025-04-29) 1 commit - (merged to 'next' on 2025-05-05 at 62e0c33153) - + xdiff: disable cleanup_records heuristic with --minimal - - "git diff --minimal" used to give non-minimal output when its - optimization kicked in, which has been disabled. - - Will merge to 'master'. - source: <20250429140949.2634935-1-n.glodny@campus.lmu.de> - - * ds/scalar-no-maintenance (2025-05-07) 4 commits - - scalar reconfigure: add --maintenance= option - - scalar clone: add --no-maintenance option - - scalar register: add --no-maintenance option - - scalar: customize register_dir()'s behavior + (merged to 'next' on 2025-05-08 at 1006cdd399) + + scalar reconfigure: add --maintenance= option + + scalar clone: add --no-maintenance option + + scalar register: add --no-maintenance option + + scalar: customize register_dir()'s behavior Two "scalar" subcommands that adds a repository that hasn't been under "scalar"'s control are taught an option not to enable the scheduled maintenance on it. - Will merge to 'next'. - source: - - -* ps/mv-contradiction-fix (2025-04-30) 2 commits - (merged to 'next' on 2025-05-01 at 5c27b05f45) - + builtin/mv: convert assert(3p) into `BUG()` - + builtin/mv: bail out when trying to move child and its parent - - "git mv a a/b dst" would ask to move the directory 'a' itself, as - well as its contents, in a single destination directory, which is - a contradicting request that is impossible to satisfy. This case is - now detected and the command errors out. - Will merge to 'master'. - source: <20250430-pks-mv-parent-child-conflict-v1-0-11a87c55ffb9@pks.im> + source: * en/get-tree-entry-doc (2025-05-02) 1 commit @@ -249,18 +442,19 @@ Release tarballs are available at: source: -* jc/doc-synopsis-option-markup (2025-05-02) 3 commits - - git-daemon doc: update mark-up of synopsis option descriptions - - git-{var,write-tree} docs: update mark-up of synopsis option descriptions +* jc/doc-synopsis-option-markup (2025-05-12) 4 commits + - git-var doc: fix usage of $ENV_VAR vs ENV_VAR - git-verify-* doc: update mark-up of synopsis option descriptions + - git-{var,write-tree} docs: update mark-up of synopsis option descriptions + - git-daemon doc: update mark-up of synopsis option descriptions Doc mark-up fixes. - Comments? - source: <20250503011537.3035416-1-gitster@pobox.com> + Will merge to 'next'? + source: <20250510123346.20927-1-jn.avila@free.fr> -* jc/you-still-use-whatchanged (2025-05-05) 6 commits +* jc/you-still-use-whatchanged (2025-05-12) 6 commits - whatschanged: list it in BreakingChanges document - whatchanged: remove when built with WITH_BREAKING_CHANGES - whatchanged: require --i-still-use-this @@ -272,79 +466,24 @@ Release tarballs are available at: which is its modern rough equivalent has outlived its usefulness more than 10 years ago. Plan to deprecate and remove it. - Comments? - source: <20250503005814.3030099-1-gitster@pobox.com> - - -* jc/ci-skip-unavailable-external-software (2025-04-25) 2 commits - (merged to 'next' on 2025-05-05 at a13d958c1b) - + ci: download JGit from maven, not eclipse.org - + ci: update the message for unavailble third-party software - - Further refinement on CI messages when an optional external - software is unavailable (e.g. due to third-party service outage). - - Will merge to 'master'. - source: <20250425153827.147585-1-gitster@pobox.com> + Will merge to 'next'? + source: <20250512190311.1451556-1-gitster@pobox.com> * ps/maintenance-missing-tasks (2025-05-07) 6 commits - - builtin/maintenance: introduce "rerere-gc" task - - builtin/gc: move rerere garbage collection into separate function - - builtin/maintenance: introduce "worktree-prune" task - - builtin/gc: move pruning of worktrees into a separate function - - builtin/gc: remove global variables where it is trivial to do - - builtin/gc: fix indentation of `cmd_gc()` parameters + (merged to 'next' on 2025-05-08 at 2da78b0ef1) + + builtin/maintenance: introduce "rerere-gc" task + + builtin/gc: move rerere garbage collection into separate function + + builtin/maintenance: introduce "worktree-prune" task + + builtin/gc: move pruning of worktrees into a separate function + + builtin/gc: remove global variables where it is trivial to do + + builtin/gc: fix indentation of `cmd_gc()` parameters Make repository clean-up tasks "gc" can do available to "git maintenance" front-end. - Will merge to 'next'. - source: <20250507-pks-maintenance-missing-tasks-v5-0-aa5fdfb82891@pks.im> - - -* ag/send-email-outlook (2025-04-29) 2 commits - (merged to 'next' on 2025-05-05 at c85e7a2e65) - + send-email: add --[no-]outlook-id-fix option - + send-email: retrieve Message-ID from outlook SMTP server - - Update send-email to work better with Outlook's smtp server. - - Will merge to 'master'. - source: - source: - - -* ds/fix-thin-fix (2025-04-28) 3 commits - (merged to 'next' on 2025-05-05 at 200a988f98) - + index-pack: allow revisiting REF_DELTA chains - + t5309: create failing test for 'git index-pack' - + test-tool: add pack-deltas helper - - "git index-pack --fix-thin" used to abort to prevent a cycle in - delta chains from forming in a corner case even when there is no - such cycle. - Will merge to 'master'. - source: - - -* ps/object-store-cleanup (2025-04-29) 8 commits - (merged to 'next' on 2025-05-05 at f91eca32c9) - + object-store: drop `repo_has_object_file()` - + treewide: convert users of `repo_has_object_file()` to `has_object()` - + object-store: allow fetching objects via `has_object()` - + object-store: move function declarations to their respective subsystems - + object-store: move and rename `odb_pack_keep()` - + object-store: drop `loose_object_path()` - + object-store: move `struct packed_git` into "packfile.h" - + Merge branch 'ps/object-file-cleanup' into ps/object-store-cleanup - (this branch is used by ps/object-store.) - - Further code clean-up in the object-store layer. - - Will merge to 'master'. - source: <20250429-pks-object-store-cleanups-v3-0-42902bad09a1@pks.im> + source: <20250507-pks-maintenance-missing-tasks-v5-0-aa5fdfb82891@pks.im> * cc/fast-import-export-signature-names (2025-04-24) 1 commit @@ -359,25 +498,14 @@ Release tarballs are available at: source: <20250424203904.909777-1-christian.couder@gmail.com> -* dd/meson-perl-custom-path (2025-04-24) 1 commit - - meson: allow customize perl installation path - - Meson-based build framework update. - - Looking good. Expecting a minor reroll. - cf. - source: <80a2a6ce7c6b05323cf931cdc20d4decb6270002.1745507677.git.congdanhqx@gmail.com> - - -* ps/meson-bin-sh (2025-04-25) 2 commits - (merged to 'next' on 2025-05-05 at 546cdf31bf) - + meson: prefer shell at "/bin/sh" - + meson: report detected runtime executable paths +* dd/meson-perl-custom-path (2025-05-08) 1 commit + (merged to 'next' on 2025-05-09 at 3e4d3f1d59) + + meson: allow customize perl installation path Meson-based build framework update. Will merge to 'master'. - source: <20250425-pks-meson-posix-shell-v3-0-01607a2e9334@pks.im> + source: * sj/string-list-typefix (2025-04-22) 5 commits @@ -446,7 +574,7 @@ Release tarballs are available at: The userdiff pattern for shell scripts has been updated to cope with more bash-isms. - Comments? + Comments? source: <20250330134018.9662-2-dhar61595@gmail.com> @@ -458,7 +586,7 @@ Release tarballs are available at: than normal branches as anchoring points to optimize the follow-up fetch during "git clone"; now it is told to utilize all. - Ready? + Will merge to 'next'. source: @@ -480,8 +608,9 @@ Release tarballs are available at: "git pack-objects" learns to find delta bases from blobs at the same path, using the --path-walk API. - Will merge to 'next'? + Waiting for review responses. cf. + cf. source: -- 2.47.3