From c251ee53e7c2ba0e76a48d6a20b94f23d431fb98 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Fri, 1 Jul 2022 15:33:44 -0700 Subject: [PATCH] What's cooking (2022/07 #01) --- whats-cooking.txt | 274 +++++++++++++++++++++++++++++++++++----------- 1 file changed, 211 insertions(+), 63 deletions(-) diff --git a/whats-cooking.txt b/whats-cooking.txt index 2fc183e1db..31ee9c1369 100644 --- a/whats-cooking.txt +++ b/whats-cooking.txt @@ -1,10 +1,9 @@ To: git@vger.kernel.org -Bcc: lwn@lwn.net -Subject: What's cooking in git.git (Jun 2022, #08; Mon, 27) +Subject: What's cooking in git.git (Jul 2022, #01; Fri, 1) X-master-at: e4a4b31577c7419497ac30cebe30d755b97752c5 -X-next-at: 69fb8171204c8e773da4dd0a0988641096be0b42 +X-next-at: 8ac04bfd244e0d302aaeb6ab241eb092dcf6a733 -What's cooking in git.git (Jun 2022, #08; Mon, 27) +What's cooking in git.git (Jul 2022, #01; Fri, 1) -------------------------------------------------- Here are the topics that have been cooking in my tree. Commits @@ -13,7 +12,11 @@ topic is stable enough to be used and are candidate to be in a future release). Commits prefixed with '-' are only in 'seen', and aren't considered "accepted" at all. -Git 2.37 (final) has been tagged. +Git 2.37 final was released, many in the northan hemisphere are +about to be in summer vacation week. We probably will have a small +update 2.37.1 near mid July to deal with a small "regression" in +2.37 but otherwise things are expected to be slow, and slow is good +;-) 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 @@ -44,61 +47,170 @@ Release tarballs are available at: https://www.kernel.org/pub/software/scm/git/ -------------------------------------------------- -[Graduated to 'master'] +[New Topics] -* ab/credentials-in-url-more (2022-06-23) 1 commit - (merged to 'next' on 2022-06-23 at 11d700111c) - + Documentation/config/transfer.txt: fix typo +* ds/git-rebase-doc-markup (2022-06-30) 1 commit + - git-rebase.txt: use back-ticks consistently - Typofix. - source: <68c1c3648c51f6298eea4d58286b20e0c770a270.1656010900.git.me@ttaylorr.com> + Correct "git rebase" documentation mark-up. + Will merge to 'next'. + source: -* jc/revert-show-parent-info (2022-06-27) 1 commit - (merged to 'next' on 2022-06-27 at 9a7cc59c69) - + revert: config documentation fixes - Typofix. - source: <6727daf1-f077-7319-187e-ab4e55de3b2d@web.de> +* ds/rebase-update-ref (2022-06-28) 8 commits + - rebase: add rebase.updateRefs config option + - rebase: update refs from 'update-ref' commands + - rebase: add --update-refs option + - sequencer: add update-ref command + - sequencer: define array with enum values + - rebase-interactive: update 'merge' description + - branch: consider refs under 'update-refs' + - t2407: test branches currently using apply backend + (this branch uses ds/branch-checked-out.) --------------------------------------------------- -[New Topics] + "git rebase -i" learns to update branches whose tip appear in the + rebased range. -* ab/squelch-empty-fsync-traces (2022-06-23) 1 commit - - trace2: don't include "fsync" events in all trace2 logs + Will merge to 'next'? + source: - Omit fsync-related trace2 entries when their values are all zero. - Expecting a reroll. - cf. - source: +* ds/vscode-settings (2022-06-27) 1 commit + - vscode: improve tab size and wrapping + source: -* cl/grep-max-count (2022-06-22) 1 commit - - grep: add --max-count command line option - "git grep -m" is a way to limit the hits shown per file. +* js/add-i-delete (2022-06-28) 1 commit + (merged to 'next' on 2022-06-28 at 8ac04bfd24) + + add --interactive: allow `update` to stage deleted files + + Rewrite of "git add -i" in C that appeared in Git 2.25 didn't + correctly record a removed file to the index, which was fixed. + + Will merge to 'master'. + source: + + +* tb/pack-objects-remove-pahole-comment (2022-06-28) 1 commit + - pack-objects.h: remove outdated pahole results + + Comment fix. Will merge to 'next'. - source: + source: <1379af2e9d271b501ef3942398e7f159a9c77973.1656440978.git.me@ttaylorr.com> -* jk/revisions-doc-markup-fix (2022-06-22) 1 commit - - revisions.txt: escape "..." to avoid asciidoc horizontal ellipsis +* ab/leakfix (2022-07-01) 11 commits + - pull: fix a "struct oid_array" memory leak + - cat-file: fix a common "struct object_context" memory leak + - gc: fix a memory leak + - checkout: avoid "struct unpack_trees_options" leak + - merge-file: fix memory leaks on error path + - merge-file: refactor for subsequent memory leak fix + - cat-file: fix a memory leak in --batch-command mode + - revert: free "struct replay_opts" members + - submodule.c: free() memory from xgetcwd() + - clone: fix memory leak in wanted_peer_refs() + - check-ref-format: fix trivial memory leak - Documentation mark-up fix. + Plug various memory leaks. + + source: + + +* ab/test-tool-leakfix (2022-07-01) 9 commits + - test-tool delta: fix a memory leak + - test-tool ref-store: fix a memory leak + - test-tool bloom: fix memory leaks + - test-tool json-writer: fix memory leaks + - test-tool regex: call regfree(), fix memory leaks + - test-tool urlmatch-normalization: fix a memory leak + - test-tool {dump,scrap}-cache-tree: fix memory leaks + - test-tool path-utils: fix a memory leak + - test-tool test-hash: fix a memory leak + + Plug various memory leaks in test-tool commands. + + source: + + +* en/t6429-test-must-be-empty-fix (2022-06-30) 1 commit + - t6429: fix use of non-existent function + + A test fix. Will merge to 'next'. - source: + source: -* tk/rev-parse-doc-clarify-at-u (2022-06-23) 1 commit - - rev-parse: documentation adjustment - mention remote tracking with @{u} +* gc/submodule-use-super-prefix (2022-06-30) 8 commits + - submodule--helper: remove display path helper + - submodule--helper update: use --super-prefix + - submodule--helper: remove unused SUPPORT_SUPER_PREFIX flags + - submodule--helper: use correct display path helper + - submodule--helper: don't recreate recursive prefix + - submodule--helper update: use display path helper + - submodule--helper tests: add missing "display path" coverage + - Merge branch 'ab/submodule-cleanup' into gc/submodule-use-super-prefix + (this branch uses ab/submodule-cleanup.) - Doc update. + Another step to rewrite more parts of "git submodule" in C. + + Will merge to 'next'? + source: <20220701021157.88858-1-chooglen@google.com> + + +* hx/lookup-commit-in-graph-fix (2022-06-30) 1 commit + - commit-graph.c: no lazy fetch in lookup_commit_in_graph() + + A corner case bug where lazily fetching objects from a promisor + remote resulted in infinite recursion has been corrected. Will merge to 'next'. - source: + source: <96d4bb71505d87ed501c058bbd89bfc13d08b24a.1656593279.git.hanxin.hx@bytedance.com> + + +* ll/ls-files-tests-update (2022-07-01) 1 commit + - ls-files: update test style + + Test update. + + Will merge to 'next'. + source: + + +* pw/xdiff-alloc (2022-06-30) 3 commits + - xdiff: introduce XDL_ALLOC_GROW() + - xdiff: introduce XDL_CALLOC_ARRAY() + - xdiff: introduce XDL_ALLOC_ARRAY() + + Add a level of redirection to array allocation API in xdiff part, + to make it easier to share with the libgit2 project. + + Waiting for review responses. + source: + + +* sy/mv-out-of-cone (2022-07-01) 8 commits + - mv: add check_dir_in_index() and solve general dir check issue + - mv: use flags mode for update_mode + - mv: check if exists in index to handle overwriting + - mv: check if out-of-cone file exists in index with SKIP_WORKTREE bit + - mv: decouple if/else-if checks using goto + - mv: update sparsity after moving from out-of-cone to in-cone + - t1092: mv directory from out-of-cone to in-cone + - t7002: add tests for moving out-of-cone file/directory + + "git mv A B" in a sparsely populated working tree can be asked to + move a path between directories that are "in cone" (i.e. expected + to be materialized in the working tree) and "out of cone" + (i.e. expected to be hidden). The handling of such cases has been + improved. + + Will merge to 'next'. + source: <20220630023737.473690-1-shaoxuan.yuan02@gmail.com> -------------------------------------------------- [Stalled] @@ -138,6 +250,42 @@ Release tarballs are available at: -------------------------------------------------- [Cooking] +* ab/squelch-empty-fsync-traces (2022-06-30) 1 commit + . trace2: don't include "fsync" events in all trace2 logs + + Omit fsync-related trace2 entries when their values are all zero. + + Breaks tests in hx/unpack-streaming with an interesting interaction. + source: + + +* cl/grep-max-count (2022-06-22) 1 commit + - grep: add --max-count command line option + + "git grep -m" is a way to limit the hits shown per file. + + Will merge to 'next'. + source: + + +* jk/revisions-doc-markup-fix (2022-06-22) 1 commit + - revisions.txt: escape "..." to avoid asciidoc horizontal ellipsis + + Documentation mark-up fix. + + Will merge to 'next'. + source: + + +* tk/rev-parse-doc-clarify-at-u (2022-06-23) 1 commit + - rev-parse: documentation adjustment - mention remote tracking with @{u} + + Doc update. + + Will merge to 'next'. + source: + + * en/merge-tree (2022-06-22) 17 commits - git-merge-tree.txt: add a section on potentional usage mistakes - merge-tree: add a --allow-unrelated-histories flag @@ -232,7 +380,7 @@ Release tarballs are available at: source: -* ab/test-quoting-fix (2022-06-21) 3 commits +* ab/test-quoting-fix (2022-06-30) 3 commits - config tests: fix harmless but broken "rm -r" cleanup - test-lib.sh: fix prepend_var() quoting issue - tests: add missing double quotes to included library paths @@ -240,20 +388,22 @@ Release tarballs are available at: Fixes for tests when the source directory has unusual characters in its path, e.g. whitespaces, double-quotes, etc. - Expecting a reroll. - source: + Will merge to 'next'. + source: -* en/merge-dual-dir-renames-fix (2022-06-21) 3 commits +* en/merge-dual-dir-renames-fix (2022-06-30) 5 commits - merge-ort: fix issue with dual rename and add/add conflict - merge-ort: shuffle the computation and cleanup of potential collisions + - merge-ort: make a separate function for freeing struct collisions + - merge-ort: small cleanups of check_for_directory_rename - t6423: add tests of dual directory rename plus add/add conflict Fixes a long-standing corner case bug around directory renames in the merge-ort strategy. - Needs review. - source: + Will merge to 'next'? + source: * cr/setup-bug-typo (2022-06-17) 1 commit @@ -359,6 +509,7 @@ Release tarballs are available at: + fetch: use new branch_checked_out() and add tests + branch: check for bisects and rebases + branch: add branch_checked_out() helper + (this branch is used by ds/rebase-update-ref.) Introduce a helper to see if a branch is already being worked on (hence should not be newly checked out in a working tree), which @@ -382,24 +533,25 @@ Release tarballs are available at: source: <20220610195247.1177549-1-jonathantanmy@google.com> -* ab/submodule-cleanup (2022-06-15) 12 commits +* ab/submodule-cleanup (2022-06-28) 12 commits - git-sh-setup.sh: remove "say" function, change last users - git-submodule.sh: use "$quiet", not "$GIT_QUIET" - submodule--helper: eliminate internal "--update" option - submodule--helper: understand --checkout, --merge and --rebase synonyms - - submodule--helper: report "submodule" as our name in "-h" output + - submodule--helper: report "submodule" as our name in some "-h" output - submodule--helper: rename "absorb-git-dirs" to "absorbgitdirs" - submodule update: remove "-v" option - submodule--helper: have --require-init imply --init - git-submodule.sh: remove unused top-level "--branch" argument - - git-submodule.sh: make "$cached" variable a boolean - - git-submodule.sh: remove unused $prefix var and --super-prefix + - git-submodule.sh: make the "$cached" variable a boolean + - git-submodule.sh: remove unused $prefix variable - git-submodule.sh: remove unused sanitize_submodule_env() + (this branch is used by gc/submodule-use-super-prefix.) Further preparation to turn git-submodule.sh into a builtin. - Will merge to 'next'? - source: + Will merge to 'next'. + source: * jc/resolve-undo (2022-06-09) 1 commit @@ -413,7 +565,8 @@ Release tarballs are available at: source: -* ab/build-gitweb (2022-06-02) 7 commits +* ab/build-gitweb (2022-06-28) 8 commits + - gitweb/Makefile: add a "NO_GITWEB" parameter - Makefile: build 'gitweb' in the default target - gitweb/Makefile: include in top-level Makefile - gitweb: remove "test" and "test-installed" targets @@ -423,9 +576,7 @@ Release tarballs are available at: - gitweb/Makefile: define all .PHONY prerequisites inline Teach "make all" to build gitweb as well. - - Needs review. - source: + source: * ab/test-without-templates (2022-06-06) 7 commits @@ -499,12 +650,12 @@ Release tarballs are available at: source: -* js/bisect-in-c (2022-05-21) 15 commits +* js/bisect-in-c (2022-06-27) 16 commits - bisect: no longer try to clean up left-over `.git/head-name` files - bisect: remove Cogito-related code - Turn `git bisect` into a full built-in - - bisect: teach the `bisect--helper` command to show the correct usage strings - bisect: move even the command-line parsing to `bisect--helper` + - bisect: teach the `bisect--helper` command to show the correct usage strings - bisect--helper: return only correct exit codes in `cmd_*()` - bisect--helper: move the `BISECT_STATE` case to the end - bisect--helper: make `--bisect-state` optional @@ -515,27 +666,24 @@ Release tarballs are available at: - bisect--helper: retire the --no-log option - bisect: avoid double-quoting when printing the failed command - bisect run: fix the error message + - bisect: verify that a bogus option won't try to start a bisection Final bits of "git bisect.sh" have been rewritten in C. + source: - The command line parsing is reported to be still broken. - cf. <220521.86zgjazuy4.gmgdl@evledraar.gmail.com> - source: - -* gc/bare-repo-discovery (2022-06-07) 5 commits +* gc/bare-repo-discovery (2022-06-30) 5 commits - setup.c: create `discovery.bare` - safe.directory: use git_protected_config() - - config: read protected config with `git_protected_config()` + - config: learn `git_protected_config()` - Documentation: define protected configuration - Documentation/git-config.txt: add SCOPES section Introduce a discovery.barerepository configuration variable that allows users to forbid discovery of bare repositories. - Expecting a reroll. - cf. - source: <29053d029f8ec61095a2ad557be38b1d485a158f.1654635432.git.gitgitgadget@gmail.com> + Will merge to 'next'? + source: * gg/worktree-from-the-above (2022-06-21) 2 commits -- 2.47.3