What's cooking (2025/05 #04)

This commit is contained in:
Junio C Hamano
2025-05-12 16:13:12 -07:00
parent 0f1bc1762f
commit 01bcc90576

View File

@@ -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: <PN3PR01MB95973F4B26A8CE2BF17A3AB1B8842@PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM>
source: <PN3PR01MB9597DA8661D1AFDF4C927A11B8812@PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM>
* 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: <pull.1906.v2.git.1745871885.gitgitgadget@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.
source: <pull.1911.git.1745941663160.gitgitgadget@gmail.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).
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: <pull.1887.v3.git.1745926679028.gitgitgadget@gmail.com>
* 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: <pull.1914.git.1746579320.gitgitgadget@gmail.com>
* 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: <pull.1920.git.1746914561.gitgitgadget@gmail.com>
* 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: <pull.1915.v2.git.1746884789.gitgitgadget@gmail.com>
* ly/am-split-stgit-leakfix (2025-05-12) 1 commit
- builtin/am: fix memory leak in `split_mail_stgit_series`
source: <pull.1961.git.git.1747015647505.gitgitgadget@gmail.com>
* ly/pack-bitmap-load-leakfix (2025-05-12) 1 commit
- pack-bitmap: fix memory leak if `load_bitmap_entries_v1` failed
source: <pull.1962.git.git.1747052530271.gitgitgadget@gmail.com>
* 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: <pull.1958.v3.git.git.1747054145.gitgitgadget@gmail.com>
* 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: <pull.1919.git.1746807747.gitgitgadget@gmail.com>
* 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: <PN3PR01MB9597208F139D23AF3436B16AB888A@PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM>
The `send-email` documentation has been updated with OAuth2.0
related examples.
Will merge to 'next'.
source: <PN0PR01MB95882173451A6A7C28AD7BE7B88BA@PN0PR01MB9588.INDPRD01.PROD.OUTLOOK.COM>
* 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: <xmqq8qn9fj8o.fsf@gitster.g>
* 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: <aBtzn4nwLsI9p5Cp@ArchLinux>
* 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: <pull.1911.git.1745941663160.gitgitgadget@gmail.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.
Will merge to 'master'.
source: <pull.1887.v3.git.1745926679028.gitgitgadget@gmail.com>
* 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=<mode> 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=<mode> 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: <pull.1913.v3.git.1746582637.gitgitgadget@gmail.com>
* 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: <pull.1913.v3.git.1746582637.gitgitgadget@gmail.com>
* en/get-tree-entry-doc (2025-05-02) 1 commit
@@ -249,18 +442,19 @@ Release tarballs are available at:
source: <pull.1912.v2.git.1746213551473.gitgitgadget@gmail.com>
* 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,81 +466,26 @@ 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'.
Will merge to 'master'.
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: <PN3PR01MB95973F4B26A8CE2BF17A3AB1B8842@PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM>
source: <PN3PR01MB9597DA8661D1AFDF4C927A11B8812@PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM>
* 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: <pull.1906.v2.git.1745871885.gitgitgadget@gmail.com>
* 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>
* cc/fast-import-export-signature-names (2025-04-24) 1 commit
. fast-(import|export): improve on the signature algorithm name
@@ -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. <aA8vSPKdznjzBf6W@pks.im>
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: <a9d431944b6d94e0eb25535c061fc226a7fefa9e.1746692662.git.congdanhqx@gmail.com>
* 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: <pull.1897.v4.git.git.1745587067.gitgitgadget@gmail.com>
@@ -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. <aBVLC57bMJKjygyi@nand.local>
cf. <aBq48Dog53bn5bJb@nand.local>
source: <pull.1819.v2.git.1742829769.gitgitgadget@gmail.com>