From fc403878a9fad6613031c3df306b8856a59d11b9 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Mon, 25 Apr 2022 16:26:46 -0700 Subject: [PATCH] What's cooking (2022/04 #06) --- whats-cooking.txt | 392 +++++++++++++++++++++++++++++++++++----------- 1 file changed, 300 insertions(+), 92 deletions(-) diff --git a/whats-cooking.txt b/whats-cooking.txt index 1878e388a0..25e0d73911 100644 --- a/whats-cooking.txt +++ b/whats-cooking.txt @@ -1,10 +1,10 @@ To: git@vger.kernel.org Bcc: lwn@lwn.net -Subject: What's cooking in git.git (Apr 2022, #05; Mon, 18) +Subject: What's cooking in git.git (Apr 2022, #06; Mon, 25) X-master-at: 6cd33dceed60949e2dbc32e3f0f5e67c4c882e1e X-next-at: b9c8b46e9451eb1f82393119d53aa151b6f7ff83 -What's cooking in git.git (Apr 2022, #05; Mon, 18) +What's cooking in git.git (Apr 2022, #06; Mon, 25) -------------------------------------------------- Here are the topics that have been cooking in my tree. Commits @@ -13,14 +13,34 @@ 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.36 has been tagged. As usual, we'll keep the tree closed for -a few days for anything other than brown-paper-bag bugfixes (if -needed) and then by the end of the week hopefully we can start -sifting what is in 'next' to those to graduate to 'master' and those -to be kicked back to 'seen'. We'll start taking new topics probably -next week at the earliest. +There are a handful of regressions we managed to sneak into the 2.36 +release that we need to fix before we can move forward. For some +reason, the release turned out to be unusually bad in the recent +history X-<. -cCopies of the source code to Git live in many repositories, and the +Here are what I know about, with or without fixes that have been +reviewed satisfactorily: + + - "diff-tree --stdin " loses after showing one + comparison. + cf. + + - "submodule update" without makes unnecessary noise + when skipping uninitialized submodules. + cf. + + - hooks no longer is connected directly to the standard output. + cf. + + - "sudo make install" does not work out-of-the-box. + cf. <4ef9287b-6260-9538-7c89-cffb611520ee@maurel.de> + +And there are some that are not recent regressions: + + - "name-rev" frees some strings it still uses prematurely. + cf. + +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. @@ -49,27 +69,210 @@ Release tarballs are available at: https://www.kernel.org/pub/software/scm/git/ -------------------------------------------------- -[Graduated to 'master'] +[New Topics] -* cb/buggy-gcc-12-workaround (2022-04-15) 2 commits - (merged to 'next' on 2022-04-15 at 48e68dd0fd) - + config.mak.dev: alternative workaround to gcc 12 warning in http.c - + config.mak.dev: workaround gcc 12 bug affecting "pedantic" CI job +* ah/rebase-keep-base-fix (2022-04-21) 1 commit + - rebase: use correct base for --keep-base when a branch is given - A couple of work around for CI breaking warnings from gcc 12. - source: <20220415231342.35980-1-carenas@gmail.com> + "git rebase --keep-base " computed the + commit to rebase onto incorrectly, which has been corrected. --------------------------------------------------- -[New Topics] + Will merge to 'next'. + source: <20220421044233.894255-1-alexhenrie24@gmail.com> + + +* cg/tools-for-git-doc (2022-04-21) 1 commit + - Documentation/ToolsForGit.txt: Tools for developing Git + + A new doc that lists tips for tools to work with Git's codebase. + + Thoughts? + source: <20220421084515.21236-2-cogoni.guillaume@gmail.com> -* cm/reftable-0-length-memset (2022-04-15) 1 commit - - reftable: avoid undefined behaviour breaking t0032 + +* ea/rebase-code-simplify (2022-04-20) 1 commit + - rebase: simplify an assignment of options.type in cmd_rebase Code clean-up. - Will merge to 'next'? - source: <20220415083058.29495-1-carenas@gmail.com> + Will merge to 'next'. + source: <20220418172721.215898-1-eantoranz@gmail.com> + + +* kt/commit-graph-plug-fp-leak-on-error (2022-04-20) 1 commit + - commit-graph: close file before returning NULL + + Fix a leak of FILE * in an error codepath. + + Will merge to 'next'. + source: + + +* ab/valgrind-fixes (2022-04-21) 4 commits + - object-file: fix a unpack_loose_header() regression in 3b6a8db3b03 + - commit-graph.c: don't assume that stat() succeeds + - log test: skip a failing mkstemp() test under valgrind + - tests: make RUNTIME_PREFIX compatible with --valgrind + + A bit of test framework fixes with a few fixes to issues found by + valgrind. + + Expecting a reroll. + source: + + +* cb/ci-make-p4-optional (2022-04-23) 5 commits + - fixup! CI: use https, not http to download binaries from perforce.com + - CI: use https, not http to download binaries from perforce.com + - ci: reintroduce prevention from perforce being quarantined in macOS + - ci: avoid brew for installing perforce + - ci: make failure to find perforce more user friendly + + macOS CI jobs have been occasionally flaky due to tentative version + skew between perforce and the homebrew packager. Instead of + failing the whole CI job, just let it skip the p4 tests when this + happens. + + Expecting a reroll. + source: <20220423142559.32507-1-carenas@gmail.com> + source: <0220423142559.32507-5-carenas@gmail.com> + + +* ds/midx-normalize-pathname-before-comparison (2022-04-25) 3 commits + - cache: use const char * for get_object_directory() + - multi-pack-index: use --object-dir real path + - midx: use real paths in lookup_multi_pack_index() + + The path taken by "git multi-pack-index" command from the end user + was compared with path internally prepared by the tool withut first + normalizing, which lead to duplicated paths not being noticed, + which has been corrected. + + Will merge to 'next'. + source: + + +* jc/show-branch-g-current (2022-04-21) 1 commit + - show-branch: -g and --current are incompatible + + The "--current" option of "git show-branch" should have been made + incompatible with the "--reflog" mode, but this was not enforced, + which has been corrected. + source: + + +* rs/external-diff-tempfile (2022-04-20) 2 commits + - diff: use mks_tempfile_dt() + - tempfile: add mks_tempfile_dt() + + The temporary files fed to external diff command are now generated + inside a new temporary directory under the same basename. + + Will merge to 'next'. + source: <2ad1dd80-e79f-7304-219c-db24bb269c4d@web.de> + + +* ab/cc-package-fixes (2022-04-22) 1 commit + - CI: select CC based on CC_PACKAGE (again) + + Correct choices of C compilers used in various CI jobs. + + Will merge to 'next'. + source: + + +* ab/hooks-regression-fix (2022-04-21) 6 commits + - hook API: fix v2.36.0 regression: hooks should be connected to a TTY + - hook API: don't redundantly re-set "no_stdin" and "stdout_to_stderr" + - hook tests: fix redirection logic error in 96e7225b310 + - run-command: add an "ungroup" option to run_process_parallel() + - run-command tests: test stdout of run_command_parallel() + - run-command API: replace run_processes_parallel_tr2() with opts struct + + In Git 2.36 we revamped the way how hooks are invoked. One change + that is end-user visible is that the output of a hook is no longer + directly connected to the standard output of "git" that spawns the + hook, which was noticed post release. This is getting corrected. + + Expecting a reroll. + source: + + +* ar/send-email-confirm-by-default (2022-04-22) 1 commit + - send-email: always confirm by default + + "git send-email" is changed so that by default it asks for + confirmation before sending each message out. + + Thoughts? + source: <20220422083629.1404989-1-hi@alyssa.is> + + +* mv/log-since-as-filter (2022-04-23) 1 commit + - log: "--since-as-filter" option is a non-terminating "--since" variant + "git log --since=X" will stop traversal upon seeing a commit that + is older than X, but there may be commits behind it that is younger + than X when the commit was created with a faulty clock. A new + option is added to keep digging without stopping, and instead + filter out commits with timestamp older than X. + + Will merge to 'next'. + source: + + +* rs/name-rev-fix-free-after-use (2022-04-23) 1 commit + - Revert "name-rev: release unused name strings" + + Regression fix for 2.36 where "git name-rev" started to sometimes + reference strings after they are freed. + + Will merge to 'next' and then to 'master'. + source: <340c8810-d912-7b18-d46e-a9d43f20216a@web.de> + + +* ds/do-not-call-bug-on-bad-refs (2022-04-25) 1 commit + - clone: die() instead of BUG() on bad refs + + Code clean-up. + + Will merge to 'next'. + source: + + +* gc/submodule-update-part2 (2022-04-25) 2 commits + - SQUASH??? tests to protect the fix + - submodule--helper: fix initialization of warn_if_uninitialized + + "git submodule update" without pathspec should silently skip an + uninitialized submodule, but it started to become noisy by mistake. + + Will merge to 'next' and then to 'master'. + source: + + +* jc/diff-free-must-free-only-per-iteration-resources (2022-04-25) 2 commits + - t4013: diff-tree --stdin with pathspec + - 2.36 gitk/diff-tree --stdin regression fix + + "diff-tree --stdin " lost the pathspec for second and + later commits, which broke "gitk". + + Will merge to 'next' and then to 'master'. + source: + + +* vd/sparse-stash (2022-04-25) 7 commits + - unpack-trees: preserve index sparsity + - stash: merge applied stash with merge-ort + - merge-recursive: add merge function arg to 'merge_recursive_generic' + - read-cache: set sparsity when index is new + - sparse-index: expose 'is_sparse_index_allowed()' + - stash: integrate with sparse index + - stash: expand sparse-checkout compatibility testing + + Teach "git stash" to work better with sparse index entries. + source: -------------------------------------------------- [Stalled] @@ -126,6 +329,15 @@ Release tarballs are available at: -------------------------------------------------- [Cooking] +* cm/reftable-0-length-memset (2022-04-15) 1 commit + - reftable: avoid undefined behaviour breaking t0032 + + Code clean-up. + + Will merge to 'next'. + source: <20220415083058.29495-1-carenas@gmail.com> + + * sa/t1011-use-helpers (2022-04-12) 1 commit - t1011: replace test -f with test_path_is_file @@ -314,64 +526,64 @@ Release tarballs are available at: Plug the memory leaks from the trickiest API of all, the revision walker. - Will merge to 'next'. + On hold. source: -* ab/ci-github-workflow-markup (2022-04-14) 7 commits - - ci: call `finalize_test_case_output` a little later - - ci: use `--github-workflow-markup` in the GitHub workflow - - ci: optionally mark up output in the GitHub workflow - - test(junit): avoid line feeds in XML attributes - - tests: refactor --write-junit-xml code - - ci: make it easier to find failed tests' logs in the GitHub workflow - - Merge branch 'ab/ci-setup-simplify' into ab/ci-github-workflow-markup +* ab/ci-github-workflow-markup (2022-04-21) 11 commits + . ci: call `finalize_test_case_output` a little later + . ci: use `--github-workflow-markup` in the GitHub workflow + . ci: optionally mark up output in the GitHub workflow + . test(junit): avoid line feeds in XML attributes + . tests: refactor --write-junit-xml code + . ci: make it easier to find failed tests' logs in the GitHub workflow + . CI: stop setting FAILED_TEST_ARTIFACTS N times + . CI: don't include "test-results/" in ci/print-test-failures.sh output + . CI: add --exit-code to ci/print-test-failures.sh + . CI: don't "cd" in ci/print-test-failures.sh + . Merge branch 'ab/ci-setup-simplify' into ab/ci-github-workflow-markup (this branch uses ab/ci-setup-simplify.) Build a moral equivalent of js/ci-github-workflow-markup on top of ab/ci-setup-simplify. - - How well does this compare feature-wise with js/ci-github-workflow-markup? - source: - - -* ab/ci-setup-simplify (2022-04-14) 29 commits - - CI: make it easy to use ci/*.sh outside of CI - - CI: don't use "set -x" in "ci/lib.sh" output - - CI: set PYTHON_PATH setting for osx-{clang,gcc} into "$jobname" case - - CI: set SANITIZE=leak in MAKEFLAGS directly - - CI: set CC in MAKEFLAGS directly, don't add it to the environment - - CI: add more variables to MAKEFLAGS, except under vs-build - - CI: narrow down variable definitions in --build and --test - - CI: only invoke ci/lib.sh as "steps" in main.yml - - CI: pre-select test slice in Windows & VS tests - - ci/run-test-slice.sh: replace shelling out with "echo" - - CI: move "env" definitions into ci/lib.sh - - CI: combine ci/install{,-docker}-dependencies.sh - - CI: split up and reduce "ci/test-documentation.sh" - - CI: invoke "make artifacts-tar" directly in windows-build - - CI: check ignored unignored build artifacts in "win[+VS] build" too - - ci/lib.sh: use "test" instead of "[" - - CI: remove "run-build-and-tests.sh", run "make [test]" directly - - CI: export variables via a wrapper - - CI: consistently use "export" in ci/lib.sh - - CI: move p4 and git-lfs variables to ci/install-dependencies.sh - - CI: have "static-analysis" run "check-builtins", not "documentation" - - CI: have "static-analysis" run a "make ci-static-analysis" target - - CI: don't have "git grep" invoke a pager in tree content check - - CI/lib.sh: stop adding leading whitespace to $MAKEFLAGS - - CI: remove unused Azure ci/* code - - CI: remove dead "tree skipping" code - - CI: remove more dead Travis CI support - - CI: make "$jobname" explicit, remove fallback - - CI: run "set -ex" early in ci/lib.sh + source: + + +* ab/ci-setup-simplify (2022-04-21) 29 commits + . CI: make it easy to use ci/*.sh outside of CI + . CI: don't use "set -x" in "ci/lib.sh" output + . CI: set PYTHON_PATH setting for osx-{clang,gcc} into "$jobname" case + . CI: set SANITIZE=leak in MAKEFLAGS directly + . CI: set CC in MAKEFLAGS directly, don't add it to the environment + . CI: add more variables to MAKEFLAGS, except under vs-build + . CI: narrow down variable definitions in --build and --test + . CI: only invoke ci/lib.sh as "steps" in main.yml + . CI: pre-select test slice in Windows & VS tests + . ci/run-test-slice.sh: replace shelling out with "echo" + . CI: move "env" definitions into ci/lib.sh + . CI: combine ci/install{,-docker}-dependencies.sh + . CI: split up and reduce "ci/test-documentation.sh" + . CI: invoke "make artifacts-tar" directly in windows-build + . CI: check ignored unignored build artifacts in "win[+VS] build" too + . CI: make ci/{lib,install-dependencies}.sh POSIX-compatible + . CI: remove "run-build-and-tests.sh", run "make [test]" directly + . CI: export variables via a wrapper + . CI: consistently use "export" in ci/lib.sh + . CI: move p4 and git-lfs variables to ci/install-dependencies.sh + . CI: have "static-analysis" run "check-builtins", not "documentation" + . CI: have "static-analysis" run a "make ci-static-analysis" target + . CI: don't have "git grep" invoke a pager in tree content check + . CI/lib.sh: stop adding leading whitespace to $MAKEFLAGS + . CI: remove unused Azure ci/* code + . CI: remove dead "tree skipping" code + . CI: remove more dead Travis CI support + . CI: make "$jobname" explicit, remove fallback + . CI: run "set -ex" early in ci/lib.sh (this branch is used by ab/ci-github-workflow-markup.) Drive more actions done in CI via the Makefile instead of shell commands sprinkled in .github/workflows/main.yml - - Will merge to 'next'? - source: + source: * kf/p4-multiple-remotes (2022-03-21) 1 commit @@ -433,10 +645,10 @@ Release tarballs are available at: source: -* en/sparse-cone-becomes-default (2022-03-13) 9 commits +* en/sparse-cone-becomes-default (2022-04-21) 9 commits - Documentation: some sparsity wording clarifications - git-sparse-checkout.txt: mark non-cone mode as deprecated - - git-sparse-checkout.txt: flesh out non-cone mode pattern discussion a bit + - git-sparse-checkout.txt: flesh out pattern set sections a bit - git-sparse-checkout.txt: add a new EXAMPLES section - git-sparse-checkout.txt: shuffle some sections and mark as internal - git-sparse-checkout.txt: update docs for deprecation of 'init' @@ -447,7 +659,7 @@ Release tarballs are available at: Deprecate non-cone mode of the sparse-checkout feature. Will merge to 'next'? - source: + source: * tb/cruft-packs (2022-03-02) 17 commits @@ -479,23 +691,21 @@ Release tarballs are available at: * js/ci-github-workflow-markup (2022-03-01) 9 commits - . ci: call `finalize_test_case_output` a little later - . ci: use `--github-workflow-markup` in the GitHub workflow - . ci: optionally mark up output in the GitHub workflow - . test(junit): avoid line feeds in XML attributes - . tests: refactor --write-junit-xml code - . ci/run-build-and-tests: add some structure to the GitHub workflow output - . ci: make it easier to find failed tests' logs in the GitHub workflow - . ci/run-build-and-tests: take a more high-level view - . ci: fix code style + - ci: call `finalize_test_case_output` a little later + - ci: use `--github-workflow-markup` in the GitHub workflow + - ci: optionally mark up output in the GitHub workflow + - test(junit): avoid line feeds in XML attributes + - tests: refactor --write-junit-xml code + - ci/run-build-and-tests: add some structure to the GitHub workflow output + - ci: make it easier to find failed tests' logs in the GitHub workflow + - ci/run-build-and-tests: take a more high-level view + - ci: fix code style Update the GitHub workflow support to make it quicker to get to the failing test. - Waiting for discussion to settle. - cf. <220309.86tuc6lwpj.gmgdl@evledraar.gmail.com> - cf. <220302.86mti87cj2.gmgdl@evledraar.gmail.com> - cf. <30dbc8fb-a1db-05bc-3dcb-070e11cf4715@gmail.com> + Expecting a reroll. + cf. <52382f7c-5b6a-63b6-2eb2-26c12f31f529@gmail.com> source: @@ -510,17 +720,14 @@ Release tarballs are available at: source: <20220217225408.GB7@edef91d97c94> -* tk/simple-autosetupmerge (2022-02-25) 2 commits - - t3200: tests for new branch.autosetupmerge option "simple" +* tk/simple-autosetupmerge (2022-04-22) 1 commit - merge: new autosetupmerge option 'simple' for matching branches "git -c branch.autosetupmerge=simple branch $A $B" will set the $B as $A's upstream only when $A and $B shares the same name, and "git -c push.default=simple" on branch $A would push to update the branch $A at the remote $B came from. - - Needs review. - source: + source: * tk/untracked-cache-with-uall (2022-04-01) 2 commits @@ -536,7 +743,8 @@ Release tarballs are available at: source: -* jh/builtin-fsmonitor-part3 (2022-03-25) 28 commits +* jh/builtin-fsmonitor-part3 (2022-04-22) 29 commits + - fsmonitor--daemon: allow --super-prefix argument - t7527: test Unicode NFC/NFD handling on MacOS - t/lib-unicode-nfc-nfd: helper prereqs for testing unicode nfc/nfd - fsmonitor: on macOS also emit NFC spelling for NFD pathname @@ -567,7 +775,7 @@ Release tarballs are available at: - Merge branch 'jh/builtin-fsmonitor-part2' into jh/builtin-fsmonitor-part3 More fsmonitor--daemon. - source: + source: * js/bisect-in-c (2022-02-23) 14 commits -- 2.47.3