From: Junio C Hamano Date: Wed, 24 Aug 2022 23:59:46 +0000 (-0700) Subject: What's cooking (2022/08 #08) X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2a5d0375cb3118756665f6654c2d2cb37851c31e;p=thirdparty%2Fgit.git What's cooking (2022/08 #08) --- diff --git a/whats-cooking.txt b/whats-cooking.txt index 4bdac47aaf..d495659ade 100644 --- a/whats-cooking.txt +++ b/whats-cooking.txt @@ -1,9 +1,9 @@ To: git@vger.kernel.org -Subject: What's cooking in git.git (Aug 2022, #07; Fri, 19) +Subject: What's cooking in git.git (Aug 2022, #08; Wed, 24) X-master-at: 795ea8776befc95ea2becd8020c7a284677b4161 -X-next-at: 83af4878235c0b991658350560d398d4e8edb8a9 +X-next-at: 1cad371f1c4a4d3e2f0d7a9bbce5708e2a9d2902 -What's cooking in git.git (Aug 2022, #07; Fri, 19) +What's cooking in git.git (Aug 2022, #08; Wed, 24) -------------------------------------------------- Here are the topics that have been cooking in my tree. Commits @@ -13,8 +13,8 @@ release). Commits prefixed with '-' are only in 'seen', and aren't considered "accepted" at all. A topic without enough support may be discarded after a long period of no activity. -We are at the end of the week #6 of a 12-week cycle (cf. -https://tinyurl.com/gitCal). +We are in the middle of the week #7 of a 12-week cycle +(cf. https://tinyurl.com/gitCal). 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 @@ -47,12 +47,150 @@ Release tarballs are available at: -------------------------------------------------- [New Topics] +* ds/bundle-uri-3 (2022-08-24) 8 commits + - bundle-uri: fetch a list of bundles + - bundle-uri: limit recursion depth for bundle lists + - bundle-uri: parse bundle list in config format + - bundle-uri: unit test "key=value" parsing + - bundle-uri: create "key=value" line parsing + - bundle-uri: create base key-value pair parsing + - bundle-uri: create bundle_list struct and helpers + - Merge branch 'ds/bundle-uri-clone' into ds/bundle-uri-3 + (this branch uses ds/bundle-uri-clone.) + + Define the logical elements of a "bundle list", data structure to + store them in-core, format to transfer them, and code to parse + them. + + Needs review. + source: + + +* en/merge-unstash-only-on-clean-merge (2022-08-24) 1 commit + - merge: only apply autostash when appropriate + + The auto-stashed local changes created by "git merge --autostash" + was mixed into a conflicted state left in the working tree, which + has been corrected. + + Will merge to 'next'. + source: <610b8d089db97bf1a37dbf230f51ecafe3086254.1661222541.git.gitgitgadget@gmail.com> + + +* es/fix-chained-tests (2022-08-24) 4 commits + (merged to 'next' on 2022-08-24 at 6266835a6e) + + t5329: notice a failure within a loop + (merged to 'next' on 2022-08-22 at 3774cfdaf4) + + t: detect and signal failure within loop + + t1092: fix buggy sparse "blame" test + + t2407: fix broken &&-chains in compound statement + + Fix broken "&&-" chains and failures in early iterations of a loop. + + Will merge to 'master'. + source: + + +* ad/preload-plug-memleak (2022-08-22) 1 commit + (merged to 'next' on 2022-08-24 at 1cad371f1c) + + preload-index: fix memleak + + The preload-index codepath made copies of pathspec to give to + multiple threads, which were left leaked. + + Will merge to 'master'. + source: <20220822211507.8693-2-anthony.2lannoy@gmail.com> + + +* sg/xcalloc-cocci-fix (2022-08-24) 1 commit + (merged to 'next' on 2022-08-24 at 84c05819d3) + + promisor-remote: fix xcalloc() argument order + + xcalloc(), imitating calloc(), takes "number of elements of the + array", and "size of a single element", in this order. A call that + does not follow this ordering has been corrected. + + Will merge to 'master'. + source: <20220823095733.58685-1-szeder.dev@gmail.com> + + +* ds/github-actions-use-newer-ubuntu (2022-08-24) 1 commit + (merged to 'next' on 2022-08-24 at 55a76348b2) + + ci: update 'static-analysis' to Ubuntu 22.04 + + Update the version of Ubuntu used for GitHub Actions CI from 18.04 + to 22.04. + + Will merge to 'master'. + source: + + +* en/merge-multi-strategies (2022-08-24) 2 commits + - merge: small code readability improvement + - merge: cleanup confusing logic for handling successful merges + + The code that implements multi-strategy support in "git merge" has + been clean-up a bit. + + Will merge to 'next'. + source: + + +* en/t4301-more-merge-tree-tests (2022-08-24) 1 commit + - t4301: add more interesting merge-tree testcases + + More tests to protect the current behaviour of "merge-tree" before + it gets further updated. + + Will merge to 'next'. + source: + + +* js/add-p-diff-parsing-fix (2022-08-24) 4 commits + - add -p: ignore dirty submodules + - add -p: handle `diff-so-fancy`'s hunk headers better + - add -p: gracefully ignore unparseable hunk headers in colored diffs + - t3701: redefine what is "bogus" output of a diff filter + + Those who use diff-so-fancy as the diff-filter noticed a regression + or two in the reimplemented "add -p", which has been corrected. + + Needs review. + source: + + +* js/cmake-updates (2022-08-24) 5 commits + - cmake: increase time-out for a long-running test + - cmake: avoid editing t/test-lib.sh + - add -p: avoid ambiguous signed/unsigned comparison + - cmake: copy the merge tools for testing + - cmake: make it easier to diagnose regressions in CTest runs + + Update to build procedure with VS using CMake/CTest. + + Needs review. + source: + + +* js/range-diff-with-pathspec (2022-08-24) 2 commits + - range-diff: optionally accept a pathspec + - range-diff: reorder argument handling + + Allow passing a pathspec to "git range-diff". + + Needs review. + source: + +-------------------------------------------------- +[Cooking] + * en/ort-unused-code-removal (2022-08-19) 1 commit - - merge-ort: remove code obsoleted by other changes + (merged to 'next' on 2022-08-22 at f09dbeeca3) + + merge-ort: remove code obsoleted by other changes Code clean-up. - Will merge to 'next'? + Will merge to 'master'. source: @@ -68,63 +206,59 @@ Release tarballs are available at: * jk/unused-annotation (2022-08-19) 11 commits - - is_path_owned_by_current_uid(): mark "report" parameter as unused - - run-command: mark unused async callback parameters - - mark unused read_tree_recursive() callback parameters - - hashmap: mark unused callback parameters - - config: mark unused callback parameters - - streaming: mark unused virtual method parameters - - transport: mark bundle transport_options as unused - - refs: mark unused virtual method parameters - - refs: mark unused reflog callback parameters - - refs: mark unused each_ref_fn parameters - - git-compat-util: add UNUSED macro + (merged to 'next' on 2022-08-24 at 2174b8c75d) + + is_path_owned_by_current_uid(): mark "report" parameter as unused + + run-command: mark unused async callback parameters + + mark unused read_tree_recursive() callback parameters + + hashmap: mark unused callback parameters + + config: mark unused callback parameters + + streaming: mark unused virtual method parameters + + transport: mark bundle transport_options as unused + + refs: mark unused virtual method parameters + + refs: mark unused reflog callback parameters + + refs: mark unused each_ref_fn parameters + + git-compat-util: add UNUSED macro Annotate function parameters that are not used (but cannot be removed for structural reasons), to prepare us to later compile with -Wunused warning turned on. - Will merge to 'next'. + Will merge to 'master'. source: -* jk/unused-fixes (2022-08-19) 6 commits - - reflog: assert PARSE_OPT_NONEG in parse-options callbacks - - reftable: drop unused parameter from reader_seek_linear() - - verify_one_sparse(): drop unused repository parameter - - match_pathname(): drop unused "flags" parameter - - log-tree: drop unused commit param in remerge_diff() - - xdiff: drop unused mmfile parameters from xdl_do_histogram_diff() +* jk/unused-fixes (2022-08-20) 7 commits + (merged to 'next' on 2022-08-22 at 2fe4de2aed) + + xdiff: drop unused mmfile parameters from xdl_do_patience_diff() + + reflog: assert PARSE_OPT_NONEG in parse-options callbacks + + reftable: drop unused parameter from reader_seek_linear() + + verify_one_sparse(): drop unused parameters + + match_pathname(): drop unused "flags" parameter + + log-tree: drop unused commit param in remerge_diff() + + xdiff: drop unused mmfile parameters from xdl_do_histogram_diff() Code clean-up to remove unused function parameters. - Will merge to 'next'. + Will merge to 'master'. source: - - -* js/merge-tree-without-munging-filenames (2022-08-19) 3 commits - - t4301: add a test case involving a rename, type change & modification - - merge-tree: show the original file names in the conflict output - - merge-tree -z: always show the original file name first - - "git merge-tree" output was improved to help "merging without - working tree" usecase better in a few ways. - source: + source: * mg/sequencer-untranslate-reflog (2022-08-19) 3 commits - - sequencer: do not translate command names - - sequencer: do not translate parameters to error_resolve_conflict() - - sequencer: do not translate reflog messages + (merged to 'next' on 2022-08-22 at 75aadeb865) + + sequencer: do not translate command names + + sequencer: do not translate parameters to error_resolve_conflict() + + sequencer: do not translate reflog messages The sequencer machinery translated messages left in the reflog by mistake, which has been corrected. - Will merge to 'next'. + Will merge to 'master'. source: -* tb/midx-with-changing-preferred-pack-fix (2022-08-19) 6 commits +* tb/midx-with-changing-preferred-pack-fix (2022-08-22) 7 commits + - midx.c: avoid adding preferred objects twice - midx.c: include preferred pack correctly with existing MIDX - midx.c: extract `midx_fanout_add_pack_fanout()` - midx.c: extract `midx_fanout_add_midx_fanout()` @@ -135,105 +269,21 @@ Release tarballs are available at: Multi-pack index got corrupted when preferred pack changed from one pack to another in a certain way, which has been corrected. - Needs review. - source: + Will merge to 'next'? + cf. + source: * vd/fix-perf-tests (2022-08-19) 2 commits - - p0006: fix 'read-tree' argument ordering - - p0004: fix prereq declaration + (merged to 'next' on 2022-08-22 at e68356e624) + + p0006: fix 'read-tree' argument ordering + + p0004: fix prereq declaration Rather trivial perf-test code fixes. - Will merge to 'next'. + Will merge to 'master'. source: --------------------------------------------------- -[Graduated to 'master'] - -* ds/bundle-uri-more (2022-08-10) 2 commits - (merged to 'next' on 2022-08-12 at 4f445a058d) - + bundle-uri: add example bundle organization - + docs: document bundle URI standard - - The "bundle URI" design gets documented. - source: - - -* fc/vimdiff-layout-vimdiff3-fix (2022-08-10) 7 commits - (merged to 'next' on 2022-08-11 at a14fec292f) - + mergetools: vimdiff: simplify tabfirst - + mergetools: vimdiff: fix single window layouts - + mergetools: vimdiff: rework tab logic - + mergetools: vimdiff: fix for diffopt - + mergetools: vimdiff: silence annoying messages - + mergetools: vimdiff: make vimdiff3 actually work - + mergetools: vimdiff: fix comment - - "vimdiff3" regression fix. - source: <20220810154618.307275-1-felipe.contreras@gmail.com> - - -* jk/fsck-tree-mode-bits-fix (2022-08-10) 3 commits - (merged to 'next' on 2022-08-11 at 219fe53025) - + fsck: downgrade tree badFilemode to "info" - + fsck: actually detect bad file modes in trees - + tree-walk: add a mechanism for getting non-canonicalized modes - - "git fsck" reads mode from tree objects but canonicalizes the mode - before passing it to the logic to check object sanity, which has - hid broken tree objects from the checking logic. This has been - corrected, but to help exiting projects with broken tree objects - that they cannot fix retroactively, the severity of anomalies this - code detects has been demoted to "info" for now. - source: - - -* ll/disk-usage-humanise (2022-08-11) 1 commit - (merged to 'next' on 2022-08-14 at 3873a83f90) - + rev-list: support human-readable output for `--disk-usage` - - "git rev-list --disk-usage" learned to take an optional value - "human" to show the reported value in human-readable format, like - "3.40MiB". - source: - - -* po/doc-add-renormalize (2022-08-10) 1 commit - (merged to 'next' on 2022-08-11 at 53851663eb) - + doc add: renormalize is not idempotent for CRCRLF - - Documentation for "git add --renormalize" has been improved. - source: <20220810144450.470-2-philipoakley@iee.email> - - -* sy/sparse-rm (2022-08-08) 5 commits - (merged to 'next' on 2022-08-12 at 5bf10965fb) - + rm: integrate with sparse-index - + rm: expand the index only when necessary - + pathspec.h: move pathspec_needs_expanded_index() from reset.c to here - + t1092: add tests for `git-rm` - + Merge branch 'vd/sparse-reset-checkout-fixes' into sy/sparse-rm - (this branch uses vd/sparse-reset-checkout-fixes.) - - "git rm" has become more aware of the sparse-index feature. - source: <20220807041335.1790658-1-shaoxuan.yuan02@gmail.com> - - -* vd/sparse-reset-checkout-fixes (2022-08-08) 4 commits - (merged to 'next' on 2022-08-12 at 755d6ecdb8) - + unpack-trees: unpack new trees as sparse directories - + cache.h: create 'index_name_pos_sparse()' - + oneway_diff: handle removed sparse directories - + checkout: fix nested sparse directory diff in sparse index - (this branch is used by sy/sparse-rm.) - - Fixes to sparse index compatibility work for "reset" and "checkout" - commands. - source: - --------------------------------------------------- -[Cooking] * vd/scalar-enables-fsmonitor (2022-08-18) 8 commits (merged to 'next' on 2022-08-19 at 1e172e5647) @@ -281,8 +331,9 @@ Release tarballs are available at: source: -* ed/fsmonitor-on-network-disk (2022-08-18) 2 commits - - fsmonitor: option to allow fsmonitor to run against network-mounted repos +* ed/fsmonitor-on-network-disk (2022-08-24) 3 commits + - Check working directory and Unix domain socket file for compatability + - fsmonitor: macOS: allow fsmonitor to run against network-mounted repos (merged to 'next' on 2022-08-14 at 637d458d9c) + fsmonitor: option to allow fsmonitor to run against network-mounted repos @@ -290,10 +341,9 @@ Release tarballs are available at: repositories; a configuration knob for users to override this has been introduced. - The second one needs more work. - cf. <4q6248n0-nqr5-p5pp-64s3-qq7nr53q01op@tzk.qr> - cf. <20220819185847.ulr5yjcfsahydeff@tb-raspi4> + Needs review. source: + source: * jk/is-promisor-object-keep-tree-in-use (2022-08-14) 1 commit @@ -332,7 +382,8 @@ Release tarballs are available at: option now implies --reapply-cherry-picks and --no-fork-point options. - Needs review. + Expecting a reroll. + cf. source: @@ -353,6 +404,10 @@ Release tarballs are available at: - t6060: modify multiple files to expose a possible issue with merge-index An attempt to rewrite remaining merge strategies from shell to C. + + Needs more work. + At the minimum, we should lose 11/14 and possibly 08/14. + cf. source: <20220809185429.20098-1-alban.gruin@gmail.com> @@ -429,46 +484,50 @@ Release tarballs are available at: * sg/parse-options-subcommand (2022-08-19) 20 commits - - builtin/worktree.c: let parse-options parse subcommands - - builtin/stash.c: let parse-options parse subcommands - - builtin/sparse-checkout.c: let parse-options parse subcommands - - builtin/remote.c: let parse-options parse subcommands - - builtin/reflog.c: let parse-options parse subcommands - - builtin/notes.c: let parse-options parse subcommands - - builtin/multi-pack-index.c: let parse-options parse subcommands - - builtin/hook.c: let parse-options parse subcommands - - builtin/gc.c: let parse-options parse 'git maintenance's subcommands - - builtin/commit-graph.c: let parse-options parse subcommands - - builtin/bundle.c: let parse-options parse subcommands - - parse-options: add support for parsing subcommands - - parse-options: drop leading space from '--git-completion-helper' output - - parse-options: clarify the limitations of PARSE_OPT_NODASH - - parse-options: PARSE_OPT_KEEP_UNKNOWN only applies to --options - - api-parse-options.txt: fix description of OPT_CMDMODE - - t0040-parse-options: test parse_options() with various 'parse_opt_flags' - - t5505-remote.sh: check the behavior without a subcommand - - t3301-notes.sh: check that default operation mode doesn't take arguments - - git.c: update NO_PARSEOPT markings + (merged to 'next' on 2022-08-22 at 09d07c2271) + + builtin/worktree.c: let parse-options parse subcommands + + builtin/stash.c: let parse-options parse subcommands + + builtin/sparse-checkout.c: let parse-options parse subcommands + + builtin/remote.c: let parse-options parse subcommands + + builtin/reflog.c: let parse-options parse subcommands + + builtin/notes.c: let parse-options parse subcommands + + builtin/multi-pack-index.c: let parse-options parse subcommands + + builtin/hook.c: let parse-options parse subcommands + + builtin/gc.c: let parse-options parse 'git maintenance's subcommands + + builtin/commit-graph.c: let parse-options parse subcommands + + builtin/bundle.c: let parse-options parse subcommands + + parse-options: add support for parsing subcommands + + parse-options: drop leading space from '--git-completion-helper' output + + parse-options: clarify the limitations of PARSE_OPT_NODASH + + parse-options: PARSE_OPT_KEEP_UNKNOWN only applies to --options + + api-parse-options.txt: fix description of OPT_CMDMODE + + t0040-parse-options: test parse_options() with various 'parse_opt_flags' + + t5505-remote.sh: check the behavior without a subcommand + + t3301-notes.sh: check that default operation mode doesn't take arguments + + git.c: update NO_PARSEOPT markings Introduce the "subcommand" mode to parse-options API and update the command line parser of Git commands with subcommands. - Will merge to 'next'? + Will merge to 'master'. source: <20220819160411.1791200-1-szeder.dev@gmail.com> -* ds/bundle-uri-clone (2022-08-10) 5 commits +* ds/bundle-uri-clone (2022-08-24) 6 commits + - clone: warn on failure to repo_init() (merged to 'next' on 2022-08-18 at 5e8a3ec71e) + clone: --bundle-uri cannot be combined with --depth + bundle-uri: add support for http(s):// and file:// + clone: add --bundle-uri option + bundle-uri: create basic file-copy logic + remote-curl: add 'get' capability + (this branch is used by ds/bundle-uri-3.) Implement "git clone --bundle-uri". Will merge to 'master'. source: + source: <5229519b-3af2-a023-8996-43343b130722@github.com> * ds/decorate-filter-tweak (2022-08-05) 11 commits @@ -500,14 +559,18 @@ Release tarballs are available at: source: <7229p500-p2r4-on87-6802-8o90s36rr3s4@tzk.qr> -* ab/submodule-helper-prep (2022-08-03) 28 commits +* ab/submodule-helper-prep (2022-08-22) 32 commits - submodule--helper: fix bad config API usage + - submodule--helper: libify even more "die" paths for module_update() + - submodule--helper: libify more "die" paths for module_update() + - submodule--helper: check repo{_submodule,}_init() return values - submodule--helper: libify "must_die_on_failure" code paths (for die) + - submodule--helper update: don't override 'checkout' exit code - submodule--helper: libify "must_die_on_failure" code paths - submodule--helper: libify determine_submodule_update_strategy() - submodule--helper: don't exit() on failure, return - submodule--helper: use "code" in run_update_command() - - submodule--helper: move submodule_strategy_to_string() to only user + - submodule API: don't handle SM_..{UNSPECIFIED,COMMAND} in to_string() - submodule--helper: don't call submodule_strategy_to_string() in BUG() - submodule--helper: add missing braces to "else" arm - submodule--helper: return "ret", not "1" from update_submodule() @@ -515,7 +578,7 @@ Release tarballs are available at: - submodule--helper: don't redundantly check "else if (res)" - submodule--helper: refactor "errmsg_str" to be a "struct strbuf" - submodule--helper: add "const" to copy of "update_data" - - submodule--helper: pass a "const struct module_clone_data" to clone_submodule() + - submodule--helper: add "const" to passed "module_clone_data" - submodule--helper: move "sb" in clone_submodule() to its own scope - submodule--helper: use xstrfmt() in clone_submodule() - submodule--helper: replace memset() with { 0 }-initialization @@ -533,9 +596,8 @@ Release tarballs are available at: Code clean-up of "git submodule--helper". - Expecting a (hopefully final?) reroll. - cf. <220803.86h72tfpcc.gmgdl@evledraar.gmail.com> - source: + Under review. + source: * ab/dedup-config-and-command-docs (2022-07-29) 9 commits @@ -590,16 +652,17 @@ Release tarballs are available at: * tl/trace2-config-scope (2022-08-11) 2 commits - - tr2: shows scope unconditionally in addition to key-value pair - - api-trace2.txt: print config key-value pair + (merged to 'next' on 2022-08-22 at 75a09c7a34) + + tr2: shows scope unconditionally in addition to key-value pair + + api-trace2.txt: print config key-value pair Tweak trace2 output about configuration variables. - Will merge to 'next'? + Will merge to 'master'. source: -* ab/submodule-helper-leakfix (2022-08-03) 18 commits +* ab/submodule-helper-leakfix (2022-08-22) 18 commits - submodule--helper: fix a configure_added_submodule() leak - submodule--helper: free rest of "displaypath" in "struct update_data" - submodule--helper: free some "displaypath" in "struct update_data" @@ -623,7 +686,7 @@ Release tarballs are available at: Plugging leaks in submodule--helper. Waiting for the "prep" step. - source: + source: * cw/submodule-merge-messages (2022-08-04) 1 commit @@ -661,6 +724,9 @@ Release tarballs are available at: The pack bitmap file gained a bitmap-lookup table to speed up locating the necessary bitmap for a given commit. + + Needs review. + cf. source: @@ -715,3 +781,16 @@ Release tarballs are available at: In stalled state for too long. Also it seems to break t5326 with sha256. source: <20220610195247.1177549-1-jonathantanmy@google.com> + + +* js/merge-tree-without-munging-filenames (2022-08-19) 3 commits + . t4301: add a test case involving a rename, type change & modification + . merge-tree: show the original file names in the conflict output + . merge-tree -z: always show the original file name first + + "git merge-tree" output was improved to help "merging without + working tree" usecase better in a few ways. + + Retracted for now. + cf. <9p08998o-n88r-2nno-8703-s99o5qpn9o35@tzk.qr> + source: