diff --git a/whats-cooking.txt b/whats-cooking.txt index 2ea24fd22b..5af6563cb8 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 2022, #02; Fri, 5) -X-master-at: 679aad9e82d0dfd8ef3d1f98fa4629665496cec9 -X-next-at: 8b5581f2bb185e8784b9bfb4e62049927bff10d8 +Subject: What's cooking in git.git (Aug 2022, #03; Mon, 8) +X-master-at: c50926e1f48891e2671e1830dbcd2912a4563450 +X-next-at: c1821dd516c3fe71ff8009bcb7fca5764e49a4b9 -What's cooking in git.git (Aug 2022, #02; Fri, 5) +What's cooking in git.git (Aug 2022, #03; Mon, 8) -------------------------------------------------- Here are the topics that have been cooking in my tree. Commits @@ -13,8 +13,8 @@ future release). Commits prefixed with '-' are only in 'seen', and aren't considered "accepted" at all. A handful of topics have graduated to the 'master' track, and half a -dozen topics are now in 'next' to cook. We are at the end of Week -#4 of a 12-week cycle (cf. https://tinyurl.com/gitCal). +dozen topics are now in 'next' to cook. We are starting the week #5 +of a 12-week cycle (cf. https://tinyurl.com/gitCal). 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 @@ -47,153 +47,140 @@ Release tarballs are available at: -------------------------------------------------- [Graduated to 'master'] -* ds/midx-with-less-memory (2022-07-27) 4 commits - (merged to 'next' on 2022-07-27 at 9ac7aed9f6) - + write_midx_bitmap(): drop unused refs_snapshot parameter - (merged to 'next' on 2022-07-20 at 250d257c3e) - + midx: reduce memory pressure while writing bitmaps - + midx: extract bitmap write setup - + pack-bitmap-write: use const for hashes +* ca/unignore-local-installation-on-windows (2022-07-27) 1 commit + (merged to 'next' on 2022-08-01 at 1d4f4c32a6) + + cmake: support local installations of git - The codepath to write multi-pack index has been taught to release a - large chunk of memory that holds an array of objects in the packs, - as soon as it is done with the array, to reduce memory consumption. - source: + Fix build procedure for Windows that uses CMake so that it can pick + up the shell interpreter from local installation location. + source: -* en/merge-restore-to-pristine (2022-07-22) 8 commits - (merged to 'next' on 2022-07-27 at daafc50c15) - + merge: do not exit restore_state() prematurely - + merge: ensure we can actually restore pre-merge state - + merge: make restore_state() restore staged state too - + merge: fix save_state() to work when there are stat-dirty files - + merge: do not abort early if one strategy fails to handle the merge - + merge: abort if index does not match HEAD for trivial merges - + merge-resolve: abort if index does not match HEAD - + merge-ort-wrappers: make printed message match the one from recursive +* jk/struct-zero-init-with-older-gcc (2022-07-31) 1 commit + (merged to 'next' on 2022-08-01 at cde4f95964) + + config.mak.dev: squelch -Wno-missing-braces for older gcc - When "git merge" finds that it cannot perform a merge, it should - restore the working tree to the state before the command was - initiated, but in some corner cases it didn't. - source: + Older gcc with -Wall complains about the universal zero initializer + "struct s = { 0 };" idiom, which makes developers' lives + inconvenient (as -Werror is enabled by DEVELOPER=YesPlease). The + build procedure has been tweaked to help these compilers. + source: -* gc/bare-repo-discovery (2022-07-26) 1 commit - (merged to 'next' on 2022-07-28 at 1d2bef98f6) - + config.c: NULL check when reading protected config +* js/lstat-mingw-enotdir-fix (2022-07-29) 1 commit + (merged to 'next' on 2022-08-01 at 10499943b7) + + lstat(mingw): correctly detect ENOTDIR scenarios - Fix-up for what has been merged to 'master' recently. - source: + Fix to lstat() emulation on Windows. + source: -* jc/string-list-cleanup (2022-07-20) 1 commit - (merged to 'next' on 2022-07-27 at 858a0b2a28) - + builtin/remote.c: use the right kind of STRING_LIST_INIT +* js/mingw-with-python (2022-07-29) 3 commits + (merged to 'next' on 2022-08-01 at 73b8f06182) + + mingw: remove unneeded `NO_CURL` directive + + mingw: remove unneeded `NO_GETTEXT` directive + + windows: include the Python bits when building Git for Windows - Code clean-up. - source: + Conditionally allow building Python interpreter on Windows + source: -* jr/gitweb-title-shortening (2022-07-26) 1 commit - (merged to 'next' on 2022-07-28 at 7528e87220) - + gitweb: remove title shortening heuristics +* js/ort-clean-up-after-failed-merge (2022-07-31) 2 commits + (merged to 'next' on 2022-08-01 at 0c9f02f3ec) + + merge-ort: do leave trace2 region even if checkout fails + + merge-ort: clean up after failed merge - Gitweb had legacy URL shortener that is specific to the way - projects hosted on kernel.org used to (but no longer) work, which - has been removed. - source: <20220726135911.ycvgwbkixb3ei6w3@jrouhaud> + Plug memory leaks in the failure code path in the "merge-ort" merge + strategy backend. + source: -* jt/fetch-pack-trace2-filter-spec (2022-07-26) 1 commit - (merged to 'next' on 2022-07-28 at 8e6237d6b0) - + fetch-pack: write effective filter to trace2 +* js/t5351-freebsd-fix (2022-07-29) 2 commits + (merged to 'next' on 2022-08-01 at b47609e891) + + t5351: avoid using `test_cmp` for binary data + + t5351: avoid relying on `core.fsyncMethod = batch` to be supported - "git fetch" client logs the partial clone filter used in the trace2 - output. - source: <20220726162712.1774355-1-jonathantanmy@google.com> - - -* pw/xdiff-alloc (2022-07-08) 4 commits - (merged to 'next' on 2022-07-25 at 92a39a5ff2) - + xdiff: introduce XDL_ALLOC_GROW() - + xdiff: introduce XDL_CALLOC_ARRAY() - + xdiff: introduce xdl_calloc - + 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. - source: - - -* rs/mergesort (2022-07-17) 10 commits - (merged to 'next' on 2022-07-27 at 42607a44bb) - + mergesort: remove llist_mergesort() - + packfile: use DEFINE_LIST_SORT - + fetch-pack: use DEFINE_LIST_SORT - + commit: use DEFINE_LIST_SORT - + blame: use DEFINE_LIST_SORT - + test-mergesort: use DEFINE_LIST_SORT - + test-mergesort: use DEFINE_LIST_SORT_DEBUG - + mergesort: add macros for typed sort of linked lists - + mergesort: tighten merge loop - + mergesort: unify ranks loops - - Make our mergesort implementation type-safe. - source: <4d7cd286-398e-215c-f2bd-aa7e8207be4f@web.de> - - -* sa/cat-file-mailmap (2022-07-18) 4 commits - (merged to 'next' on 2022-07-27 at 59c4eb32b3) - + cat-file: add mailmap support - + ident: rename commit_rewrite_person() to apply_mailmap_to_header() - + ident: move commit_rewrite_person() to ident.c - + revision: improve commit_rewrite_person() - - "git cat-file" learned an option to use the mailmap when showing - commit and tag objects. - source: <20220718195102.66321-1-siddharthasthana31@gmail.com> - - -* tb/cat-file-z (2022-07-22) 2 commits - (merged to 'next' on 2022-07-28 at 78731f0fdb) - + builtin/cat-file.c: support NUL-delimited input with `-z` - + t1006: extract --batch-command inputs to variables - - Operating modes like "--batch" of "git cat-file" command learned to - take NUL-terminated input, instead of one-item-per-line. - source: - - -* tb/commit-graph-genv2-upgrade-fix (2022-07-15) 3 commits - (merged to 'next' on 2022-07-25 at e3464c2c1d) - + commit-graph: fix corrupt upgrade from generation v1 to v2 - + commit-graph: introduce `repo_find_commit_pos_in_graph()` - + t5318: demonstrate commit-graph generation v2 corruption - - There was a bug in the codepath to upgrade generation information - in commit-graph from v1 to v2 format, which has been corrected. - source: - - -* tk/untracked-cache-with-uall (2022-07-22) 1 commit - (merged to 'next' on 2022-07-25 at b792dd5012) - + read-cache: make `do_read_index()` always set up `istate->repo` - - Fix for a bug that makes write-tree to fail to write out a - non-existent index as a tree, introduced in 2.37. - source: <20220722212232.833188-1-martin.agren@gmail.com> - - -* zh/ls-files-format (2022-07-23) 1 commit - (merged to 'next' on 2022-07-27 at b7301f16ce) - + ls-files: introduce "--format" option - - "git ls-files" learns the "--format" option to tweak its output. - source: + Some tests assumed that core.fsyncMethod=batch is supported + everywhere, which broke FreeBSD. + source: -------------------------------------------------- [New Topics] +* sy/mv-into-cone (2022-08-05) 9 commits + - mv: check overwrite for in-to-out move + - advice.h: add advise_on_moving_dirty_path() + - mv: cleanup empty WORKING_DIRECTORY + - mv: from in-cone to out-of-cone + - mv: remove BOTH from enum update_mode + - mv: check if is a SKIP_WORKTREE_DIR + - mv: free the *with_slash in check_dir_in_index() + - mv: rename check_dir_in_index() to empty_dir_has_sparse_contents() + - t7002: add tests for moving from in-cone to out-of-cone + + "git mv A B" in a sparsely populated working tree can be asked to + move a path from a directory that is "in cone" to another directory + that is "out of cone". Handling of such a case has been improved. + + Will merge to 'next'? + source: <20220805030528.1535376-1-shaoxuan.yuan02@gmail.com> + + +* fr/vimdiff-layout-colors-fix (2022-08-07) 3 commits + - mergetools: vimdiff: update unit tests + - mergetools: vimdiff: fix single tab mode, single window mode and colors + - mergetools: vimdiff: fix comment + + "vimdiff3" regression fix. + + Will merge to 'next'? + source: <20220808053459.184367-1-greenfoo@u92.eu> + + +* sy/sparse-rm (2022-08-08) 5 commits + - rm: integrate with sparse-index + - rm: expand the index only when necessary + - pathspec.h: move pathspec_needs_expanded_index() from reset.c to here + - t1092: add tests for `git-rm` + - Merge branch 'vd/sparse-reset-checkout-fixes' into sy/sparse-rm + (this branch uses vd/sparse-reset-checkout-fixes.) + + "git rm" has become more aware of the sparse-index feature. + + Will merge to 'next'? + source: <20220807041335.1790658-1-shaoxuan.yuan02@gmail.com> + +-------------------------------------------------- +[Stalled] + +* tk/apply-case-insensitive (2022-06-21) 3 commits + - apply: support case-only renames in case-insensitive filesystems + - reset: new failing test for reset of case-insensitive duplicate in index + - t4141: test "git apply" with core.ignorecase + + "git apply" barfed on a patch that makes a case-only rename on a + case-insensitive filesystem. + + Needs review. + source: + + +* bc/stash-export (2022-04-08) 4 commits + - builtin/stash: provide a way to import stashes from a ref + - builtin/stash: provide a way to export stashes to a ref + - builtin/stash: factor out revision parsing into a function + - object-name: make get_oid quietly return an error + + A mechanism to export and import stash entries to and from a normal + commit to transfer it across repositories has been introduced. + + Expecting a reroll. + cf. + source: <20220407215352.3491567-1-sandals@crustytoothpaste.net> + +-------------------------------------------------- +[Cooking] + * lt/symbolic-ref-sanity (2022-08-01) 1 commit (merged to 'next' on 2022-08-03 at 443647b94a) + symbolic-ref: refuse to set syntactically invalid target @@ -219,6 +206,8 @@ Release tarballs are available at: The "diagnose" feature to create a zip archive for diagnostic material has been lifted from "scalar" and made into a feature of "git bugreport". + + Expecting responses to reviews. source: @@ -261,12 +250,13 @@ Release tarballs are available at: * jc/rerere-autoupdate-doc (2022-08-03) 2 commits - - doc: clarify rerere-autoupdate - - doc: consolidate --rerere-autoupdate description + (merged to 'next' on 2022-08-08 at 6407091d13) + + doc: clarify rerere-autoupdate + + doc: consolidate --rerere-autoupdate description Update documentation on the "--[no-]rerere-autoupdate" option. - Will merge to 'next'. + Will merge to 'master'. source: @@ -284,85 +274,58 @@ Release tarballs are available at: * pw/use-glibc-tunable-for-malloc-optim (2022-08-04) 1 commit - - tests: cache glibc version check + (merged to 'next' on 2022-08-08 at 1300f84dc4) + + tests: cache glibc version check Avoid repeatedly running getconf to ask libc version in the test suite, and instead just as it once per script. - Will merge to 'next'? + Will merge to 'master'. source: -* vd/sparse-reset-checkout-fixes (2022-08-04) 4 commits - - unpack-trees: handle missing sparse directories - - cache.h: replace 'index_entry_exists()' with 'index_name_pos_sparse()' +* vd/sparse-reset-checkout-fixes (2022-08-08) 4 commits + - unpack-trees: unpack new trees as sparse directories + - cache.h: create 'index_name_pos_sparse()' - oneway_diff: handle removed sparse directories - checkout: fix nested sparse directory diff in sparse index + (this branch is used by sy/sparse-rm.) Fixes to sparse index compatibility work for "reset" and "checkout" commands. - Expecting a reroll to further clarify [4/4]. - cf. <3825ef9a-4c71-21ed-6452-bbd322ca839c@github.com> - source: + Will merge to 'next'? + source: * ab/hooks-regression-fix (2022-08-05) 1 commit - - hook API: don't segfault on strbuf_addf() to NULL "out" + (merged to 'next' on 2022-08-08 at f5a3f88983) + + hook API: don't segfault on strbuf_addf() to NULL "out" A follow-up fix to a fix for a regression in 2.36. - Will merge to 'next' and then to 'master'. + Will merge to 'master' and then to 'maint'. source: --------------------------------------------------- -[Stalled] - -* tk/apply-case-insensitive (2022-06-21) 3 commits - - apply: support case-only renames in case-insensitive filesystems - - reset: new failing test for reset of case-insensitive duplicate in index - - t4141: test "git apply" with core.ignorecase - - "git apply" barfed on a patch that makes a case-only rename on a - case-insensitive filesystem. - - Needs review. - source: - - -* bc/stash-export (2022-04-08) 4 commits - - builtin/stash: provide a way to import stashes from a ref - - builtin/stash: provide a way to export stashes to a ref - - builtin/stash: factor out revision parsing into a function - - object-name: make get_oid quietly return an error - - A mechanism to export and import stash entries to and from a normal - commit to transfer it across repositories has been introduced. - - Expecting a reroll. - cf. - source: <20220407215352.3491567-1-sandals@crustytoothpaste.net> - --------------------------------------------------- -[Cooking] * ab/tech-docs-to-help (2022-08-04) 12 commits - - docs: move http-protocol docs to man section 5 - - docs: move cruft pack docs to gitformat-pack - - docs: move pack format docs to man section 5 - - docs: move signature docs to man section 5 - - docs: move index format docs to man section 5 - - docs: move protocol-related docs to man section 5 - - docs: move commit-graph format docs to man section 5 - - git docs: add a category for file formats, protocols and interfaces - - git docs: add a category for user-facing file, repo and command UX - - git help doc: use "" instead of "" - - help.c: remove common category behavior from drop_prefix() behavior - - help.c: refactor drop_prefix() to use a "switch" statement" + (merged to 'next' on 2022-08-08 at 65c9ec7308) + + docs: move http-protocol docs to man section 5 + + docs: move cruft pack docs to gitformat-pack + + docs: move pack format docs to man section 5 + + docs: move signature docs to man section 5 + + docs: move index format docs to man section 5 + + docs: move protocol-related docs to man section 5 + + docs: move commit-graph format docs to man section 5 + + git docs: add a category for file formats, protocols and interfaces + + git docs: add a category for user-facing file, repo and command UX + + git help doc: use "" instead of "" + + help.c: remove common category behavior from drop_prefix() behavior + + help.c: refactor drop_prefix() to use a "switch" statement" Expose a lot of "tech docs" via "git help" interface. - Will merge to 'next'? + Will merge to 'master'. source: @@ -390,6 +353,10 @@ Release tarballs are available at: Introduce the "subcommand" mode to parse-options API and update the command line parser of Git commands with subcommands. + + Will merge to 'next'? + There are some nits on how the changes are explained, but nothing major. + cf. source: <20220725123857.2773963-1-szeder.dev@gmail.com> @@ -401,20 +368,12 @@ Release tarballs are available at: - remote-curl: add 'get' capability Implement "git clone --bundle-uri". + + Expecting a reroll. + cf. <9afd5eb2-44a0-6342-6006-5dbdefba9947@github.com> source: -* ca/unignore-local-installation-on-windows (2022-07-27) 1 commit - (merged to 'next' on 2022-08-01 at 1d4f4c32a6) - + cmake: support local installations of git - - Fix build procedure for Windows that uses CMake so that it can pick - up the shell interpreter from local installation location. - - Will merge to 'master'. - source: - - * ds/decorate-filter-tweak (2022-08-05) 11 commits - fetch: use ref_namespaces during prefetch - maintenance: stop writing log.excludeDecoration @@ -430,6 +389,8 @@ Release tarballs are available at: The namespaces used by "log --decorate" from "refs/" hierarchy by default has been tightened. + + Will merge to 'next'? source: @@ -441,28 +402,6 @@ Release tarballs are available at: source: <7229p500-p2r4-on87-6802-8o90s36rr3s4@tzk.qr> -* js/lstat-mingw-enotdir-fix (2022-07-29) 1 commit - (merged to 'next' on 2022-08-01 at 10499943b7) - + lstat(mingw): correctly detect ENOTDIR scenarios - - Fix to lstat() emulation on Windows. - - Will merge to 'master'. - source: - - -* js/mingw-with-python (2022-07-29) 3 commits - (merged to 'next' on 2022-08-01 at 73b8f06182) - + mingw: remove unneeded `NO_CURL` directive - + mingw: remove unneeded `NO_GETTEXT` directive - + windows: include the Python bits when building Git for Windows - - Conditionally allow building Python interpreter on Windows - - Will merge to 'master'. - source: - - * ab/submodule-helper-prep (2022-08-03) 28 commits - submodule--helper: fix bad config API usage - submodule--helper: libify "must_die_on_failure" code paths (for die) @@ -494,6 +433,10 @@ Release tarballs are available at: - submodule tests: test usage behavior (this branch is used by ab/submodule-helper-leakfix.) + Code clean-up of "git submodule--helper". + + Expecting a (hopefully final?) reroll. + cf. <220803.86h72tfpcc.gmgdl@evledraar.gmail.com> source: @@ -518,43 +461,6 @@ Release tarballs are available at: source: -* jk/struct-zero-init-with-older-gcc (2022-07-31) 1 commit - (merged to 'next' on 2022-08-01 at cde4f95964) - + config.mak.dev: squelch -Wno-missing-braces for older gcc - - Older gcc with -Wall complains about the universal zero initializer - "struct s = { 0 };" idiom, which makes developers' lives - inconvenient (as -Werror is enabled by DEVELOPER=YesPlease). The - build procedure has been tweaked to help these compilers. - - Will merge to 'master'. - source: - - -* js/ort-clean-up-after-failed-merge (2022-07-31) 2 commits - (merged to 'next' on 2022-08-01 at 0c9f02f3ec) - + merge-ort: do leave trace2 region even if checkout fails - + merge-ort: clean up after failed merge - - Plug memory leaks in the failure code path in the "merge-ort" merge - strategy backend. - - Will merge to 'master'. - source: - - -* js/t5351-freebsd-fix (2022-07-29) 2 commits - (merged to 'next' on 2022-08-01 at b47609e891) - + t5351: avoid using `test_cmp` for binary data - + t5351: avoid relying on `core.fsyncMethod = batch` to be supported - - Some tests assumed that core.fsyncMethod=batch is supported - everywhere, which broke FreeBSD. - - Will merge to 'master'. - source: - - * cw/remote-object-info (2022-07-28) 6 commits - cat-file: add remote-object-info to batch-command - transport: add client support for object-info @@ -564,6 +470,10 @@ Release tarballs are available at: - fetch-pack: refactor packet writing A client component to talk with the object-info endpoint. + + Expecting a reroll. + cf. <20220728230210.2952731-1-calvinwan@google.com> + cf. source: <20220728230210.2952731-1-calvinwan@google.com> @@ -598,6 +508,9 @@ Release tarballs are available at: - Merge branch 'mt/checkout-count-fix' into mt/rot13-in-c Test portability improvements. + + Expecting a reroll. + cf. source: @@ -645,18 +558,23 @@ Release tarballs are available at: Update the message given when "git merge" sees conflicts at a path with a submodule while merging a superproject. - Getting closer? + Will merge to 'next'? source: <20220804195105.1303455-1-calvinwan@google.com> -* js/safe-directory-plus (2022-07-13) 3 commits - - mingw: be more informative when ownership check fails on FAT32 +* js/safe-directory-plus (2022-08-08) 5 commits - mingw: handle a file owned by the Administrators group correctly - - Allow debugging unsafe directories' ownership + - mingw: be more informative when ownership check fails on FAT32 + - mingw: provide details about unsafe directories' ownership + - setup: prepare for more detailed "dubious ownership" messages + - setup: fix some formatting - Expecting a reroll. - cf. <8rqqnqp1-q613-ron6-6q8s-n7sq57o980q9@tzk.qr> - source: + Platform-specific code that determines if a directory is OK to use + as a repository has been taught to report more details, especially + on Windows. + + Will merge to 'next'. + source: * po/doc-add-renormalize (2022-07-09) 1 commit @@ -693,6 +611,7 @@ Release tarballs are available at: The pack bitmap file gained a bitmap-lookup table to speed up locating the necessary bitmap for a given commit. + Expecting a reroll. Seems to be flaky-broken under SHA-256. cf. source: