diff --git a/whats-cooking.txt b/whats-cooking.txt index 057028bdc5..0898798021 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 (Apr 2025, #02; Tue, 8) +Subject: What's cooking in git.git (Apr 2025, #03; Fri, 11) X-master-at: 485f5f863615e670fd97ae40af744e14072cfe18 -X-next-at: 153de2bbd5a1ce082d4d036a9daca0f0100fe8a1 +X-next-at: 082f7c87e043e091852db09dfb249d68a17ac7a4 Bcc: lwn@lwn.net, gitster@pobox.com -What's cooking in git.git (Apr 2025, #02; Tue, 8) +What's cooking in git.git (Apr 2025, #03; Fri, 11) -------------------------------------------------- Here are the topics that have been cooking in my tree. Commits @@ -51,288 +51,122 @@ Release tarballs are available at: https://www.kernel.org/pub/software/scm/git/ -------------------------------------------------- -[Graduated to 'master'] +[New Topics] -* aj/doc-restore-p-update (2025-03-18) 1 commit - (merged to 'next' on 2025-03-24 at bdcfdc7f4e) - + doc: restore: remove note on --patch w/ pathspecs +* kn/bundle-dedup-optim (2025-04-08) 2 commits + (merged to 'next' on 2025-04-11 at 082f7c87e0) + + bundle: fix non-linear performance scaling with refs + + t6020: test for duplicate refnames in bundle creation - Stale description in "git restore -p" documentation has been - updated. - source: - - -* cc/lop-remote (2025-03-18) 4 commits - (merged to 'next' on 2025-03-24 at 3b685ceef0) - + promisor-remote: compare remote names case sensitively - + promisor-remote: fix possible issue when no URL is advertised - + promisor-remote: fix segfault when remote URL is missing - + t5710: arrange to delete the client before cloning - - Bugfix in newly introduced large-object-promisor remote support. - source: <20250318110008.656695-1-christian.couder@gmail.com> - - -* dk/vimdiff-doc-fix (2025-03-25) 1 commit - (merged to 'next' on 2025-03-29 at d0c7a36752) - + vimdiff: clarify the sigil used for marking the buffer to save - - Doc update. - source: <20250324205327.79627-1-ben.knoble+github@gmail.com> - - -* dm/completion-remote-names-fix (2025-03-23) 2 commits - (merged to 'next' on 2025-03-26 at b9460e20ae) - + completion: fix bugs with slashes in remote names - + completion: add helper to count path components - - The bash command line completion script (in contrib/) has been - updated to cope with remote repository nicknames with slashes in - them. - source: <17274df2746d304db876ebd82ad8d932@mandelberg.org> - - -* en/assert-wo-side-effects (2025-03-21) 3 commits - (merged to 'next' on 2025-03-29 at de89bb3075) - + treewide: replace assert() with ASSERT() in special cases - + ci: add build checking for side-effects in assert() calls - + git-compat-util: introduce ASSERT() macro - - Ensure what we write in assert() does not have side effects, - and introduce ASSERT() macro to mark those that cannot be - mechanically checked for lack of side effects. - source: - - -* es/meson-build-skip-coccinelle (2025-03-25) 1 commit - (merged to 'next' on 2025-03-29 at 748d830ce7) - + meson: disable coccinelle configuration when building from a tarball - - Build fix. - source: <20250325200920.198057-1-eschwartz@gentoo.org> - - -* fr/vimdiff-layout-fixes (2025-03-25) 2 commits - (merged to 'next' on 2025-03-29 at 367b2105c0) - + mergetools: vimdiff: add tests for layout with REMOTE as the target - + mergetools: vimdiff: fix layout where REMOTE is the target - - Layout configuration in vimdiff backend didn't work as advertised, - which has been corrected. - source: <20250325222311.400748-1-greenfoo@u92.eu> - - -* ja/doc-branch-markup (2025-03-20) 2 commits - (merged to 'next' on 2025-03-24 at ba6e1c7d0b) - + doc: apply new format to git-branch man page - + completion: take into account the formatting backticks for options - - Doc mark-up updates. - source: - - -* jc/name-rev-stdin (2025-03-12) 6 commits - (merged to 'next' on 2025-03-24 at cfec2e409f) - + name-rev: remove "--stdin" support - + t6120: further modernize - + t6120: avoid hiding "git" exit status - + t: introduce WITH_BREAKING_CHANGES prerequisite - + t: extend test_lazy_prereq - + t: document test_lazy_prereq - - Using "git name-rev --stdin" as an example, improve the framework to - prepare tests to pretend to be in the future where the breaking - changes have already happened. - source: <20250311212505.2920181-1-gitster@pobox.com> - - -* jh/hash-init-fixes (2025-03-18) 1 commit - (merged to 'next' on 2025-03-24 at 85b8299403) - + index-pack, unpack-objects: restore missing ->init_fn - - An earlier code refactoring of the hash machinery missed a few - required calls to init_fn. - cf. - source: <20250318111616.113941-1-hmz007@gmail.com> - - -* js/imap-send-peer-cert-verify (2025-03-25) 1 commit - (merged to 'next' on 2025-03-26 at 69df4dd915) - + imap-send: explicitly verify the peer certificate + Optimize the code to dedup references recorded in a bundle file. Will merge to 'master'. - source: + source: <20250408-488-generating-bundles-with-many-references-has-non-linear-performance-v2-0-0802fc36a23d@gmail.com> -* js/mingw-admins-are-special (2025-03-25) 2 commits - (merged to 'next' on 2025-03-26 at dfcb9661a6) - + test-tool path-utils: support debugging "dubious ownership" issues - + mingw: special-case administrators even more +* kn/meson-hdr-check (2025-04-08) 4 commits + - meson: add support for 'headers-check' + - meson: move headers definition from 'contrib/coccinelle' + - coccinelle: meson: rename variables to be more specific + - Merge branch 'es/meson-build-skip-coccinelle' into kn/meson-hdr-check - "Dubious ownership" checks on Windows has been tightened up. - source: + Add an equivalent to "make hdr-check" target to meson based builds. + + Getting there. + cf. + source: <20250408-505-wire-up-sparse-via-meson-v1-0-17476e5cea3f@gmail.com> -* kn/ci-meson-check-build-docs-fix (2025-03-20) 1 commit - (merged to 'next' on 2025-03-24 at 135ce9ce61) - + ci/github: add missing 'CI_JOB_IMAGE' env variable - - GitHub Actions CI switched on a CI/CD variable that does not exist - when choosing what packages to install etc., which has been - corrected. - source: <20250319163328.525284-1-karthik.188@gmail.com> - - -* ms/reftable-block-writer-errors (2025-03-21) 3 commits - (merged to 'next' on 2025-03-29 at 67fdddb622) - + reftable: adapt write_object_record() to propagate block_writer_add() errors - + reftable: adapt writer_add_record() to propagate block_writer_add() errors - + reftable: propagate specific error codes in block_writer_add() - - Give more meaningful error return values from block writer layer of - the reftable ref-API backend. - cf. - source: <20250319152927.1263033-1-meetsoni3017@gmail.com> - - -* ps/ci-meson-check-build-docs (2025-03-12) 1 commit - (merged to 'next' on 2025-03-29 at 5aed226a96) - + ci: perform build and smoke tests for Meson docs - - CI update. - source: <20250312-b4-pks-ci-meson-docs-v1-1-5e7cf7ac959a@pks.im> - - -* ps/reftable-sans-compat-util (2025-02-18) 18 commits - (merged to 'next' on 2025-03-29 at 4e9fbae111) - + Makefile: skip reftable library for Coccinelle - + reftable: decouple from Git codebase by pulling in "compat/posix.h" - + git-compat-util.h: split out POSIX-emulating bits - + compat/mingw: split out POSIX-related bits - + reftable/basics: introduce `REFTABLE_UNUSED` annotation - + reftable/basics: stop using `SWAP()` macro - + reftable/stack: stop using `sleep_millisec()` - + reftable/system: introduce `reftable_rand()` - + reftable/reader: stop using `ARRAY_SIZE()` macro - + reftable/basics: provide wrappers for big endian conversion - + reftable/basics: stop using `st_mult()` in array allocators - + reftable: stop using `BUG()` in trivial cases - + reftable/record: don't `BUG()` in `reftable_record_cmp()` - + reftable/record: stop using `BUG()` in `reftable_record_init()` - + reftable/record: stop using `COPY_ARRAY()` - + reftable/blocksource: stop using `xmmap()` - + reftable/stack: stop using `write_in_full()` - + reftable/stack: stop using `read_in_full()` - (this branch is used by ps/reftable-api-revamp and ps/reftable-windows-unlink-fix.) - - Make the code in reftable library less reliant on the service - routines it used to borrow from Git proper, to make it easier to - use by external users of the library. - cf. - source: <20250218-pks-reftable-drop-git-compat-util-v6-0-8c1f39fb4c02@pks.im> - - -* pw/build-breaking-changes-doc (2025-03-18) 1 commit - (merged to 'next' on 2025-03-24 at 56efeea47e) - + docs: add BreakingChanges to TECH_DOCS target - - A documentation page was left out from formatting and installation, - which has been corrected. - source: - - -* pw/doc-pack-refs-markup-fix (2025-03-18) 1 commit - (merged to 'next' on 2025-03-24 at 3bcea36a83) - + pack-refs doc: fix indentation for --exclude - - Doc markup fix. - source: - - -* rs/clear-commit-marks-simplify (2025-03-24) 1 commit - (merged to 'next' on 2025-03-29 at 222799fc4e) - + commit: move clear_commit_marks_many() loop body to clear_commit_marks() +* ps/object-file-cleanup (2025-04-11) 10 commits + - object-store: merge "object-store-ll.h" and "object-store.h" + - object-store: remove global array of cached objects + - object: split out functions relating to object store subsystem + - object-file: split out functions relating to index subsystem + - object-file: split up concerns of `HASH_*` flags + - object-file: split out functions relating to object store subsystem + - object-file: move `xmmap()` into "wrapper.c" + - object-file: move `git_open_cloexec()` to "compat/open.c" + - object-file: move `safe_create_leading_directories()` into "dir.c" + - Merge branch 'ps/object-wo-the-repository' into ps/object-file-cleanup + (this branch uses ps/object-wo-the-repository.) Code clean-up. - source: <80bfd7a9-904c-49d8-a367-ca268c096a9f@web.de> + + Will merge to 'next'. + source: <20250411-pks-split-object-file-v2-0-2bea0c9033ae@pks.im> -* ta/bulk-checkin-signed-compare-false-warning-fix (2025-03-25) 1 commit - (merged to 'next' on 2025-03-29 at 6f33c692ce) - + bulk-checkin: fix sign compare warnings - - Compiler warnings workaround. - source: <20250324214703.7547-1-taahol@utu.fi> - - -* tb/bitamp-typofix (2025-03-21) 1 commit - (merged to 'next' on 2025-03-26 at f068ddb5bb) - + pseudo-merge.h: fix a typo - - Typofix. - source: <3b3cc5c0fa2d0696eb15c5d3c97a6c93a0d39252.1742338479.git.me@ttaylorr.com> - - -* tb/combine-cruft-below-size (2025-03-21) 6 commits - (merged to 'next' on 2025-03-24 at 699b83a925) - + repack: begin combining cruft packs with `--combine-cruft-below-size` - + repack: avoid combining cruft packs with `--max-cruft-size` - + t/t7704-repack-cruft.sh: consolidate `write_blob()` - + t/t7704-repack-cruft.sh: clarify wording in --max-cruft-size tests - + t/t5329-pack-objects-cruft.sh: evict 'repack'-related tests - + Merge branch 'tb/multi-cruft-pack-refresh-fix' into tb/combine-cruft-below-size - - "git repack" learned "--combine-cruft-below-size" option that - controls how cruft-packs are combined. - source: - - -* tb/http-curl-keepalive (2025-03-21) 4 commits - (merged to 'next' on 2025-03-29 at 4782cca658) - + http.c: allow custom TCP keepalive behavior via config - + http.c: inline `set_curl_keepalive()` - + http.c: introduce `set_long_from_env()` for convenience - + http.c: remove unnecessary casts to long - - TCP keepalive behaviour on http transports can now be configured by - calling cURL library. - cf. - source: - - -* tb/incremental-midx-part-2 (2025-03-21) 14 commits - (merged to 'next' on 2025-03-29 at 1db17d1a9b) - + midx: implement writing incremental MIDX bitmaps - + pack-bitmap.c: use `ewah_or_iterator` for type bitmap iterators - + pack-bitmap.c: keep track of each layer's type bitmaps - + ewah: implement `struct ewah_or_iterator` - + pack-bitmap.c: apply pseudo-merge commits with incremental MIDXs - + pack-bitmap.c: compute disk-usage with incremental MIDXs - + pack-bitmap.c: teach `rev-list --test-bitmap` about incremental MIDXs - + pack-bitmap.c: support bitmap pack-reuse with incremental MIDXs - + pack-bitmap.c: teach `show_objects_for_type()` about incremental MIDXs - + pack-bitmap.c: teach `bitmap_for_commit()` about incremental MIDXs - + pack-bitmap.c: open and store incremental bitmap layers - + pack-revindex: prepare for incremental MIDX bitmaps - + Documentation: describe incremental MIDX bitmaps - + Documentation: remove a "future work" item from the MIDX docs - (this branch is used by ps/cat-file-filter-batch.) - - Incrementally updating multi-pack index files. - source: - - -* tb/refspec-fetch-cleanup (2025-03-21) 5 commits - (merged to 'next' on 2025-03-29 at 6cf1359bf4) - + refspec: replace `refspec_item_init()` with fetch/push variants - + refspec: remove refspec_item_init_or_die() - + refspec: replace `refspec_init()` with fetch/push variants - + refspec: treat 'fetch' as a Boolean value - + Merge branch 'jk/fetch-ref-prefix-cleanup' into tb/refspec-fetch-cleanup +* ab/environment-clean-header (2025-04-09) 1 commit + (merged to 'next' on 2025-04-09 at 845b92c7ef) + + environment.h: remove unused variables Code clean-up. - cf. - source: + + Will merge to 'master'. + source: <2c547567-2b72-476c-9fc5-71cac050fa15@gmail.com> + + +* cj/refname-avail-check-optim-typofix (2025-04-09) 1 commit + (merged to 'next' on 2025-04-09 at 95fe082872) + + refs: fix duplicated word in comment + + Comment fix. + + Will merge to 'master'. + source: + + +* dd/sparse-glibc-workaround (2025-04-09) 1 commit + (merged to 'next' on 2025-04-09 at 14ee53c8e4) + + sparse: ignore warning from new glibc headers + + Squelch false-positive from sparse. + + Will merge to 'master'. + source: + + +* js/ci-github-update-ubuntu (2025-04-09) 1 commit + (merged to 'next' on 2025-04-09 at fae10a2b5b) + + ci: upgrade `sparse` to supported build agents + + Adjust to the deprecation of use of Ubuntu 20.04 GitHub Actions CI. + + Will merge to 'master'. + source: <77f82414-261c-d2bc-f911-ed3d4b06c86e@gmx.de> + + +* ps/refname-avail-check-optim (2025-04-09) 1 commit + (merged to 'next' on 2025-04-09 at 0d35104147) + + refs/packed: fix BUG when seeking refs with UTF-8 characters + + Incorrect sorting of refs with bytes with high-bit set on platforms + with signed char led to a BUG, which has been corrected. + + Will merge to 'master'. + cf. <20250404205740.GA780449@coredump.intra.peff.net> + source: <20250404-b4-pks-packed-backend-seek-with-utf8-v1-1-6ceb694e3bd7@pks.im> + + +* rj/build-tweaks (2025-04-09) 13 commits + - config.mak.uname: set CSPRNG_METHOD to getrandom on Linux + - config.mak.uname: add arc4random to the cygwin build + - config.mak.uname: add sysinfo() configuration for cygwin + - builtin/gc.c: correct RAM calculation when using sysinfo + - config.mak.uname: add clock_gettime() to the cygwin build + - config.mak.uname: add HAVE_GETDELIM to the cygwin section + - config.mak.uname: only set NO_REGEX on cygwin for v1.7 + - config.mak.uname: add a note about NO_STRLCPY for Linux + - Makefile: remove NEEDS_LIBRT build variable + - meson.build: set default help format to html on windows + - meson.build: only set build variables for non-default values + - Makefile: only set some BASIC_CFLAGS when RUNTIME_PREFIX is set + - meson.build: remove -DCURL_DISABLE_TYPECHECK + + Various build tweaks, including CSPRNG selection on some platforms. + + Comments? + source: -------------------------------------------------- [Cooking] @@ -377,10 +211,12 @@ Release tarballs are available at: - SQUASH??? - - rebase -r: do create merge commit after empty resolution - A few fixes around "git status" while "git rebase" is running. + A few fixes around "git status" while "git rebase" is running, + plus a corner case bug fix for "git rebase -r". - Comments? It probably deserves a clarifying reroll. + Expecting a (small and hopefully final) clarifying reroll. cf. + cf. source: @@ -476,21 +312,24 @@ Release tarballs are available at: * kn/blame-porcelain-unblamable (2025-04-07) 1 commit - - blame: print unblamable and ignored commits in porcelain mode + (merged to 'next' on 2025-04-09 at 971ba23ba0) + + blame: print unblamable and ignored commits in porcelain mode "git blame --porcelain" mode now talks about unblamable lines and lines that are blamed to an ignored commit. - Will merge to 'next'. + Will merge to 'master'. source: <20250403160326.120124-1-karthik.188@gmail.com> -* ua/update-update-server-info (2025-03-29) 1 commit - - builtin/update-server-info: remove unnecessary if statement +* ua/update-update-server-info (2025-04-08) 1 commit + (merged to 'next' on 2025-04-09 at f0d47e97b5) + + builtin/update-server-info: remove unnecessary if statement - Expecting a (hopefully minor and final) reroll. - cf. - source: <20250329120327.105925-2-usmanakinyemi202@gmail.com> + Code simplification. + + Will merge to 'master'. + source: <20250407195850.299348-2-usmanakinyemi202@gmail.com> * ab/pathspec-sign-compare-workaround (2025-04-01) 1 commit @@ -514,19 +353,22 @@ Release tarballs are available at: source: -* en/merge-recursive-debug (2025-04-07) 8 commits - - builtin/{merge,rebase,revert}: remove GIT_TEST_MERGE_ALGORITHM - - tests: remove GIT_TEST_MERGE_ALGORITHM and test_expect_merge_algorithm - - merge-recursive.[ch]: thoroughly debug these - - merge, sequencer: switch recursive merges over to ort - - sequencer: switch non-recursive merges over to ort - - merge-ort: enable diff-algorithms other than histogram - - builtin/merge-recursive: switch to using merge_ort_generic() - - checkout: replace merge_trees() with merge_ort_nonrecursive() +* en/merge-recursive-debug (2025-04-08) 8 commits + (merged to 'next' on 2025-04-09 at 555be94c73) + + builtin/{merge,rebase,revert}: remove GIT_TEST_MERGE_ALGORITHM + + tests: remove GIT_TEST_MERGE_ALGORITHM and test_expect_merge_algorithm + + merge-recursive.[ch]: thoroughly debug these + + merge, sequencer: switch recursive merges over to ort + + sequencer: switch non-recursive merges over to ort + + merge-ort: enable diff-algorithms other than histogram + + builtin/merge-recursive: switch to using merge_ort_generic() + + checkout: replace merge_trees() with merge_ort_nonrecursive() - Expecting a reroll. - cf. - source: + Remove remnants of the recursive merge strategy backend, which was + superseded by the ort merge strategy. + + Will merge to 'master'. + source: * ja/doc-reset-mv-rm-markup-updates (2025-04-01) 5 commits @@ -675,7 +517,9 @@ Release tarballs are available at: source: <20250320-b4-pks-mingw-lockfile-flake-v2-0-a84c90cfc6c2@pks.im> -* jk/fetch-follow-remote-head-fix (2025-03-18) 3 commits +* jk/fetch-follow-remote-head-fix (2025-04-09) 4 commits + (merged to 'next' on 2025-04-09 at 3071fce577) + + fetch: make set_head() call easier to read (merged to 'next' on 2025-04-07 at ba5ac342a5) + fetch: don't ask for remote HEAD if followRemoteHEAD is "never" + fetch: only respect followRemoteHEAD with configured refspecs @@ -688,6 +532,7 @@ Release tarballs are available at: Will merge to 'master'. cf. source: <20250318053905.GA2051217@coredump.intra.peff.net> + source: <20250404085812.GA772404@coredump.intra.peff.net> * sc/bundle-uri-use-all-refs-in-bundle (2025-03-18) 2 commits @@ -813,6 +658,7 @@ Release tarballs are available at: + pack-write: stop depending on `the_repository` and `the_hash_algo` + object: stop depending on `the_repository` + csum-file: stop depending on `the_repository` + (this branch is used by ps/object-file-cleanup.) The object layer has been updated to take an explicit repository instance as a parameter in more code paths. @@ -902,55 +748,3 @@ Release tarballs are available at: Expecting a reroll. cf. source: <20250221190451.12536-1-eric.peijian@gmail.com> - --------------------------------------------------- -[Discarded] - -* jc/ci-meson-check-build-docs-fix (2025-03-14) 1 commit - . install meson for Documentation job - (this branch uses ps/ci-meson-check-build-docs.) - - The documentation CI job tries to build test documentation pages - with both make- and meson-based build procedures, but somehow - forgot to install meson in the Ci environment, which has been - corrected. - - Discarded. kn/ci-meson-check-build-docs-fix gives us the right fix. - cf. - cf. - source: <20250314184130.GA578421@coredump.intra.peff.net> - - -* js/libgit-cargo-package (2025-03-22) 5 commits - . libgit-{sys,rs}: add license and description fields - . libgit-sys: exclude unnecessary directories in git-src - . libgit-sys: parallelize build with Cargo's jobserver - . libgit-sys: add symlink to git repo root and build out of tree - . libgitpub: move to separate contrib/ directory - - Breaks Windows CI job with "../.." symbolic link in the source. - Retracted for now. - cf. - source: - - -* sj/meson-test-environ-fix (2025-03-14) 1 commit - . meson: use test_environment conditionally. - - meson-based build procedure was overly aggressive in using test - environment in two contrib/ directories, which was corrected. - - Superseded by ps/misc-build-fixes. - source: <3d127f293818f935efdb9ca7bb556e6a8f233ef7.1741975557.git.sam@gentoo.org> - - -* jc/doc-attr-tree (2024-12-14) 1 commit - . doc: give attr.tree a bit more visibility - - Make sure that "git --attr-source=X", GIT_ATTR_SOURCE, and - attr.tree configuration variables appear at the same places in the - documentation. - - Discarded. - cf. <20241216111112.GA2201417@coredump.intra.peff.net> - source: