From: Junio C Hamano Date: Thu, 13 Jul 2023 21:38:59 +0000 (-0700) Subject: What's cooking (2023/07 #03) X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ed602ca33855969605552218de3a2f77e87f11f3;p=thirdparty%2Fgit.git What's cooking (2023/07 #03) --- diff --git a/whats-cooking.txt b/whats-cooking.txt index de33a7e90d..c913af032a 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 (Jul 2023, #02; Mon, 10) +Subject: What's cooking in git.git (Jul 2023, #03; Thu, 13) X-master-at: aa9166bcc0ba654fc21f198a30647ec087f733ed -X-next-at: 4146f391ed560245855fc20b1ea1851409e7b4c8 +X-next-at: 6d72f3e9957d90c2c3269bbf808b5f7ffda9b026 Bcc: lwn@lwn.net, gitster@pobox.com -What's cooking in git.git (Jul 2023, #02; Mon, 10) +What's cooking in git.git (Jul 2023, #03; Thu, 13) -------------------------------------------------- Here are the topics that have been cooking in my tree. Commits @@ -17,6 +17,10 @@ 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 quite a few topics that have been in "Expecting a reroll" +for too long. I've moved those that are more than 3 months old to +the "Will discard" section. + 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,263 +52,68 @@ Release tarballs are available at: -------------------------------------------------- [New Topics] -* ah/advise-force-pushing (2023-07-07) 1 commit - - push: advise about force-pushing as an alternative to reconciliation - - Help newbies by suggesting that there are cases where force-pushing - is a valid and sensible thing to update a branch at a remote - repository, rather than reconciling with merge/rebase. - - Will merge to 'next'? - Perhaps we should go ahead with only the "git push" half (queued here) - without touching "git checkout" and "git status" half (not queued here). - source: <20230707054257.3366355-3-alexhenrie24@gmail.com> - - -* jc/pathspec-match-with-common-prefix (2023-07-08) 2 commits - (merged to 'next' on 2023-07-10 at 4146f391ed) - + dir: match "attr" pathspec magic with correct paths - + t6135: attr magic with path pattern - - "git ls-files '(attr:X)D/'" that triggers the common prefix - optimization codepath failed to read from "D/.gitattributes", - which has been corrected. - - Will merge to 'master'. - source: <20230707220457.3655121-1-gitster@pobox.com> - - -* jc/tree-walk-drop-base-offset (2023-07-07) 2 commits - - tree-walk: drop unused base_offset from do_match() - - tree-walk: lose base_offset that is never used in tree_entry_interesting - - Code simplification. - - Needs review. - source: <20230707222116.4129415-1-gitster@pobox.com> - - -* rs/ls-tree-prefix-simplify (2023-07-07) 1 commit - (merged to 'next' on 2023-07-08 at 3e4826525f) - + ls-tree: simplify prefix handling - - Code simplification. - - Will merge to 'master'. - source: - - -* rs/pretty-format-double-negation-fix (2023-07-07) 1 commit - (merged to 'next' on 2023-07-08 at 6674b562ff) - + pretty: avoid double negative in format_commit_item() - - Code clarification. - - Will merge to 'master'. - source: <8d4fcad1-5f71-4790-17ee-e9ba0a3118dc@web.de> - - -* rs/userformat-find-requirements-simplify (2023-07-07) 1 commit - (merged to 'next' on 2023-07-08 at 6cdc328a08) - + pretty: use strchr(3) in userformat_find_requirements() - - Code simplification. - - Will merge to 'master'. - source: <108ab1a2-28f4-dd62-1f90-64f37708aa8c@web.de> - - -* mh/doc-credential-helpers (2023-07-10) 1 commit - - doc: gitcredentials: link to helper list - - Doc update. - - Will merge to 'next'. - source: - - -* tb/fsck-no-progress (2023-07-10) 6 commits - - commit-graph.c: avoid duplicated progress output during `verify` - - commit-graph.c: pass progress to `verify_one_commit_graph()` - - commit-graph.c: iteratively verify commit-graph chains - - commit-graph.c: extract `verify_one_commit_graph()` - - fsck: suppress MIDX output with `--no-progress` - - fsck: suppress commit-graph output with `--no-progress` - - "git fsck --no-progress" still spewed noise from the commit-graph - subsystem, which has been corrected. - - Will merge to 'next'. - source: - - -* tb/repack-cleanup (2023-07-10) 2 commits - - builtin/repack.c: avoid dir traversal in `collect_pack_filenames()` - - builtin/repack.c: only repack `.pack`s that exist - - The recent change to "git repack" made it react less nicely when a - leftover .idx file that no longer has the corresponding .pack file - in the repository, which has been corrected. - - Will merge to 'next'. - source: - --------------------------------------------------- -[Graduated to 'master'] - -* cw/strbuf-cleanup (2023-06-12) 7 commits - (merged to 'next' on 2023-06-28 at c158b004a8) - + strbuf: remove global variable - + path: move related function to path - + object-name: move related functions to object-name - + credential-store: move related functions to credential-store file - + abspath: move related functions to abspath - + strbuf: clarify dependency - + strbuf: clarify API boundary - - Move functions that are not about pure string manipulation out of - strbuf.[ch] - source: <20230606194720.2053551-1-calvinwan@google.com> - - -* gc/config-context (2023-06-28) 11 commits - (merged to 'next' on 2023-06-28 at 38632f3daf) - + config: pass source to config_parser_event_fn_t - + config: add kvi.path, use it to evaluate includes - + config.c: remove config_reader from configsets - + config: pass kvi to die_bad_number() - + trace2: plumb config kvi - + config.c: pass ctx with CLI config - + config: pass ctx with config files - + config.c: pass ctx in configsets - + config: add ctx arg to config_fn_t - + urlmatch.h: use config_fn_t type - + config: inline git_color_default_config - - Reduce reliance on a global state in the config reading API. - source: - - -* gc/config-partial-submodule-kvi-fix (2023-06-26) 1 commit - (merged to 'next' on 2023-06-28 at 1fb30a34e3) - + config: don't BUG when both kvi and source are set - - Partially revert a sanity check that the rest of the config code - was not ready, to avoid triggering it in a corner case. - source: - - -* jc/doc-hash-object-types (2023-06-28) 1 commit - (merged to 'next' on 2023-06-28 at adff1700c2) - + docs: add git hash-object -t option's possible values - - Doc update. - source: +* ah/configure-no-expat (2023-07-13) 1 commit + - configure.ac: Don't overwrite NO_EXPAT option + "./configure --with-expat=no" did not work as a way to refuse use + of the expat library on a system with the library installed, which + has been corrected. -* jk/cherry-pick-revert-status (2023-06-27) 1 commit - (merged to 'next' on 2023-06-28 at 4a0d88ef7a) - + fix cherry-pick/revert status when doing multiple commits + Review response sent. + cf. + source: <20230713074654.23957-1-aherrmann@suse.de> - During a cherry-pick or revert session that works on multiple - commits, "git status" did not give correct information, which has - been corrected. - source: <20230627224230.1951135-1-jacob.e.keller@intel.com> +* jc/branch-in-use-error-message (2023-07-12) 1 commit + - branch: update the message to refuse touching a branch in-use -* jk/fsck-indices-in-worktrees (2023-06-29) 1 commit - (merged to 'next' on 2023-06-29 at 9d245b3681) - + fsck: avoid misleading variable name + "git branch -f X" to repoint the branch X seid that X was "checked + out" in another worktree, even when branch X was not and instead + being bisected or rebased. The message was reworded to say the + branch was "in use". - Code clarification. - source: <20230629181333.87465-1-ericsunshine@charter.net> - - -* js/empty-index-fixes (2023-06-29) 3 commits - (merged to 'next' on 2023-06-29 at cdfd131900) - + commit -a -m: allow the top-level tree to become empty again - + split-index: accept that a base index can be empty - + do_read_index(): always mark index as initialized unless erroring out - - A few places failed to differenciate the case where the index is - truly empty (nothing added) and we haven't yet read from the - on-disk index file, which have been corrected. - source: - - -* ks/t4205-test-describe-with-abbrev-fix (2023-06-29) 1 commit - (merged to 'next' on 2023-06-29 at 5fc309dc75) - + t4205: correctly test %(describe:abbrev=...) - - Test update. - source: <20230629133841.18784-2-five231003@gmail.com> - - -* pb/complete-diff-options (2023-06-26) 24 commits - (merged to 'next' on 2023-06-28 at ccff93557d) - + diff.c: mention completion above add_diff_options - + completion: complete --remerge-diff - + completion: complete --diff-merges, its options and --no-diff-merges - + completion: move --pickaxe-{all,regex} to __git_diff_common_options - + completion: complete --ws-error-highlight - + completion: complete --unified - + completion: complete --output-indicator-{context,new,old} - + completion: complete --output - + completion: complete --no-stat - + completion: complete --no-relative - + completion: complete --line-prefix - + completion: complete --ita-invisible-in-index and --ita-visible-in-index - + completion: complete --irreversible-delete - + completion: complete --ignore-matching-lines - + completion: complete --function-context - + completion: complete --find-renames - + completion: complete --find-object - + completion: complete --find-copies - + completion: complete --default-prefix - + completion: complete --compact-summary - + completion: complete --combined-all-paths - + completion: complete --cc - + completion: complete --break-rewrites - + completion: add comments describing __git_diff_* globals - - Completion updates. - source: - - -* pw/apply-too-large (2023-06-26) 1 commit - (merged to 'next' on 2023-06-28 at c0460d682c) - + apply: improve error messages when reading patch - - "git apply" punts when it is fed too large a patch input; the error - message it gives when it happens has been clarified. - source: - - -* rs/strbuf-expand-step (2023-06-18) 5 commits - (merged to 'next' on 2023-06-28 at 1918915b71) - + strbuf: simplify strbuf_expand_literal_cb() - + replace strbuf_expand() with strbuf_expand_step() - + replace strbuf_expand_dict_cb() with strbuf_expand_step() - + strbuf: factor out strbuf_expand_step() - + pretty: factor out expand_separator() - - Code clean-up around strbuf_expand() API. - source: <767baa64-20a6-daf2-d34b-d81f72363749@web.de> - - -* tl/notes-separator (2023-06-21) 7 commits - (merged to 'next' on 2023-06-28 at 74fa459f4d) - + notes: introduce "--no-separator" option - + notes.c: introduce "--[no-]stripspace" option - + notes.c: append separator instead of insert by pos - + notes.c: introduce '--separator=' option - + t3321: add test cases about the notes stripspace behavior - + notes.c: use designated initializers for clarity - + notes.c: cleanup 'strbuf_grow' call in 'append_edit' - - 'git notes append' was taught '--separator' to specify string to insert - between paragraphs. - source: + Will merge to 'next'? + source: + + +* tb/object-access-overflow-protection (2023-07-12) 20 commits + - commit-graph.c: prevent overflow in `verify_commit_graph()` + - commit-graph.c: prevent overflow in `write_commit_graph()` + - commit-graph.c: prevent overflow in `merge_commit_graph()` + - commit-graph.c: prevent overflow in `split_graph_merge_strategy()` + - commit-graph.c: prevent overflow in `load_tree_for_commit()` + - commit-graph.c: prevent overflow in `fill_commit_in_graph()` + - commit-graph.c: prevent overflow in `fill_commit_graph_info()` + - commit-graph.c: prevent overflow in `load_oid_from_graph()` + - commit-graph.c: prevent overflow in add_graph_to_chain() + - commit-graph.c: prevent overflow in `write_commit_graph_file()` + - pack-bitmap.c: ensure that eindex lookups don't overflow + - midx.c: prevent overflow in `fill_included_packs_batch()` + - midx.c: prevent overflow in `write_midx_internal()` + - midx.c: store `nr`, `alloc` variables as `size_t`'s + - midx.c: prevent overflow in `nth_midxed_offset()` + - midx.c: prevent overflow in `nth_midxed_object_oid()` + - midx.c: use `size_t`'s for fanout nr and alloc + - packfile.c: use checked arithmetic in `nth_packed_object_offset()` + - packfile.c: prevent overflow in `load_idx()` + - packfile.c: prevent overflow in `nth_packed_object_id()` + + Various offset computation in the code that accesses the packfiles + and other data in the object layer has been hardened against + arithmetic overflow, especially on 32-bit systems. + + Expecting a reroll or a fix-up. + cf. <5d2cf09f-34c7-9a88-bab2-8bf348dd13bb@gmail.com> + source: + + +* jc/doc-submodule-update-settings (2023-07-13) 1 commit + - submodule: clarify that "!custom command" is the only oddball + + Rewrite the description of giving a custom command to the + submodule..update configuraiton variable. + + source: -------------------------------------------------- [Stalled] @@ -315,7 +124,8 @@ Release tarballs are available at: Fix fsmonitor on Windows when the filesystem path contains certain characters. - Expecting a reroll. + Will discard. + Have been expecting a reroll for too long. cf. source: @@ -326,7 +136,8 @@ Release tarballs are available at: "git diff-index" command has been taught to work better with the sparse index. - Expecting a reroll. + Will discard. + Have been expecting a reroll for too long. cf. <62821012-4fc3-5ad8-695c-70f7ab14a8c9@github.com> source: <20230408112342.404318-1-nanth.raghul@gmail.com> @@ -339,7 +150,8 @@ Release tarballs are available at: the value can spell a Boolean in various ways. The support for the syntax is being dropped. - Expecting a reroll. + Will discard. + Have been expecting a reroll for too long. cf. source: @@ -351,7 +163,8 @@ Release tarballs are available at: "git checkout -B $branch" failed to protect against checking out a branch that is checked out elsewhere, unlike "git branch -f" did. - Expecting a hopefully minor and final reroll. + Will discard. + Have been expecting a hopefully minor and final reroll for too long. cf. source: <20230120113553.24655-1-carenas@gmail.com> @@ -364,7 +177,7 @@ Release tarballs are available at: more inline with the original spirit of "rebuild your side on top of theirs". - May want to discard. + Will discard. This is too much of a departure from the existing practice. cf. cf. @@ -379,6 +192,9 @@ Release tarballs are available at: Hardening checks around mismatched object types when one of those objects is a tag. + + Will discard. + Stalled for too long. source: @@ -388,7 +204,8 @@ Release tarballs are available at: Allow summary results from tests to be written to t/test-results directory even when a test harness like 'prove' is in use. - Expecting a reroll. + Will discard. + Have been expecting a reroll for too long. cf. source: <20221224225200.1027806-1-adam@dinwoodie.org> @@ -402,7 +219,7 @@ Release tarballs are available at: Assorted updates to "--diff-merges=X" option. - May want to discard. + Will discard. Breaking compatibility does not seem worth it. source: <20221217132955.108542-1-sorganov@gmail.com> @@ -418,7 +235,8 @@ Release tarballs are available at: Give a hard dependency on cURL library to build "git imap-send", and remove the code to interact with IMAP server without using cURL. - Expecting a reroll. + Will discard. + Have been expecting a reroll for too long. The 'tunnel' part is still iffy. cf. <230203.86bkmabfjr.gmgdl@evledraar.gmail.com> source: @@ -435,14 +253,151 @@ Release tarballs are available at: "git submodule status" learned to run the comparison in submodule repositories in parallel. - Expecting a reroll. + Will discard. + Have been expecting a reroll for too long. cf. cf. <230307.865ybc273g.gmgdl@evledraar.gmail.com> source: <20230302215237.1473444-1-calvinwan@google.com> + +* ob/revert-of-revert (2023-05-05) 1 commit + - sequencer: beautify subject of reverts of reverts + + Instead of "Revert "Revert "original"", give "Reapply "original"" + as the title for a revert of a revert. + + Will discard. + Have been expecting a hopefully final reroll for too long. + Looking much better, except for minor cosmetic issues. + cf. + source: <20230428083528.1699221-1-oswald.buddenhagen@gmx.de> + + +* pw/rebase-i-after-failure (2023-04-21) 6 commits + - rebase -i: fix adding failed command to the todo list + - rebase: fix rewritten list for failed pick + - rebase --continue: refuse to commit after failed command + - sequencer: factor out part of pick_commits() + - rebase -i: remove patch file after conflict resolution + - rebase -i: move unlink() calls + + Various fixes to the behaviour of "rebase -i" when the command got + interrupted by conflicting changes. + + Expecting a reroll. + cf. + cf. <1fd54422-b66a-c2e4-7cd7-934ea01190ad@gmail.com> + source: + -------------------------------------------------- [Cooking] +* ah/advise-force-pushing (2023-07-13) 3 commits + - push: don't imply that integration is always required before pushing + - remote: don't imply that integration is always required before pushing + - wt-status: don't show divergence advice when committing + + Help newbies by suggesting that there are cases where force-pushing + is a valid and sensible thing to update a branch at a remote + repository, rather than reconciling with merge/rebase. + + Will merge to 'next'. + cf. <919d1ba8-bb8b-a77b-cef3-db14f168ed4a@gmail.com> + source: <20230713044128.3771818-1-alexhenrie24@gmail.com> + + +* jc/pathspec-match-with-common-prefix (2023-07-08) 2 commits + (merged to 'next' on 2023-07-10 at 4146f391ed) + + dir: match "attr" pathspec magic with correct paths + + t6135: attr magic with path pattern + + "git ls-files '(attr:X)D/'" that triggers the common prefix + optimization codepath failed to read from "D/.gitattributes", + which has been corrected. + + Will merge to 'master'. + source: <20230707220457.3655121-1-gitster@pobox.com> + + +* jc/tree-walk-drop-base-offset (2023-07-07) 2 commits + - tree-walk: drop unused base_offset from do_match() + - tree-walk: lose base_offset that is never used in tree_entry_interesting + + Code simplification. + + Needs review. + source: <20230707222116.4129415-1-gitster@pobox.com> + + +* rs/ls-tree-prefix-simplify (2023-07-07) 1 commit + (merged to 'next' on 2023-07-08 at 3e4826525f) + + ls-tree: simplify prefix handling + + Code simplification. + + Will merge to 'master'. + source: + + +* rs/pretty-format-double-negation-fix (2023-07-07) 1 commit + (merged to 'next' on 2023-07-08 at 6674b562ff) + + pretty: avoid double negative in format_commit_item() + + Code clarification. + + Will merge to 'master'. + source: <8d4fcad1-5f71-4790-17ee-e9ba0a3118dc@web.de> + + +* rs/userformat-find-requirements-simplify (2023-07-07) 1 commit + (merged to 'next' on 2023-07-08 at 6cdc328a08) + + pretty: use strchr(3) in userformat_find_requirements() + + Code simplification. + + Will merge to 'master'. + source: <108ab1a2-28f4-dd62-1f90-64f37708aa8c@web.de> + + +* mh/doc-credential-helpers (2023-07-10) 1 commit + (merged to 'next' on 2023-07-11 at a391669194) + + doc: gitcredentials: link to helper list + + Doc update. + + Will merge to 'master'. + source: + + +* tb/fsck-no-progress (2023-07-10) 6 commits + (merged to 'next' on 2023-07-11 at aab8389518) + + commit-graph.c: avoid duplicated progress output during `verify` + + commit-graph.c: pass progress to `verify_one_commit_graph()` + + commit-graph.c: iteratively verify commit-graph chains + + commit-graph.c: extract `verify_one_commit_graph()` + + fsck: suppress MIDX output with `--no-progress` + + fsck: suppress commit-graph output with `--no-progress` + + "git fsck --no-progress" still spewed noise from the commit-graph + subsystem, which has been corrected. + + Will merge to 'master'. + source: + + +* tb/repack-cleanup (2023-07-11) 2 commits + (merged to 'next' on 2023-07-11 at f598c59a8a) + + builtin/repack.c: avoid dir traversal in `collect_pack_filenames()` + + builtin/repack.c: only repack `.pack`s that exist + + The recent change to "git repack" made it react less nicely when a + leftover .idx file that no longer has the corresponding .pack file + in the repository, which has been corrected. + + Will merge to 'master'. + source: + + * cw/compat-util-header-cleanup (2023-07-05) 6 commits (merged to 'next' on 2023-07-08 at c244b65c4f) + git-compat-util: move alloc macros to git-compat-util.h @@ -618,27 +573,28 @@ Release tarballs are available at: * tb/refs-exclusion-and-packed-refs (2023-07-10) 16 commits - - ls-refs.c: avoid enumerating hidden refs where possible - - upload-pack.c: avoid enumerating hidden refs where possible - - builtin/receive-pack.c: avoid enumerating hidden references - - refs.h: implement `hidden_refs_to_excludes()` - - refs.h: let `for_each_namespaced_ref()` take excluded patterns - - revision.h: store hidden refs in a `strvec` - - refs/packed-backend.c: add trace2 counters for jump list - - refs/packed-backend.c: implement jump lists to avoid excluded pattern(s) - - refs/packed-backend.c: refactor `find_reference_location()` - - refs: plumb `exclude_patterns` argument throughout - - builtin/for-each-ref.c: add `--exclude` option - - ref-filter.c: parameterize match functions over patterns - - ref-filter: add `ref_filter_clear()` - - ref-filter: clear reachable list pointers after freeing - - ref-filter.h: provide `REF_FILTER_INIT` - - refs.c: rename `ref_filter` + (merged to 'next' on 2023-07-13 at 6d72f3e995) + + ls-refs.c: avoid enumerating hidden refs where possible + + upload-pack.c: avoid enumerating hidden refs where possible + + builtin/receive-pack.c: avoid enumerating hidden references + + refs.h: implement `hidden_refs_to_excludes()` + + refs.h: let `for_each_namespaced_ref()` take excluded patterns + + revision.h: store hidden refs in a `strvec` + + refs/packed-backend.c: add trace2 counters for jump list + + refs/packed-backend.c: implement jump lists to avoid excluded pattern(s) + + refs/packed-backend.c: refactor `find_reference_location()` + + refs: plumb `exclude_patterns` argument throughout + + builtin/for-each-ref.c: add `--exclude` option + + ref-filter.c: parameterize match functions over patterns + + ref-filter: add `ref_filter_clear()` + + ref-filter: clear reachable list pointers after freeing + + ref-filter.h: provide `REF_FILTER_INIT` + + refs.c: rename `ref_filter` Enumerating refs in the packed-refs file, while excluding refs that match certain patterns, has been optimized. - Under discussion. + Will merge to 'master'. source: @@ -660,31 +616,3 @@ Release tarballs are available at: - t6429: remove switching aspects of fast-rebase source: <20230602102533.876905-1-christian.couder@gmail.com> - - -* ob/revert-of-revert (2023-05-05) 1 commit - - sequencer: beautify subject of reverts of reverts - - Instead of "Revert "Revert "original"", give "Reapply "original"" - as the title for a revert of a revert. - - Expecting a hopefully final reroll. - Looking much better, except for minor cosmetic issues. - source: <20230428083528.1699221-1-oswald.buddenhagen@gmx.de> - - -* pw/rebase-i-after-failure (2023-04-21) 6 commits - - rebase -i: fix adding failed command to the todo list - - rebase: fix rewritten list for failed pick - - rebase --continue: refuse to commit after failed command - - sequencer: factor out part of pick_commits() - - rebase -i: remove patch file after conflict resolution - - rebase -i: move unlink() calls - - Various fixes to the behaviour of "rebase -i" when the command got - interrupted by conflicting changes. - - Expecting a reroll. - cf. - cf. <1fd54422-b66a-c2e4-7cd7-934ea01190ad@gmail.com> - source: