From d988a4b8d744debfcf2e1bb22d463dbdcfda5373 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Fri, 6 Oct 2023 16:56:52 -0700 Subject: What's cooking (2023/10 #03) Signed-off-by: Junio C Hamano --- whats-cooking.txt | 381 +++++++++++++++++++++++++++++------------------------- 1 file changed, 204 insertions(+), 177 deletions(-) diff --git a/whats-cooking.txt b/whats-cooking.txt index 625fcb7c53..3509a5f742 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, #02; Wed, 4) +Subject: What's cooking in git.git (Oct 2023, #03; Fri, 6) X-master-at: 3a06386e314565108ad56a9bdb8f7b80ac52fb69 -X-next-at: 421f12c284626330cb1738d5e5e98c9ede1ec91e +X-next-at: 5fc05c94dcc1fa9e0ac97428e887ec52d78ec652 Bcc: lwn@lwn.net, gitster@pobox.com -What's cooking in git.git (Oct 2023, #02; Wed, 4) +What's cooking in git.git (Oct 2023, #03; Fri, 6) -------------------------------------------------- Here are the topics that have been cooking in my tree. Commits @@ -46,75 +46,158 @@ Release tarballs are available at: https://www.kernel.org/pub/software/scm/git/ -------------------------------------------------- -[Graduated to 'master'] +[New Topics] + +* jc/merge-ort-attr-index-fix (2023-10-05) 1 commit + - merge-ort: initialize repo in index state + + Fix "git merge-tree" to stop segfaulting when the --attr-source + option is used. + + Waiting for review response. + source: + -* bb/unicode-width-table-15 (2023-09-25) 1 commit - (merged to 'next' on 2023-09-28 at bb76f46606) - + unicode: update the width tables to Unicode 15.1 +* jk/decoration-and-other-leak-fixes (2023-10-05) 3 commits + (merged to 'next' on 2023-10-06 at 5fc05c94dc) + + daemon: free listen_addr before returning + + revision: clear decoration structs during release_revisions() + + decorate: add clear_decoration() function - The display width table for unicode characters has been updated for - Unicode 15.1 - source: <20230925190704.157731-1-dev+git@drbeat.li> + Leakfix. + + Will merge to 'master'. + source: <20231005212802.GA982892@coredump.intra.peff.net> -* jk/commit-graph-verify-fix (2023-09-28) 6 commits - (merged to 'next' on 2023-09-28 at e3ed560a2f) - + commit-graph: report incomplete chains during verification - + commit-graph: tighten chain size check - + commit-graph: detect read errors when verifying graph chain - + t5324: harmonize sha1/sha256 graph chain corruption - + commit-graph: check mixed generation validation when loading chain file - + commit-graph: factor out chain opening function +* sn/typo-grammo-phraso-fixes (2023-10-05) 5 commits + - t/README: fix multi-prerequisite example + - doc/gitk: s/sticked/stuck/ + - git-jump: admit to passing merge mode args to ls-files + - doc/diff-options: improve wording of the log.diffMerges mention + - doc: fix some typos, grammar and wording issues - Various fixes to "git commit-graph verify". - source: <20230928043746.GB57926@coredump.intra.peff.net> + Many typos, ungrammatical sentences and wrong phrasing have been + fixed. + Needs review. + source: <20231003082107.3002173-1-stepnem@smrk.net> -* ks/ref-filter-mailmap (2023-09-25) 3 commits - (merged to 'next' on 2023-09-28 at 0d3fd9959a) - + ref-filter: add mailmap support - + t/t6300: introduce test_bad_atom - + t/t6300: cleanup test_atom - "git for-each-ref" and friends learn to apply mailmap to authorname - and other fields. - source: <20230925175050.3498-1-five231003@gmail.com> +* so/diff-merges-dd (2023-10-05) 3 commits + - completion: complete '--dd' + - diff-merges: introduce '--dd' option + - diff-merges: improve --diff-merges documentation + "git log" and friends learned "--dd" that is a short-hand for + "--diff-merges=first-parent -p". -* ps/revision-cmdline-stdin-not (2023-09-25) 1 commit - (merged to 'next' on 2023-09-28 at a28201e0dd) - + revision: make pseudo-opt flags read via stdin behave consistently + Expecting a reroll. + cf. <871qe7r3rk.fsf@osv.gnss.ru> + source: <20231004214558.210339-1-sorganov@gmail.com> - "git rev-list --stdin" learned to take non-revisions (like "--not") - recently from the standard input, but the way such a "--not" was - handled was quite confusing, which has been rethought. This is - potentially a change that breaks backward compatibility. - source: <6221acd2796853144f8e84081655fbc79fdc6634.1695646898.git.ps@pks.im> +* vd/loose-ref-iteration-optimization (2023-10-06) 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 -* xz/commit-title-soft-limit-doc (2023-09-28) 1 commit - (merged to 'next' on 2023-09-28 at 20df852430) - + doc: correct the 50 characters soft limit + The code to iterate over loose references have been optimized to + reduce the number of lstat() system calls. + source: - Doc tweak. - source: + +* jc/update-list-references-to-lore (2023-10-06) 1 commit + - doc: update list archive reference to use lore.kernel.org + + source: -------------------------------------------------- -[New Topics] +[Stalled] + +* cc/git-replay (2023-09-07) 15 commits + - replay: stop assuming replayed branches do not diverge + - replay: add --contained to rebase contained branches + - replay: add --advance or 'cherry-pick' mode + - replay: disallow revision specific options and pathspecs + - replay: use standard revision ranges + - replay: make it a minimal server side command + - replay: remove HEAD related sanity check + - replay: remove progress and info output + - replay: add an important FIXME comment about gpg signing + - replay: don't simplify history + - replay: introduce pick_regular_commit() + - replay: die() instead of failing assert() + - replay: start using parse_options API + - replay: introduce new builtin + - t6429: remove switching aspects of fast-rebase + + Waiting for review response. + cf. <52277471-4ddd-b2e0-62ca-c2a5b59ae418@gmx.de> + cf. <58daa706-7efb-51dd-9061-202ef650b96a@gmx.de> + cf. + source: <20230907092521.733746-1-christian.couder@gmail.com> + + +* 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] * jk/commit-graph-leak-fixes (2023-10-03) 10 commits - - commit-graph: clear oidset after finishing write - - commit-graph: free write-context base_graph_name during cleanup - - commit-graph: free write-context entries before overwriting - - commit-graph: free graph struct that was not added to chain - - commit-graph: delay base_graph assignment in add_graph_to_chain() - - commit-graph: free all elements of graph chain - - commit-graph: move slab-clearing to close_commit_graph() - - merge: free result of repo_get_merge_bases() - - commit-reach: free temporary list in get_octopus_merge_bases() - - t6700: mark test as leak-free + (merged to 'next' on 2023-10-06 at 5d202ef8b9) + + commit-graph: clear oidset after finishing write + + commit-graph: free write-context base_graph_name during cleanup + + commit-graph: free write-context entries before overwriting + + commit-graph: free graph struct that was not added to chain + + commit-graph: delay base_graph assignment in add_graph_to_chain() + + commit-graph: free all elements of graph chain + + commit-graph: move slab-clearing to close_commit_graph() + + merge: free result of repo_get_merge_bases() + + commit-reach: free temporary list in get_octopus_merge_bases() + + t6700: mark test as leak-free Leakfix. + + Will merge to 'master'. source: <20231003202504.GA7697@coredump.intra.peff.net> @@ -138,17 +221,19 @@ Release tarballs are available at: source: -* tb/repack-max-cruft-size (2023-10-03) 4 commits - - builtin/repack.c: avoid making cruft packs preferred - - builtin/repack.c: implement support for `--max-cruft-size` - - builtin/repack.c: parse `--max-pack-size` with OPT_MAGNITUDE - - t7700: split cruft-related tests to t7704 +* tb/repack-max-cruft-size (2023-10-05) 4 commits + (merged to 'next' on 2023-10-06 at b3ca6df3b9) + + builtin/repack.c: avoid making cruft packs preferred + + builtin/repack.c: implement support for `--max-cruft-size` + + builtin/repack.c: parse `--max-pack-size` with OPT_MAGNITUDE + + t7700: split cruft-related tests to t7704 "git repack" learned "--max-cruft-size" to prevent cruft packs from growing without bounds. - Will merge to 'next'? + Will merge to 'master'. source: + source: <035393935108d02aaf8927189b05102f4f74f340.1696370003.git.me@ttaylorr.com> * ak/color-decorate-symbols (2023-10-03) 1 commit @@ -172,12 +257,13 @@ Release tarballs are available at: * js/submodule-fix-misuse-of-path-and-name (2023-10-03) 6 commits - - t7420: test that we correctly handle renamed submodules - - t7419: test that we correctly handle renamed submodules - - t7419, t7420: use test_cmp_config instead of grepping .gitmodules - - t7419: actually test the branch switching - - submodule--helper: return error from set-url when modifying failed - - submodule--helper: use submodule_from_path in set-{url,branch} + (merged to 'next' on 2023-10-06 at 1054b6e752) + + t7420: test that we correctly handle renamed submodules + + t7419: test that we correctly handle renamed submodules + + t7419, t7420: use test_cmp_config instead of grepping .gitmodules + + t7419: actually test the branch switching + + submodule--helper: return error from set-url when modifying failed + + submodule--helper: use submodule_from_path in set-{url,branch} In .gitmodules files, submodules are keyed by their names, and the path to the submodule whose name is $name is specified by the @@ -188,38 +274,9 @@ Release tarballs are available at: the problem does not surface until it is moved to a different path, which apparently happens very rarely. - Will merge to 'next'? + Will merge to 'master'. source: <0a0a157f88321d25fdb0be771a454b3410a449f3.camel@archlinux.org> --------------------------------------------------- -[Stalled] - -* 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] * cw/prelim-cleanup (2023-09-29) 4 commits (merged to 'next' on 2023-10-03 at 5985929612) @@ -246,8 +303,15 @@ Release tarballs are available at: * ar/diff-index-merge-base-fix (2023-10-02) 1 commit - - diff: fix --merge-base with annotated tags + (merged to 'next' on 2023-10-06 at 0ff4dfc0e1) + + diff: fix --merge-base with annotated tags + "git diff --merge-base X other args..." insisted that X must be a + commit and errored out when given an annotated tag that peels to a + commit, but we only need it to be a committish. This has been + corrected. + + Will merge to 'master'. source: <20231001151845.3621551-1-hi@alyssa.is> @@ -272,7 +336,7 @@ Release tarballs are available at: Stale URLs have been updated to their current counterparts (or archive.org) and HTTP links are replaced with working HTTPS links. - Needs eyeballing. + Needs review. source: @@ -322,8 +386,7 @@ Release tarballs are available at: Teach a repository to work with both SHA-1 and SHA-256 hash algorithms. - Breaks a few CI jobs when merged to 'seen'. - cf. + Needs review. source: <878r8l929e.fsf@gmail.froward.int.ebiederm.org> @@ -336,6 +399,7 @@ Release tarballs are available at: "git archive --remote=" learned to talk over the smart http (aka stateless) transport. + Needs review. source: @@ -361,18 +425,18 @@ Release tarballs are available at: source: -* js/ci-coverity (2023-09-25) 7 commits - - SQUASH??? - - 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 +* 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. - Looking good. + Will merge to 'master'. source: @@ -385,6 +449,8 @@ Release tarballs are available at: The parsing routines for the configuration files have been split into a separate file. + + Needs review. source: @@ -407,7 +473,7 @@ Release tarballs are available at: object to a new command line option of "git rev-list", so that the objects that are required but are missing can be enumerated. - Waiting for review response. + What's the status of this thing? source: <20230920104507.21664-1-karthik.188@gmail.com> @@ -418,21 +484,10 @@ Release tarballs are available at: A bit of type safety for the "value" pointer used in the parse-options API. - Comments? + What's the status of this thing? source: -* so/diff-merges-d (2023-09-11) 2 commits - - diff-merges: introduce '-d' option - - diff-merges: improve --diff-merges documentation - - Teach a new "-d" option that shows the patch against the first - parent for merge commits (which is "--diff-merges=first-parent -p"). - - Letting a less useful combination of options squat on short-and-sweet "-d" feels dubious. - source: <20230909125446.142715-1-sorganov@gmail.com> - - * 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 @@ -453,62 +508,25 @@ Release tarballs are available at: source: <20231002165504.1325153-1-christian.couder@gmail.com> -* 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: - - -* cc/git-replay (2023-09-07) 15 commits - - replay: stop assuming replayed branches do not diverge - - replay: add --contained to rebase contained branches - - replay: add --advance or 'cherry-pick' mode - - replay: disallow revision specific options and pathspecs - - replay: use standard revision ranges - - replay: make it a minimal server side command - - replay: remove HEAD related sanity check - - replay: remove progress and info output - - replay: add an important FIXME comment about gpg signing - - replay: don't simplify history - - replay: introduce pick_regular_commit() - - replay: die() instead of failing assert() - - replay: start using parse_options API - - replay: introduce new builtin - - t6429: remove switching aspects of fast-rebase - - Waiting for review response. - cf. <52277471-4ddd-b2e0-62ca-c2a5b59ae418@gmx.de> - cf. <58daa706-7efb-51dd-9061-202ef650b96a@gmx.de> - cf. - May want to wait until tb/repack-existing-packs-cleanup stabilizes. - source: <20230907092521.733746-1-christian.couder@gmail.com> - - * la/trailer-test-and-doc-updates (2023-09-07) 13 commits - - trailer doc: is a or , not both - - trailer doc: separator within key suppresses default separator - - trailer doc: emphasize the effect of configuration variables - - trailer --unfold help: prefer "reformat" over "join" - - trailer --parse docs: add explanation for its usefulness - - trailer --only-input: prefer "configuration variables" over "rules" - - trailer --parse help: expose aliased options - - trailer --no-divider help: describe usual "---" meaning - - trailer: trailer location is a place, not an action - - trailer doc: narrow down scope of --where and related flags - - trailer: add tests to check defaulting behavior with --no-* flags - - trailer test description: this tests --where=after, not --where=before - - trailer tests: make test cases self-contained + (merged to 'next' on 2023-10-06 at 69fef35819) + + trailer doc: is a or , not both + + trailer doc: separator within key suppresses default separator + + trailer doc: emphasize the effect of configuration variables + + trailer --unfold help: prefer "reformat" over "join" + + trailer --parse docs: add explanation for its usefulness + + trailer --only-input: prefer "configuration variables" over "rules" + + trailer --parse help: expose aliased options + + trailer --no-divider help: describe usual "---" meaning + + trailer: trailer location is a place, not an action + + trailer doc: narrow down scope of --where and related flags + + trailer: add tests to check defaulting behavior with --no-* flags + + trailer test description: this tests --where=after, not --where=before + + trailer tests: make test cases self-contained Test coverage for trailers has been improved. + + Will merge to 'master'. source: @@ -520,8 +538,8 @@ Release tarballs are available at: Process to add some form of low-level unit tests has started. - Waiting for review response. - cf. + Expecting a reroll. + cf. <0b6de919-8dbf-454f-807b-5abb64388cb7@gmail.com> source: @@ -537,7 +555,8 @@ Release tarballs are available at: Update the base topic to work with CMake builds. - Waiting for the base topic to settle. + Expecting a reroll. + cf. source: @@ -562,7 +581,7 @@ Release tarballs are available at: on systems whose "char" is unsigned; update the implementation and bump the format version to 2. - Still being discussed. + What's the status of this thing? cf. <20230830200218.GA5147@szeder.dev> cf. <20230901205616.3572722-1-jonathantanmy@google.com> cf. <20230924195900.GA1156862@szeder.dev> @@ -618,3 +637,11 @@ Release tarballs are available at: cf. cf. <20230915183927.1597414-1-jonathantanmy@google.com> source: <20230908174134.1026823-1-calvinwan@google.com> + + +* so/diff-merges-d (2023-09-11) 2 commits + - diff-merges: introduce '-d' option + - diff-merges: improve --diff-merges documentation + + Superseded by the so/diff-merges-dd topic. + source: <20230909125446.142715-1-sorganov@gmail.com> -- cgit 1.2.3-korg