From: Junio C Hamano Date: Thu, 12 Oct 2023 21:07:03 +0000 (-0700) Subject: What's cooking (2023/10 #05) X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c08bc20a6bc06bb1cd029c2cc9db736d0c45131c;p=thirdparty%2Fgit.git What's cooking (2023/10 #05) --- diff --git a/whats-cooking.txt b/whats-cooking.txt index ae2505556e..59fb5607c8 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 (Oct 2023, #04; Tue, 10) -X-master-at: aab89be2eb6ca51eefeb8c8066f673f447058856 -X-next-at: 989b7e0362472e4b4bd6a089ca4d4971fbf74bb7 +Subject: What's cooking in git.git (Oct 2023, #05; Thu, 12) +X-master-at: 59167d7d09fd7a1d64aa1d5be73bc484f6621894 +X-next-at: aed0368e0ec22719bf8aa6dece549de780395f82 Bcc: lwn@lwn.net, gitster@pobox.com -What's cooking in git.git (Oct 2023, #04; Tue, 10) +What's cooking in git.git (Oct 2023, #05; Thu, 12) -------------------------------------------------- Here are the topics that have been cooking in my tree. Commits @@ -17,6 +17,9 @@ topic without enough support may be discarded after a long period of no activity (of course they can be resubmit when new interests arise). +There are too many topics marked with "Needs review" label. I can +help reviewing some of them myself, but obviously it will not scale. + 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. @@ -48,64 +51,170 @@ Release tarballs are available at: -------------------------------------------------- [Graduated to 'master'] -* cc/repack-sift-filtered-objects-to-separate-pack (2023-10-02) 9 commits - (merged to 'next' on 2023-10-03 at e5a4824609) - + gc: add `gc.repackFilterTo` config option - + repack: implement `--filter-to` for storing filtered out objects - + gc: add `gc.repackFilter` config option - + repack: add `--filter=` option - + pack-bitmap-write: rebuild using new bitmap when remapping - + repack: refactor finding pack prefix - + repack: refactor finishing pack-objects command - + t/helper: add 'find-pack' test-tool - + pack-objects: allow `--filter` without `--stdout` +* jm/git-status-submodule-states-docfix (2023-10-04) 1 commit + (merged to 'next' on 2023-10-04 at 520b7711a4) + + git-status.txt: fix minor asciidoc format issue - "git repack" machinery learns to pay attention to the "--filter=" - option. - cf. - source: <20231002165504.1325153-1-christian.couder@gmail.com> + Docfix. + source: -* cw/prelim-cleanup (2023-09-29) 4 commits - (merged to 'next' on 2023-10-03 at 5985929612) - + parse: separate out parsing functions from config.h - + config: correct bad boolean env value error message - + wrapper: reduce scope of remove_or_warn() - + hex-ll: separate out non-hash-algo functions +* js/ci-coverity (2023-10-05) 6 commits + (merged to 'next' on 2023-10-05 at 253788f0d1) + + coverity: detect and report when the token or project is incorrect + + coverity: allow running on macOS + + coverity: support building on Windows + + coverity: allow overriding the Coverity project + + coverity: cache the Coverity Build Tool + + ci: add a GitHub workflow to submit Coverity scans - Shuffle some bits across headers and sources to prepare for - libification effort. - source: + GitHub CI workflow has learned to trigger Coverity check. + source: -* ds/init-diffstat-width (2023-09-29) 1 commit - (merged to 'next' on 2023-10-03 at 18383ac895) - + diff --stat: set the width defaults in a helper function +* rs/parse-opt-ctx-cleanup (2023-10-03) 1 commit + (merged to 'next' on 2023-10-04 at d5d0a2ce3b) + + parse-options: drop unused parse_opt_ctx_t member Code clean-up. - source: + source: + +-------------------------------------------------- +[New Topics] + +* jc/fail-stash-to-store-non-stash (2023-10-11) 1 commit + - stash: be careful what we store + + Feeding "git stash store" with a random commit that was not created + by "git stash create" now errors out. + + Will merge to 'next'? + source: -* eb/limit-bulk-checkin-to-blobs (2023-09-26) 1 commit - (merged to 'next' on 2023-10-02 at 89c9c95966) - + bulk-checkin: only support blobs in index_bulk_checkin +* jc/doc-unit-tests-fixup (2023-10-11) 1 commit + - SQUASH??? + (this branch uses js/doc-unit-tests and js/doc-unit-tests-with-cmake.) - The "streaming" interface used for bulk-checkin codepath has been - narrowed to take only blob objects for now, with no real loss of - functionality. - source: <87msx99b9o.fsf_-_@gmail.froward.int.ebiederm.org> + Quick fix for jc/doc-unit-tests topic to unbreak CI running on 'seen'. + source: + + +* bc/racy-4gb-files (2023-10-12) 2 commits + - Prevent git from rehashing 4GiB files + - t: add a test helper to truncate files + + The index file has room only for lower 32-bit of the file size in + the cached stat information, which means cached stat information + will have 0 in its sd_size member for a file whose size is multiple + of 4GiB. This is mistaken for a racily clean path. Avoid it by + storing a bogus sd_size value instead for such files. + + Waiting for review response. + source: <20231012160930.330618-1-sandals@crustytoothpaste.net> + + +* ds/mailmap-entry-update (2023-10-12) 1 commit + (merged to 'next' on 2023-10-12 at 3de300ac62) + + mailmap: change primary address for Derrick Stolee + + Update mailmap entry for Derrick. + + Will merge to 'master' immediately. + source: + + +* jc/grep-f-relative-to-cwd (2023-10-12) 1 commit + - grep: -f is relative to $cwd + + "cd sub && git grep -f patterns" tried to read "patterns" file at + the top level of the working tree; it has been corrected to read + "sub/patterns" instead. + + Needs review. + source: -------------------------------------------------- -[New Topics] +[Stalled] + +* pw/rebase-sigint (2023-09-07) 1 commit + - rebase -i: ignore signals when forking subprocesses + + If the commit log editor or other external programs (spawned via + "exec" insn in the todo list) receive internactive signal during + "git rebase -i", it caused not just the spawned program but the + "Git" process that spawned them, which is often not what the end + user intended. "git" learned to ignore SIGINT and SIGQUIT while + waiting for these subprocesses. + + Expecting a reroll. + cf. <12c956ea-330d-4441-937f-7885ab519e26@gmail.com> + source: + + +* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit + - cherry-pick: refuse cherry-pick sequence if index is dirty + + "git cherry-pick A" that replays a single commit stopped before + clobbering local modification, but "git cherry-pick A..B" did not, + which has been corrected. + + Expecting a reroll. + cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com> + source: + + +* jc/diff-cached-fsmonitor-fix (2023-09-15) 3 commits + - diff-lib: fix check_removed() when fsmonitor is active + - Merge branch 'jc/fake-lstat' into jc/diff-cached-fsmonitor-fix + - Merge branch 'js/diff-cached-fsmonitor-fix' into jc/diff-cached-fsmonitor-fix + (this branch uses jc/fake-lstat.) + + The optimization based on fsmonitor in the "diff --cached" + codepath is resurrected with the "fake-lstat" introduced earlier. + + It is unknown if the optimization is worth resurrecting, but in case... + source: + +-------------------------------------------------- +[Cooking] + +* tb/path-filter-fix (2023-10-10) 17 commits + - bloom: introduce `deinit_bloom_filters()` + - commit-graph: reuse existing Bloom filters where possible + - object.h: fix mis-aligned flag bits table + - commit-graph: drop unnecessary `graph_read_bloom_data_context` + - commit-graph.c: unconditionally load Bloom filters + - bloom: prepare to discard incompatible Bloom filters + - bloom: annotate filters with hash version + - commit-graph: new filter ver. that fixes murmur3 + - repo-settings: introduce commitgraph.changedPathsVersion + - t4216: test changed path filters with high bit paths + - t/helper/test-read-graph: implement `bloom-filters` mode + - bloom.h: make `load_bloom_filter_from_graph()` public + - t/helper/test-read-graph.c: extract `dump_graph_info()` + - gitformat-commit-graph: describe version 2 of BDAT + - commit-graph: ensure Bloom filters are read with consistent settings + - revision.c: consult Bloom filters for root commits + - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()` + + The Bloom filter used for path limited history traversal was broken + on systems whose "char" is unsigned; update the implementation and + bump the format version to 2. + + Needs (hopefully final and quick) review. + source: + * ak/pretty-decorate-more-fix (2023-10-09) 1 commit - - pretty: fix ref filtering for %(decorate) formats + (merged to 'next' on 2023-10-12 at 3cbb4c2268) + + pretty: fix ref filtering for %(decorate) formats Unlike "git log --pretty=%D", "git log --pretty="%(decorate)" did not auto-initialize the decoration subsystem, which has been corrected. - Will merge to 'next'? + Will merge to 'master'. source: <20231008202307.1568477-1-andy.koppe@gmail.com> @@ -143,14 +252,16 @@ Release tarballs are available at: * kn/rev-list-missing-fix (2023-10-09) 3 commits - - rev-list: add commit object support in `--missing` option - - rev-list: move `show_commit()` to the bottom - - revision: rename bit to `do_not_die_on_missing_objects` + . rev-list: add commit object support in `--missing` option + . rev-list: move `show_commit()` to the bottom + . revision: rename bit to `do_not_die_on_missing_objects` "git rev-list --missing" did not work for missing commit objects, which has been corrected. Needs review. + Seems to break CI job with extra environment settings. + cf. source: <20231009105528.17777-1-karthik.188@gmail.com> @@ -205,86 +316,14 @@ Release tarballs are available at: * ps/rewritten-is-per-worktree-doc (2023-10-10) 1 commit - - doc/git-worktree: mention "refs/rewritten" as per-worktree refs + (merged to 'next' on 2023-10-12 at 501b960e8c) + + doc/git-worktree: mention "refs/rewritten" as per-worktree refs Doc update. - Will merge to 'next'. + Will merge to 'master'. source: <985ac850eb6e60ae76601acc8bfbcd56f99348b4.1696935657.git.ps@pks.im> --------------------------------------------------- -[Stalled] - -* tb/path-filter-fix (2023-08-30) 15 commits - - bloom: introduce `deinit_bloom_filters()` - - commit-graph: reuse existing Bloom filters where possible - - object.h: fix mis-aligned flag bits table - - commit-graph: drop unnecessary `graph_read_bloom_data_context` - - commit-graph.c: unconditionally load Bloom filters - - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()` - - bloom: prepare to discard incompatible Bloom filters - - bloom: annotate filters with hash version - - commit-graph: new filter ver. that fixes murmur3 - - repo-settings: introduce commitgraph.changedPathsVersion - - t4216: test changed path filters with high bit paths - - t/helper/test-read-graph: implement `bloom-filters` mode - - bloom.h: make `load_bloom_filter_from_graph()` public - - t/helper/test-read-graph.c: extract `dump_graph_info()` - - gitformat-commit-graph: describe version 2 of BDAT - - The Bloom filter used for path limited history traversal was broken - on systems whose "char" is unsigned; update the implementation and - bump the format version to 2. - - Reroll exists, not picked up yet. - cf. <20230830200218.GA5147@szeder.dev> - cf. <20230901205616.3572722-1-jonathantanmy@google.com> - cf. <20230924195900.GA1156862@szeder.dev> - cf. <20231008143523.GA18858@szeder.dev> - source: - - -* pw/rebase-sigint (2023-09-07) 1 commit - - rebase -i: ignore signals when forking subprocesses - - If the commit log editor or other external programs (spawned via - "exec" insn in the todo list) receive internactive signal during - "git rebase -i", it caused not just the spawned program but the - "Git" process that spawned them, which is often not what the end - user intended. "git" learned to ignore SIGINT and SIGQUIT while - waiting for these subprocesses. - - Expecting a reroll. - cf. <12c956ea-330d-4441-937f-7885ab519e26@gmail.com> - source: - - -* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit - - cherry-pick: refuse cherry-pick sequence if index is dirty - - "git cherry-pick A" that replays a single commit stopped before - clobbering local modification, but "git cherry-pick A..B" did not, - which has been corrected. - - Expecting a reroll. - cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com> - source: - - -* jc/diff-cached-fsmonitor-fix (2023-09-15) 3 commits - - diff-lib: fix check_removed() when fsmonitor is active - - Merge branch 'jc/fake-lstat' into jc/diff-cached-fsmonitor-fix - - Merge branch 'js/diff-cached-fsmonitor-fix' into jc/diff-cached-fsmonitor-fix - (this branch uses jc/fake-lstat.) - - The optimization based on fsmonitor in the "diff --cached" - codepath is resurrected with the "fake-lstat" introduced earlier. - - It is unknown if the optimization is worth resurrecting, but in case... - source: - --------------------------------------------------- -[Cooking] * jc/merge-ort-attr-index-fix (2023-10-09) 1 commit (merged to 'next' on 2023-10-10 at b139b87502) @@ -336,15 +375,16 @@ Release tarballs are available at: * vd/loose-ref-iteration-optimization (2023-10-09) 4 commits - - files-backend.c: avoid stat in 'loose_fill_ref_dir' - - dir.[ch]: add 'follow_symlink' arg to 'get_dtype' - - dir.[ch]: expose 'get_dtype' - - ref-cache.c: fix prefix matching in ref iteration + (merged to 'next' on 2023-10-12 at 99e2f83855) + + files-backend.c: avoid stat in 'loose_fill_ref_dir' + + dir.[ch]: add 'follow_symlink' arg to 'get_dtype' + + dir.[ch]: expose 'get_dtype' + + ref-cache.c: fix prefix matching in ref iteration The code to iterate over loose references have been optimized to reduce the number of lstat() system calls. - Will merge to 'next'? + Will merge to 'master'. source: @@ -375,6 +415,8 @@ Release tarballs are available at: Introduce "git replay", a tool meant on the server side without working tree to recreate a history. + + Needs (hopefully final and quick) review. source: <20231010123847.2777056-1-christian.couder@gmail.com> @@ -397,26 +439,6 @@ Release tarballs are available at: source: <20231003202504.GA7697@coredump.intra.peff.net> -* jm/git-status-submodule-states-docfix (2023-10-04) 1 commit - (merged to 'next' on 2023-10-04 at 520b7711a4) - + git-status.txt: fix minor asciidoc format issue - - Docfix. - - Will merge to 'master'. - source: - - -* rs/parse-opt-ctx-cleanup (2023-10-03) 1 commit - (merged to 'next' on 2023-10-04 at d5d0a2ce3b) - + parse-options: drop unused parse_opt_ctx_t member - - Code clean-up. - - Will merge to 'master'. - source: - - * tb/repack-max-cruft-size (2023-10-09) 5 commits (merged to 'next' on 2023-10-09 at 38f039e880) + repack: free existing_cruft array after use @@ -444,15 +466,15 @@ Release tarballs are available at: source: <20231003205442.22963-1-andy.koppe@gmail.com> -* jc/attr-tree-config (2023-10-04) 2 commits - - attr: add attr.allowInvalidSource config to allow invalid revision +* jc/attr-tree-config (2023-10-11) 2 commits - attr: add attr.tree for setting the treeish to read attributes from + - attr: read attributes from HEAD when bare repo The attribute subsystem learned to honor `attr.tree` configuration that specifies which tree to read the .gitattributes files from. - Reroll exists, but not picked up (a review sent). - source: + Will merge to 'next'? + source: * js/submodule-fix-misuse-of-path-and-name (2023-10-03) 6 commits @@ -577,31 +599,17 @@ Release tarballs are available at: source: -* ty/merge-tree-strategy-options (2023-09-25) 1 commit +* ty/merge-tree-strategy-options (2023-10-11) 2 commits + (merged to 'next' on 2023-10-12 at 9b873601df) + + merge: introduce {copy|clear}_merge_options() (merged to 'next' on 2023-09-29 at aa65b54416) + merge-tree: add -X strategy option "git merge-tree" learned to take strategy backend specific options via the "-X" option, like "git merge" does. - Hold. There is an unwanted structure copying going on. - cf. - source: - - -* js/ci-coverity (2023-10-05) 6 commits - (merged to 'next' on 2023-10-05 at 253788f0d1) - + coverity: detect and report when the token or project is incorrect - + coverity: allow running on macOS - + coverity: support building on Windows - + coverity: allow overriding the Coverity project - + coverity: cache the Coverity Build Tool - + ci: add a GitHub workflow to submit Coverity scans - - GitHub CI workflow has learned to trigger Coverity check. - Will merge to 'master'. - source: + source: * js/config-parse (2023-09-21) 5 commits @@ -667,11 +675,11 @@ Release tarballs are available at: - ci: run unit tests in CI - unit tests: add TAP unit test framework - unit tests: add a project plan document - (this branch is used by js/doc-unit-tests-with-cmake.) + (this branch is used by jc/doc-unit-tests-fixup and js/doc-unit-tests-with-cmake.) Process to add some form of low-level unit tests has started. - Will merge to 'next'? + Expecting a reroll to address CI breakage. source: @@ -683,7 +691,7 @@ Release tarballs are available at: - unit-tests: do show relative file paths - unit-tests: do not mistake `.pdb` files for being executable - cmake: also build unit tests - (this branch uses js/doc-unit-tests.) + (this branch is used by jc/doc-unit-tests-fixup; uses js/doc-unit-tests.) Update the base topic to work with CMake builds.