From: Junio C Hamano Date: Thu, 12 Aug 2021 21:50:11 +0000 (-0700) Subject: What's cooking (2021/08 #05) X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=de5838d630fe43037d164f12a5b35af9de4a22f6;p=thirdparty%2Fgit.git What's cooking (2021/08 #05) --- diff --git a/whats-cooking.txt b/whats-cooking.txt index cad047a409..7ad06c3726 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 2021, #04; Tue, 10) -X-master-at: 2d755dfac9aadab25c3e025b849252b8c0a61465 -X-next-at: d937d09924f20c2ef76e4ae1cc20f566d2ecf953 +Subject: What's cooking in git.git (Aug 2021, #05; Thu, 12) +X-master-at: 5d213e46bb7b880238ff5ea3914e940a50ae9369 +X-next-at: ed5fa647cd5d07bf513e4487e6352c72bffe54ea -What's cooking in git.git (Aug 2021, #04; Tue, 10) +What's cooking in git.git (Aug 2021, #05; Thu, 12) -------------------------------------------------- Here are the topics that have been cooking in my tree. Commits @@ -17,8 +17,11 @@ useful"). Do not read too much into a topic being in (or not in) 'seen'. The ones marked with '.' do not appear in any of the integration branches, but I am still holding onto them. -Git 2.33-rc2 will be tagged tomorrow, with a few build and -regression fixes (not in 'master' yet as of this writing). +Git 2.33-rc2 has been tagged. The last couple of days, I may have +ignored patches on new topics that are irrelevant to the upcoming +release, and will continue to do so until the current cycle is over. +Please resend them after the final release of Git 2.33 if they are +still relevant. 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 @@ -49,17 +52,11 @@ Release tarballs are available at: https://www.kernel.org/pub/software/scm/git/ -------------------------------------------------- -[New Topics] - -* cb/builtin-merge-format-string-fix (2021-08-09) 1 commit - - builtin/merge: avoid -Wformat-extra-args from ancient Xcode - - Code clean-up. - - Will merge to 'next'. - +[Graduated to 'master'] -* cb/many-alternate-optim-fixup (2021-08-09) 2 commits +* cb/many-alternate-optim-fixup (2021-08-11) 3 commits + (merged to 'next' on 2021-08-11 at 02b3558652) + + object-file: use unsigned arithmetic with bit mask (merged to 'next' on 2021-08-09 at 3572bef349) + object-store: avoid extra ';' from KHASH_INIT + oidtree: avoid nested struct oidtree_node @@ -67,123 +64,92 @@ Release tarballs are available at: Build fix. - Will merge to 'master'. +* jn/log-m-does-not-imply-p (2021-08-09) 1 commit + (merged to 'next' on 2021-08-09 at d937d09924) + + Revert 'diff-merges: let "-m" imply "-p"' -* ka/want-ref-in-namespace (2021-08-09) 3 commits - - docs: clarify the interaction of transfer.hideRefs and namespaces - - upload-pack.c: treat want-ref relative to namespace - - t5730: introduce fetch command helper + Earlier "git log -m" was changed to always produce patch output, + which would break existing scripts, which has been reverted. - "git upload-pack" which runs on the other side of "git fetch" - forgot to take the ref namespaces into account when handling - want-ref requests. +-------------------------------------------------- +[New Topics] +* th/userdiff-more-java (2021-08-11) 1 commit + - userdiff: improve java hunk header regex -* np/blame-ignore-revs-file-may-be-optional (2021-08-09) 1 commit - - blame: add config `blame.ignoreRevsFileIsOptional` + The userdiff pattern for "java" language has been updated. - When the file named by blame.ignoreRevsFile configuration variable - does not exist, it causes "git blame" to die. Sometimes, it is - useful if the files named by configuration variables can be made - optional (it would allow ~/.gitconfig to give a filename, and make - it effective only in repositories that have a file with that name). + Will merge to 'next'. - This uses an extra variable that marks that the variable is - optional. Yet another alternative is being discussed to define - syntax for "optional" filename values, so that the same mechanism - can be used for not just blame.ignoreRevsFile but other filenames. - Queued just as a reminder of the theme. +* zh/cherry-pick-advice (2021-08-11) 1 commit + - cherry-pick: use better advice message + The advice message that "git cherry-pick" gives when it asks + conflicted replay of a commit to be resolved by the end user has + been updated. -* cb/ci-build-pedantic (2021-08-09) 1 commit - - ci: run a pedantic build as part of the GitHub workflow - (this branch uses cb/many-alternate-optim-fixup.) + cf. - CI update. - Will merge to 'next'. +* es/config-based-hooks (2021-08-11) 7 commits + - hook: allow out-of-repo 'git hook' invocations + - hook: include hooks from the config + - hook: allow running non-native hooks + - hook: introduce "git hook list" + - hook: allow parallel hook execution + - hook: run a list of hooks instead + - Merge branch 'ab/config-based-hooks-base' into es/config-based-hooks + (this branch uses ab/config-based-hooks-base.) + Revamp the hooks subsystem to allow multiple of them to trigger + upon the same event and control via the configuration variables. -* jn/log-m-does-not-imply-p (2021-08-09) 1 commit - (merged to 'next' on 2021-08-09 at d937d09924) - + Revert 'diff-merges: let "-m" imply "-p"' - Earlier "git log -m" was changed to always produce patch output, - which would break existing scripts, which has been reverted. +* mk/clone-recurse-submodules (2021-08-11) 1 commit + - clone: set submodule.recurse=true if user enables feature.experimental flag - Will merge to 'master'. + It is proposed that in the future "git clone --recurse-submodules" + unconditionally sets "submodule.recurse" configuration variable to + true. Users can opt into the future early to enable this (and + other new features) by setting the "feature.experimental" variable + to true. -* ds/sparse-index-ignored-files (2021-08-10) 9 commits - - sparse-checkout: clear tracked sparse dirs - - sparse-index: add SPARSE_INDEX_IGNORE_CONFIG flag - - attr: be careful about sparse directories - - sparse-checkout: create helper methods - - unpack-trees: fix nested sparse-dir search - - sparse-index: silently return when cache tree fails - - sparse-index: silently return when not using cone-mode patterns - - t7519: rewrite sparse index test - - Merge branch 'ds/add-with-sparse-index' into ds/sparse-index-ignored-files - (this branch uses ds/add-with-sparse-index.) +* bc/t5607-avoid-broken-test-fail-prereqs (2021-08-11) 1 commit + - t5607: avoid using prerequisites to select algorithm - In cone mode, the sparse-index codepath learned to remove ignored - files (like build artifacts) outside the sparse cone, allowing the - entire directory outside the sparse cone to be removed, which is - especially useful when the sparse patterns change. + The current implementation of GIT_TEST_FAIL_PREREQS is broken in + that checking for the lack of a prerequisite would not work. Avoid + the use of "if ! test_have_prereq X" in a test script. + Will merge to 'next'. -* jc/userdiff-pattern-hint (2021-08-10) 1 commit - - userdiff: comment on the builtin patterns - Remind developers that the userdiff patterns should be kept simple - and permissive, assuming that the contents they apply are always - syntactically correct. +* jk/commit-edit-fixup-fix (2021-08-12) 1 commit + - commit: restore --edit when combined with --fixup + "git commit --fixup" now works with "--edit" again, after it was + broken in v2.32. -* jk/apply-binary-hunk-parsing-fix (2021-08-10) 1 commit - - apply: keep buffer/size pair in sync when parsing binary hunks + Will merge to 'next'? - "git apply" miscounted the bytes and failed to read to the end of - binary hunks. - Will merge to 'next'. +* tl/traverse-non-commits-rename (2021-08-12) 1 commit + - list-objects.c: rename "traverse_trees_and_blobs" to "traverse_non_commits" - -* jk/range-diff-fixes (2021-08-10) 3 commits - - range-diff: use ssize_t for parsed "len" in read_patches() - - range-diff: handle unterminated lines in read_patches() - - range-diff: drop useless "offset" variable from read_patches() - - "git range-diff" code clean-up. + Meh. Will merge to 'next'. -* js/advise-when-skipping-cherry-picked (2021-08-10) 2 commits - - SQUASH??? - - sequencer: advise if skipping cherry-picked commit +* cb/ci-freebsd-update (2021-08-12) 1 commit + - ci: update freebsd 12 cirrus job - "git rebase" by default skips changes that are equivalent to - commits that are already in the history the branch is rebased onto; - give messages when this happens to let the users be aware of - skipped commits, and also teach them how to tell "rebase" to keep - duplicated changes. - - -* jt/grep-wo-submodule-odb-as-alternate (2021-08-10) 7 commits - - t7814: show lack of alternate ODB-adding - - grep: add repository to OID grep sources - - grep: allocate subrepos on heap - - grep: read submodule entry with explicit repo - - grep: typesafe versions of grep_source_init - - grep: use submodule-ODB-as-alternate lazy-addition - - submodule: lazily add submodule ODBs as alternates + Update FreeBSD CI job - The code to make "git grep" recurse into submodules has been - updated to migrate away from the "add submodule's object store as - an alternate object store" mechanism (which is suboptimal). + Will merge to 'next'. -------------------------------------------------- [Stalled] @@ -266,6 +232,121 @@ Release tarballs are available at: -------------------------------------------------- [Cooking] +* cb/builtin-merge-format-string-fix (2021-08-09) 1 commit + - builtin/merge: avoid -Wformat-extra-args from ancient Xcode + + Code clean-up. + + Will merge to 'next'. + + +* ka/want-ref-in-namespace (2021-08-09) 3 commits + - docs: clarify the interaction of transfer.hideRefs and namespaces + - upload-pack.c: treat want-ref relative to namespace + - t5730: introduce fetch command helper + + "git upload-pack" which runs on the other side of "git fetch" + forgot to take the ref namespaces into account when handling + want-ref requests. + + +* np/blame-ignore-revs-file-may-be-optional (2021-08-09) 1 commit + - blame: add config `blame.ignoreRevsFileIsOptional` + + When the file named by blame.ignoreRevsFile configuration variable + does not exist, it causes "git blame" to die. Sometimes, it is + useful if the files named by configuration variables can be made + optional (it would allow ~/.gitconfig to give a filename, and make + it effective only in repositories that have a file with that name). + + This uses an extra variable that marks that the variable is + optional. Yet another alternative is being discussed to define + syntax for "optional" filename values, so that the same mechanism + can be used for not just blame.ignoreRevsFile but other filenames. + + Queued just as a reminder of the theme. + + +* cb/ci-build-pedantic (2021-08-11) 1 commit + - ci: run a pedantic build as part of the GitHub workflow + + CI update. + + Expecting a reroll. + + +* ds/sparse-index-ignored-files (2021-08-10) 9 commits + - sparse-checkout: clear tracked sparse dirs + - sparse-index: add SPARSE_INDEX_IGNORE_CONFIG flag + - attr: be careful about sparse directories + - sparse-checkout: create helper methods + - unpack-trees: fix nested sparse-dir search + - sparse-index: silently return when cache tree fails + - sparse-index: silently return when not using cone-mode patterns + - t7519: rewrite sparse index test + - Merge branch 'ds/add-with-sparse-index' into ds/sparse-index-ignored-files + (this branch uses ds/add-with-sparse-index.) + + In cone mode, the sparse-index codepath learned to remove ignored + files (like build artifacts) outside the sparse cone, allowing the + entire directory outside the sparse cone to be removed, which is + especially useful when the sparse patterns change. + + +* jc/userdiff-pattern-hint (2021-08-11) 1 commit + - userdiff: comment on the builtin patterns + + Remind developers that the userdiff patterns should be kept simple + and permissive, assuming that the contents they apply are always + syntactically correct. + + Will merge to 'next'. + + +* jk/apply-binary-hunk-parsing-fix (2021-08-10) 1 commit + - apply: keep buffer/size pair in sync when parsing binary hunks + + "git apply" miscounted the bytes and failed to read to the end of + binary hunks. + + Will merge to 'next'. + + +* jk/range-diff-fixes (2021-08-10) 3 commits + - range-diff: use ssize_t for parsed "len" in read_patches() + - range-diff: handle unterminated lines in read_patches() + - range-diff: drop useless "offset" variable from read_patches() + + "git range-diff" code clean-up. + + Will merge to 'next'. + + +* js/advise-when-skipping-cherry-picked (2021-08-10) 2 commits + - SQUASH??? + - sequencer: advise if skipping cherry-picked commit + + "git rebase" by default skips changes that are equivalent to + commits that are already in the history the branch is rebased onto; + give messages when this happens to let the users be aware of + skipped commits, and also teach them how to tell "rebase" to keep + duplicated changes. + + +* jt/grep-wo-submodule-odb-as-alternate (2021-08-10) 7 commits + - t7814: show lack of alternate ODB-adding + - grep: add repository to OID grep sources + - grep: allocate subrepos on heap + - grep: read submodule entry with explicit repo + - grep: typesafe versions of grep_source_init + - grep: use submodule-ODB-as-alternate lazy-addition + - submodule: lazily add submodule ODBs as alternates + + The code to make "git grep" recurse into submodules has been + updated to migrate away from the "add submodule's object store as + an alternate object store" mechanism (which is suboptimal). + + * ps/fetch-pack-load-refs-optim (2021-08-04) 1 commit (merged to 'next' on 2021-08-09 at 4744a01fd5) + fetch-pack: speed up loading of refs via commit graph @@ -284,7 +365,7 @@ Release tarballs are available at: - connected: do not sort input revisions - revision: separate walk and unsorted flags - The revision traversal API has been optimized by taking advanrage + The revision traversal API has been optimized by taking advantage of the commit-graph, when available, to determine if a commit is reachable from any of the existing refs. @@ -471,6 +552,9 @@ Release tarballs are available at: The code to show progress indicator in a few codepaths did not cover between 0-100%, which has been corrected. + The middle one wants to be discarded. + cf. <87v94jzoxj.fsf@evledraar.gmail.com> + * ar/submodule-add-config (2021-08-10) 1 commit - submodule--helper: introduce add-config subcommand @@ -524,8 +608,8 @@ Release tarballs are available at: Will cook in 'next'. -* dt/submodule-diff-fixes (2021-08-02) 3 commits - - diff --submodule=diff: Don't print failure message twice +* dt/submodule-diff-fixes (2021-08-11) 3 commits + - diff --submodule=diff: don't print failure message twice - diff --submodule=diff: do not fail on ever-initialied deleted submodules - t4060: remove unused variable @@ -533,8 +617,8 @@ Release tarballs are available at: trying to run diff inside a submodule, when the user manually removes the submodule directory. - Seems to break CI when merged to 'seen' - cf. https://github.com/git/git/runs/3259477809?check_suite_focus=true#step:4:2618 + Will merge to 'next'? + cf. <20210812001332.715876-1-dturner@twosigma.com> * fs/ssh-signing (2021-08-03) 9 commits @@ -649,9 +733,8 @@ Release tarballs are available at: Usability update for inactive submodules. - Comments? - cf. - cf. + Retracted for now. + cf. * cf/fetch-set-upstream-while-detached (2021-07-06) 1 commit @@ -783,6 +866,7 @@ Release tarballs are available at: - Makefile: remove an out-of-date comment - Makefile: stop hardcoding {command,config}-list.h - Makefile: mark "check" target as .PHONY + (this branch is used by es/config-based-hooks.) Restructuring of (a subset of) Emily's config-based-hooks series, to demonstrate that a series can be presented as a more logical and