From: Junio C Hamano Date: Thu, 2 Sep 2021 21:30:40 +0000 (-0700) Subject: What's cooking (2021/09 #01) X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=13ca902789b227b6a3cc62eee35ea16df892a365;p=thirdparty%2Fgit.git What's cooking (2021/09 #01) --- diff --git a/whats-cooking.txt b/whats-cooking.txt index 7da10f3c35..864a74d8e9 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 (Aug 2021, #10; Tue, 31) +Subject: What's cooking in git.git (Sep 2021, #01; Thu, 2) X-master-at: 6c40894d2466d4e7fddc047a05116aa9d14712ee -X-next-at: f2128466b98f6f7214f448ad9ae8252811cadb24 +X-next-at: 3052b894382a0debd2b7c8345f86f70277b76a3e -What's cooking in git.git (Aug 2021, #10; Tue, 31) +What's cooking in git.git (Sep 2021, #01; Thu, 2) -------------------------------------------------- Here are the topics that have been cooking in my tree. Commits @@ -18,11 +18,6 @@ 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. -Now 'merge -sort' is the default two-head merge strategy on the -'master' front. Older topics that are not in 'seen' need help from -readers to be sifted into bins for 'next' and the remainder to be -kicked back to the authors. - 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. @@ -52,148 +47,173 @@ Release tarballs are available at: https://www.kernel.org/pub/software/scm/git/ -------------------------------------------------- -[Graduated to 'master'] +[New Topics] + +* ms/customizable-ident-expansion (2021-09-01) 1 commit + - keyword expansion: make "$Id$" string configurable -* bc/t5607-avoid-broken-test-fail-prereqs (2021-08-11) 1 commit - (merged to 'next' on 2021-08-24 at 66c1e510ff) - + t5607: avoid using prerequisites to select algorithm + Instead of "$Id$", user-specified string (like $FreeBSD$) can be + used as an in-blob placeholder for keyword expansion. - 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. +* pb/test-use-user-env (2021-09-01) 3 commits + - test-lib-functions: optionally keep HOME and TERM in 'debug' + - test-lib-functions: optionally keep HOME, TERM and SHELL in 'test_pause' + - test-lib-functions: use 'TEST_SHELL_PATH' in 'test_pause' -* cb/builtin-merge-format-string-fix (2021-08-09) 1 commit - (merged to 'next' on 2021-08-24 at 6e94c19f1e) - + builtin/merge: avoid -Wformat-extra-args from ancient Xcode + Teach test_pause and test_debug to allow using the HOME and TERM + environment variables the user usually uses. + + Will merge to 'next'? - Code clean-up. +* js/retire-preserve-merges (2021-09-01) 7 commits + - tests: stop testing `git rebase --preserve-merges` + - remote: warn about unhandled branch..rebase values + - t5520: do not use `pull.rebase=preserve` + - rebase: drop the internal `rebase--interactive` command + - git-svn: drop support for `--preserve-merges` + - rebase: drop support for `--preserve-merges` + - pull: remove support for `--rebase=preserve` -* cb/ci-freebsd-update (2021-08-12) 1 commit - (merged to 'next' on 2021-08-24 at 1ecf63af7d) - + ci: update freebsd 12 cirrus job + The "--preserve-merges" option of "git rebase" has been removed. - Update FreeBSD CI job + Will merge to 'next'? -* en/merge-strategy-docs (2021-08-05) 10 commits - (merged to 'next' on 2021-08-24 at ceb66b1062) - + Update error message and code comment - + merge-strategies.txt: add coverage of the `ort` merge strategy - + git-rebase.txt: correct out-of-date and misleading text about renames - + merge-strategies.txt: fix simple capitalization error - + merge-strategies.txt: avoid giving special preference to patience algorithm - + merge-strategies.txt: do not imply using copy detection is desired - + merge-strategies.txt: update wording for the resolve strategy - + Documentation: edit awkward references to `git merge-recursive` - + directory-rename-detection.txt: small updates due to merge-ort optimizations - + git-rebase.txt: correct antiquated claims about --rebase-merges - (this branch is used by en/ort-becomes-the-default.) +* cb/remote-ndebug-fix (2021-09-02) 1 commit + - remote: avoid -Wunused-but-set-variable in gcc with -DNDEBUG - Documentation updates. + Build fix. + Will merge to 'next'. -* en/ort-becomes-the-default (2021-08-05) 2 commits - (merged to 'next' on 2021-08-24 at 92f4e08d83) - + Update docs for change of default merge backend - + Change default merge backend from recursive to ort - (this branch uses en/merge-strategy-docs.) - Use `ort` instead of `recursive` as the default merge strategy. +* mr/bisect-in-c-4 (2021-09-02) 6 commits + - bisect--helper: retire `--bisect-next-check` subcommand + - bisect--helper: reimplement `bisect_run` shell + - bisect--helper: reimplement `bisect_visualize()`shell function in C + - run-command: make `exists_in_PATH()` non-static + - t6030-bisect-porcelain: add test for bisect visualize + - t6030-bisect-porcelain: add tests to control bisect run exit cases + Rewrite of "git bisect" in C continues. -* en/pull-conflicting-options (2021-07-22) 8 commits - (merged to 'next' on 2021-08-24 at e1e5b2c551) - + pull: fix handling of multiple heads - + pull: update docs & code for option compatibility with rebasing - + pull: abort by default when fast-forwarding is not possible - + pull: make --rebase and --no-rebase override pull.ff=only - + pull: since --ff-only overrides, handle it first - + pull: abort if --ff-only is given and fast-forwarding is impossible - + t7601: add tests of interactions with multiple merge heads and config - + t7601: test interaction of merge/rebase/fast-forward flags and options +-------------------------------------------------- +[Stalled] - "git pull" had various corner cases that were not well thought out - around its --rebase backend, e.g. "git pull --ff-only" did not stop - but went ahead and rebased when the history on other side is not a - descendant of our history. The series tries to fix them up. +* gh/gitweb-branch-sort (2021-06-10) 1 commit + - gitweb: use HEAD as secondary sort key in git_get_heads_list() + + Tie-break branches that point at the same object in the list of + branches on GitWeb to show the one pointed at by HEAD early. + + Waiting for reviews. + + +* es/superproject-aware-submodules (2021-08-19) 5 commits + - fixup! introduce submodule.superprojectGitDir record + - submodule: record superproject gitdir during 'update' + - submodule: record superproject gitdir during absorbgitdirs + - introduce submodule.superprojectGitDir record + - t7400-submodule-basic: modernize inspect() helper + A configuration variable in a submodule points at the location of + the superproject it is bound to (RFC). -* jc/userdiff-pattern-hint (2021-08-11) 1 commit - (merged to 'next' on 2021-08-24 at f29f51148f) - + userdiff: comment on the builtin patterns + Looking good. - Remind developers that the userdiff patterns should be kept simple - and permissive, assuming that the contents they apply are always - syntactically correct. +* en/zdiff3 (2021-06-15) 2 commits + - update documentation for new zdiff3 conflictStyle + - xdiff: implement a zealous diff3, or "zdiff3" -* jk/apply-binary-hunk-parsing-fix (2021-08-10) 1 commit - (merged to 'next' on 2021-08-24 at c786cd1e8b) - + apply: keep buffer/size pair in sync when parsing binary hunks + "Zealous diff3" style of merge conflict presentation has been added. - "git apply" miscounted the bytes and failed to read to the end of - binary hunks. + Expecting a reroll. + cf. -* jk/range-diff-fixes (2021-08-10) 3 commits - (merged to 'next' on 2021-08-24 at eff05f579e) - + 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() +* ao/p4-avoid-decoding (2021-04-12) 2 commits + - git-p4: do not decode data from perforce by default + - git-p4: avoid decoding more data from perforce - "git range-diff" code clean-up. + "git p4" in Python-2 days used to accept a lot more kinds of data + from Perforce server as uninterrupted byte sequence, but after + switching to Python-3, too many things are expected to be in UTF-8, + which broke traditional use cases. + Waiting for reviews. -* js/log-protocol-version (2021-08-10) 1 commit - (merged to 'next' on 2021-08-24 at aeeaee04fb) - + connect, protocol: log negotiated protocol version - Debugging aid. +* tv/p4-fallback-encoding (2021-04-30) 1 commit + - git-p4: git-p4.fallbackEncoding to specify non UTF-8 charset + "git p4" learns the fallbackEncoding configuration variable to + safely accept changeset descriptions that aren't written in UTF-8. -* th/userdiff-more-java (2021-08-11) 1 commit - (merged to 'next' on 2021-08-24 at a5617abd3e) - + userdiff: improve java hunk header regex + Waiting for reviews. - The userdiff pattern for "java" language has been updated. +* ab/fsck-unexpected-type (2021-07-12) 21 commits + - fsck: report invalid object type-path combinations + - fsck: report invalid types recorded in objects + - object-store.h: move read_loose_object() below 'struct object_info' + - fsck: don't hard die on invalid object types + - object-file.c: return -2 on "header too long" in unpack_loose_header() + - object-file.c: return -1, not "status" from unpack_loose_header() + - object-file.c: guard against future bugs in loose_object_info() + - object-file.c: stop dying in parse_loose_header() + - object-file.c: split up ternary in parse_loose_header() + - object-file.c: simplify unpack_loose_short_header() + - object-file.c: add missing braces to loose_object_info() + - object-file.c: make parse_loose_header_extended() public + - object-file.c: don't set "typep" when returning non-zero + - cache.h: move object functions to object-store.h + - cat-file tests: test for current --allow-unknown-type behavior + - cat-file tests: add corrupt loose object test + - rev-list tests: test for behavior with invalid object types + - cat-file tests: test that --allow-unknown-type isn't on by default + - cat-file tests: test for missing object with -t and -s + - fsck tests: add test for fsck-ing an unknown type + - fsck tests: refactor one test to use a sub-repo -* tl/traverse-non-commits-rename (2021-08-12) 1 commit - (merged to 'next' on 2021-08-24 at 55cc85c20a) - + list-objects.c: rename "traverse_trees_and_blobs" to "traverse_non_commits" + "git fsck" has been taught to report mismatch between expected and + actual types of an object better. - Meh. + Needs review. -------------------------------------------------- -[New Topics] +[Cooking] * tb/add-objects-in-unpacked-packs-simplify (2021-08-29) 3 commits - - builtin/pack-objects.c: remove duplicate hash lookup - - builtin/pack-objects.c: simplify add_objects_in_unpacked_packs() - - object-store.h: teach for_each_packed_object to ignore kept packs + (merged to 'next' on 2021-09-01 at 66b0f8564d) + + builtin/pack-objects.c: remove duplicate hash lookup + + builtin/pack-objects.c: simplify add_objects_in_unpacked_packs() + + object-store.h: teach for_each_packed_object to ignore kept packs Code simplification with reduced memory usage. - Will merge to 'next'. + Will merge to 'master'. * es/walken-tutorial-fix (2021-08-30) 1 commit - - doc: fix syntax error and the format of printf + (merged to 'next' on 2021-09-01 at 73719bee8a) + + doc: fix syntax error and the format of printf Typofix. - Will merge to 'next'. + Will merge to 'master'. * jh/sparse-index-resize-fix (2021-08-30) 1 commit - - sparse-index: copy dir_hash in ensure_full_index() + (merged to 'next' on 2021-09-01 at 5ee2615670) + + sparse-index: copy dir_hash in ensure_full_index() The sparse-index support can corrupt the index structure by storing a stale and/or uninitialized data, which has been corrected. - Will merge to 'next'. + Will merge to 'master'. * mh/send-email-reset-in-reply-to (2021-08-30) 1 commit @@ -208,30 +228,31 @@ Release tarballs are available at: * rs/more-fspathcmp (2021-08-30) 1 commit - - merge-recursive: use fspathcmp() in path_hashmap_cmp() + (merged to 'next' on 2021-09-01 at 3052b89438) + + merge-recursive: use fspathcmp() in path_hashmap_cmp() Code simplification. - Will merge to 'next'. + Will merge to 'master'. * sg/set-ceiling-during-tests (2021-08-30) 1 commit - - test-lib: set GIT_CEILING_DIRECTORIES to protect the surrounding repository + (merged to 'next' on 2021-09-01 at 5378ce3817) + + test-lib: set GIT_CEILING_DIRECTORIES to protect the surrounding repository Buggy tests could damage repositories outside the throw-away test area we created. We now by default export GIT_CEILING_DIRECTORIES to limit the damage from such a stray test. - Will merge to 'next'. + Will merge to 'master'. -* ab/gc-log-rephrase (2021-08-31) 1 commit +* ab/gc-log-rephrase (2021-09-02) 1 commit - gc: remove trailing dot from "gc.log" line - (this branch uses uk/userdiff-php-enum.) A pathname in an advice message has been made cut-and-paste ready. - Will merge to 'next'? + Will merge to 'next'. * ab/mailmap-leakfix (2021-08-31) 1 commit @@ -288,98 +309,11 @@ Release tarballs are available at: * uk/userdiff-php-enum (2021-08-31) 1 commit - userdiff: support enum keyword in PHP hunk header - (this branch is used by ab/gc-log-rephrase.) Update the userdiff pattern for PHP. Will merge to 'next'. --------------------------------------------------- -[Stalled] - -* gh/gitweb-branch-sort (2021-06-10) 1 commit - - gitweb: use HEAD as secondary sort key in git_get_heads_list() - - Tie-break branches that point at the same object in the list of - branches on GitWeb to show the one pointed at by HEAD early. - - Waiting for reviews. - - -* es/superproject-aware-submodules (2021-08-19) 5 commits - - fixup! introduce submodule.superprojectGitDir record - - submodule: record superproject gitdir during 'update' - - submodule: record superproject gitdir during absorbgitdirs - - introduce submodule.superprojectGitDir record - - t7400-submodule-basic: modernize inspect() helper - - A configuration variable in a submodule points at the location of - the superproject it is bound to (RFC). - - Looking good. - - -* en/zdiff3 (2021-06-15) 2 commits - - update documentation for new zdiff3 conflictStyle - - xdiff: implement a zealous diff3, or "zdiff3" - - "Zealous diff3" style of merge conflict presentation has been added. - - Expecting a reroll. - cf. - - -* ao/p4-avoid-decoding (2021-04-12) 2 commits - - git-p4: do not decode data from perforce by default - - git-p4: avoid decoding more data from perforce - - "git p4" in Python-2 days used to accept a lot more kinds of data - from Perforce server as uninterrupted byte sequence, but after - switching to Python-3, too many things are expected to be in UTF-8, - which broke traditional use cases. - - Waiting for reviews. - - -* tv/p4-fallback-encoding (2021-04-30) 1 commit - - git-p4: git-p4.fallbackEncoding to specify non UTF-8 charset - - "git p4" learns the fallbackEncoding configuration variable to - safely accept changeset descriptions that aren't written in UTF-8. - - Waiting for reviews. - - -* ab/fsck-unexpected-type (2021-07-12) 21 commits - - fsck: report invalid object type-path combinations - - fsck: report invalid types recorded in objects - - object-store.h: move read_loose_object() below 'struct object_info' - - fsck: don't hard die on invalid object types - - object-file.c: return -2 on "header too long" in unpack_loose_header() - - object-file.c: return -1, not "status" from unpack_loose_header() - - object-file.c: guard against future bugs in loose_object_info() - - object-file.c: stop dying in parse_loose_header() - - object-file.c: split up ternary in parse_loose_header() - - object-file.c: simplify unpack_loose_short_header() - - object-file.c: add missing braces to loose_object_info() - - object-file.c: make parse_loose_header_extended() public - - object-file.c: don't set "typep" when returning non-zero - - cache.h: move object functions to object-store.h - - cat-file tests: test for current --allow-unknown-type behavior - - cat-file tests: add corrupt loose object test - - rev-list tests: test for behavior with invalid object types - - cat-file tests: test that --allow-unknown-type isn't on by default - - cat-file tests: test for missing object with -t and -s - - fsck tests: add test for fsck-ing an unknown type - - fsck tests: refactor one test to use a sub-repo - - "git fsck" has been taught to report mismatch between expected and - actual types of an object better. - - Needs review. - --------------------------------------------------- -[Cooking] * ab/commit-graph-usage (2021-08-30) 7 commits - commit-graph: show "unexpected subcommand" error @@ -495,7 +429,7 @@ Release tarballs are available at: Will merge to 'master'. -* jv/pkt-line-batch (2021-08-31) 2 commits +* jv/pkt-line-batch (2021-09-01) 2 commits - upload-pack: use stdio in send_ref callbacks - pkt-line: add stdio packet write functions @@ -534,12 +468,13 @@ Release tarballs are available at: * ps/fetch-omit-formatting-under-quiet (2021-08-30) 1 commit - - fetch: skip formatting updated refs with `--quiet` + (merged to 'next' on 2021-09-01 at 2440a8a2aa) + + fetch: skip formatting updated refs with `--quiet` "git fetch --quiet" optimization to avoid useless computation of info that will never be displayed. - Will merge to 'next'. + Will merge to 'master'. * ps/ls-refs-strbuf-optim (2021-08-25) 1 commit @@ -627,7 +562,7 @@ Release tarballs are available at: possible backend. -* ps/fetch-optim (2021-08-24) 8 commits +* ps/fetch-optim (2021-09-01) 7 commits - fetch: avoid second connectivity check if we already have all objects - fetch: merge fetching and consuming refs - fetch: refactor fetch refs to be more extendable @@ -635,8 +570,9 @@ Release tarballs are available at: - connected: refactor iterator to return next object ID directly - fetch: avoid unpacking headers in object existence check - fetch: speed up lookup of want refs via commit-graph - - Merge branch 'ps/connectivity-optim' into ps/fetch-optim - (this branch uses ps/connectivity-optim.) + + Optimize code that handles large number of refs in the "git fetch" + code path. * sg/make-fix-ar-invocation (2021-08-19) 1 commit @@ -721,13 +657,14 @@ Release tarballs are available at: * zh/cherry-pick-advice (2021-08-23) 1 commit - - cherry-pick: use better advice message + (merged to 'next' on 2021-09-01 at 6ff491cc09) + + 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. - Will merge to 'next'. + Will merge to 'master'. * es/config-based-hooks (2021-08-19) 7 commits @@ -771,15 +708,18 @@ Release tarballs are available at: Will merge to 'master'. -* ka/want-ref-in-namespace (2021-08-13) 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 +* ka/want-ref-in-namespace (2021-09-01) 3 commits + (merged to 'next' on 2021-09-01 at a1075a92a9) + + 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. + Will merge to 'master'. + * cb/ci-build-pedantic (2021-08-11) 1 commit - ci: run a pedantic build as part of the GitHub workflow @@ -808,7 +748,8 @@ Release tarballs are available at: * js/advise-when-skipping-cherry-picked (2021-08-30) 1 commit - - sequencer: advise if skipping cherry-picked commit + (merged to 'next' on 2021-09-01 at bc883fce56) + + 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; @@ -816,7 +757,7 @@ Release tarballs are available at: skipped commits, and also teach them how to tell "rebase" to keep duplicated changes. - Will merge to 'next'. + Will merge to 'master'. * jt/grep-wo-submodule-odb-as-alternate (2021-08-13) 8 commits @@ -841,7 +782,6 @@ Release tarballs are available at: + revision: stop retrieving reference twice + connected: do not sort input revisions + revision: separate walk and unsorted flags - (this branch is used by ps/fetch-optim.) The revision traversal API has been optimized by taking advantage of the commit-graph, when available, to determine if a commit is @@ -905,6 +845,9 @@ Release tarballs are available at: Further tweaks on progress API. + On hold. + cf. <20210901050406.GB76263@szeder.dev> + * ab/progress-users-adjust-counters (2021-08-25) 2 commits - entry: show finer-grained counter in "Filtering content" progress line @@ -974,7 +917,7 @@ Release tarballs are available at: Will merge to 'next'? -* tb/multi-pack-bitmaps (2021-08-24) 25 commits +* tb/multi-pack-bitmaps (2021-09-01) 27 commits - p5326: perf tests for MIDX bitmaps - p5310: extract full and partial bitmap tests - midx: respect 'GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAP' @@ -996,6 +939,8 @@ Release tarballs are available at: - midx: infer preferred pack when not given one - midx: reject empty `--preferred-pack`'s - midx: clear auxiliary .rev after replacing the MIDX + - midx: fix `*.rev` cleanups with `--object-dir` + - midx: disallow running outside of a repository - Documentation: describe MIDX-based bitmaps - pack-bitmap-write.c: free existing bitmaps - pack-bitmap-write.c: gracefully fail to write non-closed bitmaps @@ -1005,7 +950,7 @@ Release tarballs are available at: pack, but now we've learned to generate bitmaps for history that span across multiple packfiles. - Comments? + Will merge to 'next'? * ab/config-based-hooks-base (2021-08-03) 36 commits