From b493a23a017e86c7e309aa157bcf63a367edd87f Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Wed, 20 Nov 2024 15:40:49 +0900 Subject: [PATCH] What's cooking (2024/11 #07) --- whats-cooking.txt | 412 ++++++++++++++++++++++++++-------------------- 1 file changed, 232 insertions(+), 180 deletions(-) diff --git a/whats-cooking.txt b/whats-cooking.txt index 8c6add9241..5d0dc37817 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 (Nov 2024, #06; Thu, 14) -X-master-at: 25b0f41288718625b18495de23cc066394c09a92 -X-next-at: bc8a4e45283384156c5b1b511874d1a3b06e3306 +Subject: What's cooking in git.git (Nov 2024, #07; Wed, 20) +X-master-at: 4083a6f05206077a50af7658bedc17a94c54607d +X-next-at: 19ba395cfbc44b678027f7759aa877c040ad48a2 Bcc: lwn@lwn.net, gitster@pobox.com -What's cooking in git.git (Nov 2024, #06; Thu, 14) +What's cooking in git.git (Nov 2024, #07; Wed, 20) -------------------------------------------------- Here are the topics that have been cooking in my tree. Commits @@ -17,10 +17,6 @@ topic without enough support may be discarded after a long period of no activity (of course they can be resubmit when new interests arise). -A few commits to update git-gui are in. There are still too many -topics that are left unreviewed, and the 'next' branch is not -gaining topics as quickly as it usually would. - Copies of the source code to Git live in many repositories, and the following is a list of the ones I push into or their mirrors. Some repositories have only a subset of branches. @@ -52,91 +48,159 @@ Release tarballs are available at: -------------------------------------------------- [Graduated to 'master'] -* ak/t1016-style (2024-11-03) 1 commit - (merged to 'next' on 2024-11-05 at ee100e90d3) - + t1016: clean up style - - Test modernization. - source: <20241103135111.13508-1-algonell@gmail.com> - - -* en/shallow-exclude-takes-a-ref-fix (2024-11-04) 2 commits - (merged to 'next' on 2024-11-05 at 8c5d52930b) - + doc: correct misleading descriptions for --shallow-exclude - + upload-pack: fix ambiguous error message - - The "--shallow-exclude=" option to various history transfer - commands takes a ref, not an arbitrary revision. - source: - - -* jt/commit-graph-missing (2024-11-05) 2 commits - (merged to 'next' on 2024-11-06 at b4dd083c2a) - + fetch-pack: die if in commit graph but not obj db - + Revert "fetch-pack: add a deref_without_lazy_fetch_extended()" - - A regression where commit objects missing from a commit-graph can - cause an infinite loop when doing a fetch in a partial clone has - been fixed. - source: - - -* ps/leakfixes-part-9 (2024-11-04) 22 commits - (merged to 'next' on 2024-11-05 at 0260dbd8bd) - + list-objects-filter-options: work around reported leak on error - + builtin/merge: release output buffer after performing merge - + dir: fix leak when parsing "status.showUntrackedFiles" - + t/helper: fix leaking buffer in "dump-untracked-cache" - + t/helper: stop re-initialization of `the_repository` - + sparse-index: correctly free EWAH contents - + dir: release untracked cache data - + combine-diff: fix leaking lost lines - + builtin/tag: fix leaking key ID on failure to sign - + transport-helper: fix leaking import/export marks - + builtin/commit: fix leaking cleanup config - + trailer: fix leaking strbufs when formatting trailers - + trailer: fix leaking trailer values - + builtin/commit: fix leaking change data contents - + upload-pack: fix leaking URI protocols - + pretty: clear signature check - + diff-lib: fix leaking diffopts in `do_diff_cache()` - + revision: fix leaking bloom filters - + builtin/grep: fix leak with `--max-count=0` - + grep: fix leak in `grep_splice_or()` - + t/helper: fix leaks in "reach" test tool - + builtin/ls-remote: plug leaking server options - (this branch is used by ps/leakfixes-part-10.) - - More leakfixes. - source: - - -* ps/mingw-rename (2024-11-06) 3 commits - (merged to 'next' on 2024-11-06 at 6dd2fffec7) - + compat/mingw: support POSIX semantics for atomic renames - + compat/mingw: allow deletion of most opened files - + compat/mingw: share file handles created via `CreateFileW()` - - The MinGW compatibility layer has been taught to support POSIX - semantics for atomic renames when other process(es) have a file - opened at the destination path. - cf. <1483501d-d798-46d6-93f5-f5edaf915e99@kdbg.org> - source: - --------------------------------------------------- -[New Topics] - * ja/git-add-doc-markup (2024-11-12) 1 commit (merged to 'next' on 2024-11-13 at 1af6d17105) + doc: git-add.txt: convert to new style convention Documentation mark-up updates. + + source: + + +* jt/repack-local-promisor (2024-11-12) 4 commits + (merged to 'next' on 2024-11-13 at 895d633576) + + index-pack: repack local links into promisor packs + + t5300: move --window clamp test next to unclamped + + t0410: use from-scratch server + + t0410: make test description clearer + (this branch is used by jt/index-pack-allow-promisor-only-while-fetching.) + + "git gc" discards any objects that are outside promisor packs that + are referred to by an object in a promisor pack, and we do not + refetch them from the promisor at runtime, resulting an unusable + repository. Work it around by including these objects in the + referring promisor pack at the receiving end of the fetch. + + source: + + +* la/trailer-info (2024-10-14) 1 commit + (merged to 'next' on 2024-11-13 at f038e226f6) + + trailer: spread usage of "trailer_block" language + + Renaming a handful of variables and structure fields. + + source: + +-------------------------------------------------- +[New Topics] + +* bc/allow-upload-pack-from-other-people (2024-11-15) 1 commit + - Allow cloning from repositories owned by another user + + Loosen overly strict ownership check introduced in the recent past, + to keep the promise "cloning a suspicious repository is a safe + first step to inspect it". + + Comments? + source: <20241115005404.3747302-2-sandals@crustytoothpaste.net> + + +* kn/ref-transaction-hook-with-reflog (2024-11-15) 1 commit + - refs: don't invoke reference-transaction hook for reflogs + + The ref-transaction hook triggered for reflog updates, which has + been corrected. + + Will merge to 'next'. + source: <20241114-348-do-not-call-the-reference-transaction-hooks-for-reflogs-v1-1-ece7260ee3c1@gmail.com> + + +* bc/c23 (2024-11-18) 2 commits + (merged to 'next' on 2024-11-20 at bd29255bf3) + + reflog: rename unreachable + + index-pack: rename struct thread_local + + C23 compatibility updates. Will merge to 'master'. - source: + source: <20241117013149.576671-1-sandals@crustytoothpaste.net> + + +* jk/gcc15 (2024-11-18) 6 commits + (merged to 'next' on 2024-11-20 at fa92bcdeb9) + + object-file: inline empty tree and blob literals + + object-file: treat cached_object values as const + + object-file: drop oid field from find_cached_object() return value + + object-file: move empty_tree struct into find_cached_object() + + object-file: drop confusing oid initializer of empty_tree struct + + object-file: prefer array-of-bytes initializer for hash literals + + GCC 15 compatibility updates. + + Will merge to 'master'. + source: <20241118095423.GA3990835@coredump.intra.peff.net> + + +* kh/trailer-in-glossary (2024-11-18) 1 commit + (merged to 'next' on 2024-11-20 at fad433e2f4) + + Documentation/glossary: describe "trailer" + + Doc updates. + + Will merge to 'master'. + source: + + +* en/fast-import-avoid-self-replace (2024-11-19) 1 commit + (merged to 'next' on 2024-11-20 at 751ee6b395) + + fast-import: avoid making replace refs point to themselves + + "git fast-import" can be tricked into a replace ref that maps an + object to itself, which is a useless thing to do. + + Will merge to 'master'. + source: + + +* jt/index-pack-allow-promisor-only-while-fetching (2024-11-20) 1 commit + (merged to 'next' on 2024-11-20 at 9bd7657760) + + index-pack: teach --promisor to forbid pack name + We now ensure "index-pack" is used with the "--promisor" option + only during a "git fetch". -* ja/git-diff-doc-markup (2024-11-12) 5 commits + Will merge to 'master'. + source: <20241119201016.22713-1-jonathantanmy@google.com> + + +* ps/gc-stale-lock-warning (2024-11-20) 1 commit + - builtin/gc: provide hint when maintenance hits a stale schedule lock + + Give a bit of advice/hint message when "git gc" stops finding a + lock file left by another instance of "git gc" that still is + potentially running. + + Will merge to 'next'. + source: <20241119-pks-maintenance-hint-with-stale-lock-v1-1-f9f9a98e12a0@pks.im> + + +* tb/incremental-midx-part-2 (2024-11-20) 15 commits + - 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 + - Merge branch 'tb/pseudo-merge-bitmap-fixes' into tb/incremental-midx-part-2 + - Merge branch 'tb/incremental-midx-part-1' into tb/incremental-midx-part-2 + + Incrementally updating multi-pack index files. + + Needs review. + source: + +-------------------------------------------------- +[Cooking] + +* ja/git-diff-doc-markup (2024-11-19) 5 commits - doc: git-diff: apply format changes to config part - doc: git-diff: apply format changes to diff-generate-patch - doc: git-diff: apply format changes to diff-format @@ -144,42 +208,47 @@ Release tarballs are available at: - doc: git-diff: apply new documentation guidelines Documentation mark-up updates. - source: + + Will merge to 'next'? + source: * jk/test-malloc-debug-check (2024-11-14) 2 commits - - test-lib: move malloc-debug setup after $PATH setup + (merged to 'next' on 2024-11-15 at 4f8a448748) + + test-lib: move malloc-debug setup after $PATH setup (merged to 'next' on 2024-11-13 at 9aa0331ba1) + test-lib: check malloc debug LD_PRELOAD before using Avoid build/test breakage on a system without working malloc debug support dynamic library. - Will merge to 'next'. + Will merge to 'master'. source: <20241111070134.GA675125@coredump.intra.peff.net> source: <20241114012729.GA1148710@coredump.intra.peff.net> -* ps/clar-build-improvement (2024-11-12) 4 commits - - Makefile: let clar header targets depend on their scripts - - cmake: use verbatim arguments when invoking clar commands - - cmake: use SH_EXE to execute clar scripts - - t/unit-tests: convert "clar-generate.awk" into a shell script +* ps/clar-build-improvement (2024-11-18) 4 commits + (merged to 'next' on 2024-11-20 at d88840a15d) + + Makefile: let clar header targets depend on their scripts + + cmake: use verbatim arguments when invoking clar commands + + cmake: use SH_EXE to execute clar scripts + + t/unit-tests: convert "clar-generate.awk" into a shell script Fix for clar unit tests to support CMake build. - Will merge to 'next'? - source: <20241111-pks-clar-build-improvements-v2-0-d4794d8d1b30@pks.im> + Will merge to 'master'. + source: <20241115-pks-clar-build-improvements-v3-0-29672bf65ec6@pks.im> * jk/fetch-prefetch-double-free-fix (2024-11-12) 3 commits - - refspec: store raw refspecs inside refspec_item - - refspec: drop separate raw_nr count - - fetch: adjust refspec->raw_nr when filtering prefetch refspecs + (merged to 'next' on 2024-11-15 at 178c112999) + + refspec: store raw refspecs inside refspec_item + + refspec: drop separate raw_nr count + + fetch: adjust refspec->raw_nr when filtering prefetch refspecs Double-free fix. - Will merge to 'next'. + Will merge to 'master'. source: <20241112083204.GA2636868@coredump.intra.peff.net> @@ -193,44 +262,48 @@ Release tarballs are available at: End-user experience of "git mergetool" when the command errors out has been improved. - Will merge to next'? + Will merge to 'next'? source: -* ps/send-pack-unhide-error-in-atomic-push (2024-11-14) 2 commits - - transport: don't ignore git-receive-pack(1) exit code on atomic push +* ps/send-pack-unhide-error-in-atomic-push (2024-11-15) 6 commits + - push: not send push-options to server with --dry-run + - push: only ignore finish_connect() for dry-run mode + - t5543: atomic push reports exit code failure - t5504: modernize test by moving heredocs into test bodies + - push: fix the behavior of the Done message for porcelain + - t5548: new test cases for push --porcelain and --dry-run "git push --atomic --porcelain" used to ignore failures from the other side, losing the error status from the child process, which has been corrected. - Comments? - source: <20241113-pks-push-atomic-respect-exit-code-v1-0-7965f01e7f4e@pks.im> + Needs review. + source: * sm/difftool (2024-11-13) 1 commit - - builtin/difftool: intialize some hashmap variables + (merged to 'next' on 2024-11-15 at a323438b13) + + builtin/difftool: intialize some hashmap variables Use of some uninitialized variables in "git difftool" has been corrected. - Will merge to 'next'. + Will merge to 'master'. source: <20241112162320.818091-1-simon.marchi@polymtl.ca> -* tb/multi-pack-reuse-dupfix (2024-11-14) 2 commits - - pack-objects: only perform verbatim reuse on the preferred pack - - t5332-multi-pack-reuse.sh: demonstrate duplicate packing failure +* tb/multi-pack-reuse-dupfix (2024-11-15) 2 commits + (merged to 'next' on 2024-11-16 at 32792297e5) + + pack-objects: only perform verbatim reuse on the preferred pack + + t5332-multi-pack-reuse.sh: demonstrate duplicate packing failure Object reuse code based on multi-pack-index sent an unwanted copy of object. - Will merge to 'next'. - source: + Will merge to 'master'. + source: --------------------------------------------------- -[Cooking] * ps/ref-backend-migration-optim (2024-11-08) 10 commits - reftable/block: optimize allocations by using scratch buffer @@ -260,7 +333,7 @@ Release tarballs are available at: source: -* ps/reftable-iterator-reuse (2024-11-08) 9 commits +* ps/reftable-iterator-reuse (2024-11-19) 9 commits - refs/reftable: reuse iterators when reading refs - reftable/merged: drain priority queue on reseek - reftable/stack: add mechanism to notify callers on reload @@ -299,8 +372,7 @@ Release tarballs are available at: "git describe" optimization. - Expecting a reroll. - cf <20241106192650.GA912471@coredump.intra.peff.net> + Comments? source: <20241106192236.GC880133@coredump.intra.peff.net> @@ -384,23 +456,6 @@ Release tarballs are available at: source: -* jt/repack-local-promisor (2024-11-12) 4 commits - (merged to 'next' on 2024-11-13 at 895d633576) - + index-pack: repack local links into promisor packs - + t5300: move --window clamp test next to unclamped - + t0410: use from-scratch server - + t0410: make test description clearer - - "git gc" discards any objects that are outside promisor packs that - are referred to by an object in a promisor pack, and we do not - refetch them from the promisor at runtime, resulting an unusable - repository. Work it around by including these objects in the - referring promisor pack at the receiving end of the fetch. - - Will merge to 'master'. - source: - - * ds/path-walk-1 (2024-11-11) 6 commits - path-walk: mark trees and blobs as UNINTERESTING - path-walk: visit tags and cached objects @@ -445,17 +500,18 @@ Release tarballs are available at: source: <20241031-wt_relative_options-v4-0-07a3dc0f02a3@pm.me> -* kh/bundle-docs (2024-11-08) 4 commits - - Documentation/git-bundle.txt: discuss naïve backups - - Documentation/git-bundle.txt: mention --all in spec. refs - - Documentation/git-bundle.txt: remove old `--all` example - - Documentation/git-bundle.txt: mention full backup example +* kh/bundle-docs (2024-11-18) 4 commits + (merged to 'next' on 2024-11-20 at d70c2c32ce) + + Documentation/git-bundle.txt: discuss naïve backups + + Documentation/git-bundle.txt: mention --all in spec. refs + + Documentation/git-bundle.txt: remove old `--all` example + + Documentation/git-bundle.txt: mention full backup example Documentation improvements to more prominently call out the use of '--all' when creating bundles. - Will merge to 'next'? - source: + Will merge to 'master'. + source: * as/show-index-uninitialized-hash (2024-11-11) 2 commits @@ -468,7 +524,7 @@ Release tarballs are available at: source: <20241109092739.14276-1-abhijeet.nkt@gmail.com> -* ps/reftable-detach (2024-11-08) 8 commits +* ps/reftable-detach (2024-11-19) 8 commits - reftable/system: provide thin wrapper for lockfile subsystem - reftable/stack: drop only use of `get_locked_file_path()` - reftable/system: provide thin wrapper for tempfile subsystem @@ -483,7 +539,7 @@ Release tarballs are available at: using fewer pieces of Git's infrastructure. Needs review. - source: + source: * km/config-remote-by-name (2024-10-21) 1 commit @@ -506,16 +562,6 @@ Release tarballs are available at: source: -* la/trailer-info (2024-10-14) 1 commit - (merged to 'next' on 2024-11-13 at f038e226f6) - + trailer: spread usage of "trailer_block" language - - Renaming a handful of variables and structure fields. - - Will merge to 'master'. - source: - - * bc/drop-ancient-libcurl-and-perl (2024-10-23) 12 commits - gitweb: make use of s///r - Require Perl 5.26.0 @@ -547,7 +593,7 @@ Release tarballs are available at: source: -* bf/set-head-symref (2024-10-23) 8 commits +* bf/set-head-symref (2024-11-19) 9 commits - fetch set_head: handle mirrored bare repositories - fetch: set remote/HEAD if it does not exist - refs: add create_only option to refs_update_symref_extended @@ -555,41 +601,47 @@ Release tarballs are available at: - remote set-head: better output for --auto - remote set-head: refactor for readability - refs: atomically record overwritten ref in update_symref + - refs: standardize output of refs_read_symbolic_ref - t/t5505-remote: set default branch to main When "git fetch $remote" notices that refs/remotes/$remote/HEAD is missing and discovers what branch the other side points with its HEAD, refs/remotes/$remote/HEAD is updated to point to it. - Needs review. - source: <20241023153736.257733-1-bence@ferdinandy.com> - - -* ps/build (2024-11-13) 19 commits - - meson: fix conflicts with in-flight topics - - Introduce support for the Meson build system - - Documentation: add comparison of build systems - - t: allow overriding build dir - - t: better support for out-of-tree builds - - Documentation: extract script to generate a list of mergetools - - Documentation: teach "cmd-list.perl" about out-of-tree builds - - Documentation: allow sourcing generated includes from separate dir - - Makefile: simplify building of templates - - Makefile: allow "bin-wrappers/" directory to exist - - Makefile: refactor generators to be PWD-independent - - Makefile: refactor GIT-VERSION-GEN to be reusable - - Makefile: extract script to generate gitweb.cgi - - Makefile: extract script to massage Shell scripts - - Makefile: use "generate-perl.sh" to massage Perl library - - Makefile: extract script to massage Perl scripts - - Makefile: consistently use PERL_PATH - - Makefile: consistently use @PLACEHOLDER@ to substitute - - Makefile: use common template for GIT-BUILD-OPTIONS + Looking good. + source: <20241118151755.756265-1-bence@ferdinandy.com> + + +* ps/build (2024-11-20) 23 commits + . meson: fix conflicts with in-flight topics + . Introduce support for the Meson build system + . Documentation: add comparison of build systems + . t: allow overriding build dir + . t: better support for out-of-tree builds + . Documentation: extract script to generate a list of mergetools + . Documentation: teach "cmd-list.perl" about out-of-tree builds + . Documentation: allow sourcing generated includes from separate dir + . Makefile: simplify building of templates + . Makefile: allow "bin-wrappers/" directory to exist + . Makefile: refactor generators to be PWD-independent + . Makefile: extract script to generate gitweb.js + . Makefile: extract script to generate gitweb.cgi + . Makefile: extract script to massage Shell scripts + . Makefile: use "generate-perl.sh" to massage Perl library + . Makefile: extract script to massage Perl scripts + . Makefile: consistently use PERL_PATH + . Makefile: generate doc versions via GIT-VERSION-GEN + . Makefile: generate "git.rc" via GIT-VERSION-GEN + . Makefile: propagate Git version via generated header + . Makefile: refactor GIT-VERSION-GEN to be reusable + . Makefile: consistently use @PLACEHOLDER@ to substitute + . Makefile: use common template for GIT-BUILD-OPTIONS Build procedure update plus introduction of Mason based builds - Under discussion. - source: <20241112-pks-meson-v6-0-648b30996827@pks.im> + Getting there. + cf. + source: <20241119-pks-meson-v8-0-809bf7f042f3@pks.im> * ej/cat-file-remote-object-info (2024-11-11) 6 commits @@ -624,7 +676,7 @@ Release tarballs are available at: source: <20240910163000.1985723-1-christian.couder@gmail.com> -* sj/ref-contents-check (2024-11-11) 9 commits +* sj/ref-contents-check (2024-11-15) 9 commits - ref: add symlink ref content check for files backend - ref: check whether the target of the symref is a ref - ref: add basic symref content check for files backend @@ -641,7 +693,7 @@ Release tarballs are available at: after the full object name). Comments? - source: + source: * js/libgit-rust (2024-10-16) 5 commits -- 2.47.3