]> git.ipfire.org Git - thirdparty/git.git/commitdiff
What's cooking (2022/04 #06)
authorJunio C Hamano <gitster@pobox.com>
Mon, 25 Apr 2022 23:26:46 +0000 (16:26 -0700)
committerJunio C Hamano <gitster@pobox.com>
Mon, 25 Apr 2022 23:26:46 +0000 (16:26 -0700)
whats-cooking.txt

index 1878e388a05600e08d598aa55fab0b0cc7bcaca1..25e0d739116a7ddb4ba314b5808c9a3b8d5a4493 100644 (file)
@@ -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 <pathspec>" loses <pathspec> after showing one
+   comparison.
+   cf. <xmqqbkwpvyyc.fsf@gitster.g>
+
+ - "submodule update" without <pathspec> makes unnecessary noise
+   when skipping uninitialized submodules.
+   cf. <pull.1258.v2.git.git.1650890741430.gitgitgadget@gmail.com>
+
+ - hooks no longer is connected directly to the standard output.
+   cf. <CA+dzEBn108QoMA28f0nC8K21XT+Afua0V2Qv8XkR8rAeqUCCZw@mail.gmail.com>
+
+ - "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. <Ylw+M5wwUYKcLM+M@voi.aagh.net>
+
+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 <upstream> <branch-to-rebase>" 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: <pull.1213.git.1650302007395.gitgitgadget@gmail.com>
+
+
+* 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: <cover-0.4-00000000000-20220421T200733Z-avarab@gmail.com>
+
+
+* 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: <pull.1221.v2.git.1650911234.gitgitgadget@gmail.com>
+
+
+* 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: <xmqqh76mf7s4.fsf_-_@gitster.g>
+
+
+* 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: <patch-v3-1.1-8b3444ecc87-20220422T092015Z-avarab@gmail.com>
+
+
+* 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: <cover-0.6-00000000000-20220421T122108Z-avarab@gmail.com>
+
+
+* 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: <YmP4TaYmSEi6GeB4@vmiklos.hu>
+
+
+* 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: <pull.1214.v2.git.1650894450441.gitgitgadget@gmail.com>
+
+
+* 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: <pull.1258.v2.git.git.1650890741430.gitgitgadget@gmail.com>
+
+
+* 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 <pathspec>" lost the pathspec for second and
+ later commits, which broke "gitk".
+
+ Will merge to 'next' and then to 'master'.
+ source: <xmqqbkwpvyyc.fsf@gitster.g>
+
+
+* 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: <pull.1171.git.1650908957.gitgitgadget@gmail.com>
 
 --------------------------------------------------
 [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: <cover-v6-00.27-00000000000-20220413T195935Z-avarab@gmail.com>
 
 
-* 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: <RFC-cover-v4-0.6-00000000000-20220413T195514Z-avarab@gmail.com>
-
-
-* 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: <RFC-cover-v5-00.10-00000000000-20220421T183001Z-avarab@gmail.com>
+
+
+* 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: <cover-v3-00.29-00000000000-20220413T194847Z-avarab@gmail.com>
+ source: <cover-v5-00.29-00000000000-20220421T181526Z-avarab@gmail.com>
 
 
 * kf/p4-multiple-remotes (2022-03-21) 1 commit
@@ -433,10 +645,10 @@ Release tarballs are available at:
  source: <pull.1134.v5.git.1648616734.gitgitgadget@gmail.com>
 
 
-* 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: <pull.1148.v2.git.1647054681.gitgitgadget@gmail.com>
+ source: <pull.1148.v3.git.1650594746.gitgitgadget@gmail.com>
 
 
 * 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: <pull.1117.v2.git.1646130289.gitgitgadget@gmail.com>
 
 
@@ -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: <pull.1161.v2.git.1645815142.gitgitgadget@gmail.com>
+ source: <pull.1161.v4.git.1647843442911.gitgitgadget@gmail.com>
 
 
 * tk/untracked-cache-with-uall (2022-04-01) 2 commits
@@ -536,7 +743,8 @@ Release tarballs are available at:
  source: <pull.985.v6.git.1648742535.gitgitgadget@gmail.com>
 
 
-* 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: <pull.1143.v4.git.1648140680.gitgitgadget@gmail.com>
+ source: <pull.1143.v6.git.1650662994.gitgitgadget@gmail.com>
 
 
 * js/bisect-in-c (2022-02-23) 14 commits