From: Junio C Hamano Date: Thu, 10 Oct 2024 22:46:00 +0000 (-0700) Subject: What's cooking (2024/10 #06) X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3c55b9db6fa199e7b398cf7ffc818aef26e0f923;p=thirdparty%2Fgit.git What's cooking (2024/10 #06) --- diff --git a/whats-cooking.txt b/whats-cooking.txt index 1b12a44835..a1aacd0df2 100644 --- a/whats-cooking.txt +++ b/whats-cooking.txt @@ -1,10 +1,10 @@ To: git@vger.kernel.org -Subject: What's cooking in git.git (Oct 2024, #05; Tue, 8) -X-master-at: 777489f9e09c8d0dd6b12f9d90de6376330577a2 -X-next-at: 4ca455297942c5c9616351bc68bad2034c719206 +Subject: What's cooking in git.git (Oct 2024, #06; Thu, 10) +X-master-at: ef8ce8f3d4344fd3af049c17eeba5cd20d98b69f +X-next-at: 0c40f5c971f3310010a64ee1c93f32448bf6ba73 Bcc: lwn@lwn.net, gitster@pobox.com -What's cooking in git.git (Oct 2024, #05; Tue, 8) +What's cooking in git.git (Oct 2024, #06; Thu, 10) -------------------------------------------------- Here are the topics that have been cooking in my tree. Commits @@ -17,9 +17,9 @@ topic without enough support may be discarded after a long period of no activity (of course they can be resubmit when new interests arise). -Git 2.47 (final) has been tagged, and the 'maint' branch now points -at v2.47.0. Let's hope we didn't introduce too many regressions -this time. +Git 2.47 (final) has been tagged, the 'maint' branch now points +at v2.47.0, the first batch of topics for 2.48 are now in 'master', +and 'next' has been rewound, directly on top of 2.47. 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,9 +49,288 @@ Release tarballs are available at: https://www.kernel.org/pub/software/scm/git/ +-------------------------------------------------- +[Graduated to 'master'] + +* ds/line-log-asan-fix (2024-10-03) 1 commit + (merged to 'next' on 2024-10-04 at ee702f6c95) + + line-log: protect inner strbuf from free + (this branch is used by jk/output-prefix-cleanup.) + + Use after free and double freeing at the end in "git log -L... -p" + had been identified and fixed. + source: <05c21616c350b5141c17fde1aa5d3aea881c6031.1727956724.git.gitgitgadget@gmail.com> + + +* ja/doc-synopsis-markup (2024-09-24) 3 commits + (merged to 'next' on 2024-09-30 at 15ec13edec) + + doc: apply synopsis simplification on git-clone and git-init + + doc: update the guidelines to reflect the current formatting rules + + doc: introduce a synopsis typesetting + + The way AsciiDoc is used for SYNOPSIS part of the manual pages has + been revamped. The sources, at least for the simple cases, got + vastly pleasant to work with. + source: + + +* jk/output-prefix-cleanup (2024-10-03) 5 commits + (merged to 'next' on 2024-10-04 at 06298d1525) + + diff: store graph prefix buf in git_graph struct + + diff: return line_prefix directly when possible + + diff: return const char from output_prefix callback + + diff: drop line_prefix_length field + + line-log: use diff_line_prefix() instead of custom helper + (this branch uses ds/line-log-asan-fix.) + + Code clean-up. + source: + + +* ps/leakfixes-part-8 (2024-09-30) 25 commits + (merged to 'next' on 2024-10-04 at 3cfb5747d2) + + builtin/send-pack: fix leaking list of push options + + remote: fix leaking push reports + + t/helper: fix leaks in proc-receive helper + + pack-write: fix return parameter of `write_rev_file_order()` + + revision: fix leaking saved parents + + revision: fix memory leaks when rewriting parents + + midx-write: fix leaking buffer + + pack-bitmap-write: fix leaking OID array + + pseudo-merge: fix leaking strmap keys + + pseudo-merge: fix various memory leaks + + line-log: fix several memory leaks + + diff: improve lifecycle management of diff queues + + builtin/revert: fix leaking `gpg_sign` and `strategy` config + + t/helper: fix leaking repository in partial-clone helper + + builtin/clone: fix leaking repo state when cloning with bundle URIs + + builtin/pack-redundant: fix various memory leaks + + builtin/stash: fix leaking `pathspec_from_file` + + submodule: fix leaking submodule entry list + + wt-status: fix leaking buffer with sparse directories + + shell: fix leaking strings + + scalar: fix leaking repositories + + read-cache: fix leaking hash context in `do_write_index()` + + builtin/annotate: fix leaking args vector + + Merge branch 'jk/http-leakfixes' into ps/leakfixes-part-8 + + Merge branch 'ps/leakfixes-part-7' into ps/leakfixes-part-8 + + More leakfixes. + source: + + +* ps/reftable-alloc-failures (2024-10-04) 28 commits + (merged to 'next' on 2024-10-04 at 5649ef3dd7) + + reftable/basics: fix segfault when growing `names` array fails + (merged to 'next' on 2024-10-02 at a6d42d51d4) + + reftable/basics: ban standard allocator functions + + reftable: introduce `REFTABLE_FREE_AND_NULL()` + + reftable: fix calls to free(3P) + + reftable: handle trivial allocation failures + + reftable/tree: handle allocation failures + + reftable/pq: handle allocation failures when adding entries + + reftable/block: handle allocation failures + + reftable/blocksource: handle allocation failures + + reftable/iter: handle allocation failures when creating indexed table iter + + reftable/stack: handle allocation failures in auto compaction + + reftable/stack: handle allocation failures in `stack_compact_range()` + + reftable/stack: handle allocation failures in `reftable_new_stack()` + + reftable/stack: handle allocation failures on reload + + reftable/reader: handle allocation failures in `reader_init_iter()` + + reftable/reader: handle allocation failures for unindexed reader + + reftable/merged: handle allocation failures in `merged_table_init_iter()` + + reftable/writer: handle allocation failures in `reftable_new_writer()` + + reftable/writer: handle allocation failures in `writer_index_hash()` + + reftable/record: handle allocation failures when decoding records + + reftable/record: handle allocation failures on copy + + reftable/basics: handle allocation failures in `parse_names()` + + reftable/basics: handle allocation failures in `reftable_calloc()` + + reftable: introduce `reftable_strdup()` + + reftable/basics: merge "publicbasics" into "basics" + + reftable/error: introduce out-of-memory error code + + Merge branch 'ps/reftable-exclude' into ps/reftable-alloc-failures + + Merge branch 'cp/unit-test-reftable-stack' into ps/reftable-alloc-failures + + The reftable library is now prepared to expect that the memory + allocation function given to it may fail to allocate and to deal + with such an error. + source: + source: + + +* sk/doc-maintenance-schedule (2024-10-03) 1 commit + (merged to 'next' on 2024-10-04 at 2d3722c29d) + + doc: add a note about staggering of maintenance + + Doc update to clarify how periodical maintenance are scheduled, + spread across time to avoid thundering hurds. + source: + + +* tb/notes-amlog-doc (2024-10-03) 1 commit + (merged to 'next' on 2024-10-04 at e73c8753e8) + + Documentation: mention the amlog in howto/maintain-git.txt + + Document "amlog" notes. + source: <88a13b9f2b6e7fbed517a7e268e4e371d84a9a10.1727917792.git.me@ttaylorr.com> + -------------------------------------------------- [New Topics] +* aa/t7300-modernize (2024-10-09) 1 commit + - t7300-clean.sh: use test_path_* helper functions for error logging + + Test modernization. + + Will merge to 'next'. + source: + + +* bf/set-head-symref (2024-10-10) 6 commits + - fetch: set remote/HEAD if it does not exist + - refs_update_symref: add create_only option + - transaction: add TRANSACTION_CREATE_EXISTS error + - set-head: better output for --auto + - set-head: add new variable for readability + - refs_update_symref: atomically record overwritten ref + + When "git fetch $remote" notices that refs/remotes/$remote/HEAD is + missing and discovers what branch the other side points with its + HEAD, refs/remotes/$remote/HEAD is updated to point to it. + + Comments? + source: <20241010133022.1733542-1-bence@ferdinandy.com> + + +* db/submodule-fetch-with-remote-name-fix (2024-10-09) 1 commit + - submodule: correct remote name with fetch + + A "git fetch" from the superproject going down to a submodule used + a wrong remote when the default remote names are set differently + between them. + + Comments? + source: <20241009033257.1316690-1-daniel@mariadb.org> + + +* jc/doc-refspec-syntax (2024-10-09) 1 commit + - doc: clarify in refspec syntax + + Doc updates. + + Will merge to 'next'. + source: + + +* kh/checkout-ignore-other-docfix (2024-10-10) 1 commit + - checkout: refer to other-worktree branch, not ref + + Doc updates. + + Will merge to 'next'. + source: + + +* kn/loose-object-layer-wo-global-hash (2024-10-09) 1 commit + - loose: don't rely on repository global state + + Code clean-up. + + Will merge to 'next'. + source: + + +* ng/rebase-merges-branch-name-as-label (2024-10-09) 3 commits + - rebase-merges: try and use branch names as labels + - rebase-update-refs: extract load_branch_decorations + - load_branch_decorations: fix memory leak with non-static filters + + "git rebase --rebase-merges" now uses branch names as labels when + able. + + Will merge to 'next'. + source: + + +* ps/build (2024-10-09) 24 commits + - Introduce support for the Meson build system + - Documentation: add comparison of build systems + - t: allow overriding build dir + - t: better support for out-of-tree builds + - Makefile: simplify building of templates + - Makefile: allow "bin-wrappers/" directory to exist + - Makefile: consistently use PERL_PATH + - Makefile: consistently use @PLACEHOLDER@ to substitute + - Makefile: use common template for GIT-BUILD-OPTIONS + - Makefile: refactor generators to be PWD-independent + - Makefile: refactor GIT-VERSION-GEN to be reusable + - Makefile: extract script to massage Perl scripts + - Makefile: extract script to generate clar declarations + - http: fix build error on FreeBSD + - builtin/credential-cache: fix missing parameter for stub function + - t/unit-tests: update clar unit test framework + - t7300: work around platform-specific behaviour with long paths on MinGW + - t5500, t5601: skip tests which exercise paths with '[::1]' on Cygwin + - t3404: work around platform-specific behaviour on macOS 10.15 + - t1401: make invocation of tar(1) work with Win32-provided one + - t/lib-gpg: fix setup of GNUPGHOME in MinGW + - t/lib-gitweb: test against the build version of gitweb + - t/test-lib: wire up NO_ICONV prerequisite + - t/test-lib: fix quoting of TEST_RESULTS_SAN_FILE + + Build procedure update plus introduction of Mason based builds + + Needs review. + source: + + +* ps/ci-gitlab-windows (2024-10-09) 5 commits + - gitlab-ci: exercise Git on Windows + - gitlab-ci: introduce stages and dependencies + - ci: handle Windows-based CI jobs in GitLab CI + - ci: create script to set up Git for Windows SDK + - t7300: work around platform-specific behaviour with long paths on MinGW + + Enable Windows-based CI in GitLab. + + WIll merge to 'next'. + source: + + +* ak/typofixes (2024-10-10) 6 commits + - t: fix typos + - t/helper: fix a typo + - t/perf: fix typos + - t/unit-tests: fix typos + - contrib: fix typos + - compat: fix typos + + Typofixes. + + Comments? + source: <20241010151223.311719-1-algonell@gmail.com> + + +* tc/bundle-uri-leakfix (2024-10-10) 1 commit + - bundle-uri: plug leak in unbundle_from_file() + + Leakfix. + + Will merge to 'next'. + source: <20241010091249.1895960-1-toon@iotcl.com> + + +* xx/protocol-v2-doc-markup-fix (2024-10-10) 1 commit + - Documentation/gitprotocol-v2.txt: fix a slight inconsistency in format + + Docfix. + + Will merge to 'next'. + source: + +-------------------------------------------------- +[Cooking] + * cw/worktree-relative (2024-10-08) 4 commits - worktree: add test for path handling in linked worktrees - worktree: link worktrees with relative paths @@ -86,6 +365,12 @@ Release tarballs are available at: - t6601: add helper for testing path-walk API - path-walk: introduce an object walk by path + A new algorithm for object graph traversal to favor visiting the + objects at the same tree path in succession (as opposed to visiting + objects that are different between trees as we walk commit + histories) is introduced to optimize object packing. + + Needs review. source: @@ -104,43 +389,46 @@ Release tarballs are available at: * jh/config-unset-doc-fix (2024-10-08) 1 commit - - git-config.1: remove value from positional args in unset usage + (merged to 'next' on 2024-10-10 at a87ffb09b6) + + git-config.1: remove value from positional args in unset usage Docfix. - Will merge to 'next'. + Will merge to 'master'. source: <20241008142920.570244-2-joshiheinrichs@gmail.com> * jk/fsmonitor-event-listener-race-fix (2024-10-08) 2 commits - - fsmonitor: initialize fs event listener before accepting clients - - simple-ipc: split async server initialization and running + (merged to 'next' on 2024-10-10 at 0c40f5c971) + + fsmonitor: initialize fs event listener before accepting clients + + simple-ipc: split async server initialization and running On macOS, fsmonitor can fall into a race condition that results in a client waiting forever to be notified for an event that have already happened. This problem has been corrected. - Will merge to 'next'. + Will merge to 'master'. source: <20241008083121.GA676391@coredump.intra.peff.net> * js/doc-platform-support-link-fix (2024-10-07) 1 commit - - docs: fix the `maintain-git` links in `technical/platform-support` + (merged to 'next' on 2024-10-10 at 55316158e7) + + docs: fix the `maintain-git` links in `technical/platform-support` Docfix. - Will merge to 'next'. + Will merge to 'master'. source: -* kh/merge-tree-doc (2024-10-08) 2 commits - - doc: merge-tree: use || directly - - doc: merge-tree: provide a commit message +* kh/merge-tree-doc (2024-10-09) 1 commit + - doc: merge-tree: improve example script Docfix. - Comments? - source: + Will merge to 'next'. + cf. + source: * pb/clar-build-fix (2024-10-07) 1 commit @@ -148,7 +436,8 @@ Release tarballs are available at: Build fix. - Will merge to 'next'. + Expecting a reroll. + cf. source: @@ -164,15 +453,14 @@ Release tarballs are available at: source: -* ps/maintenance-start-crash-fix (2024-10-08) 1 commit +* ps/maintenance-start-crash-fix (2024-10-10) 1 commit - builtin/gc: fix crash when running `git maintenance start` "git maintenance start" crashed due to an uninitialized variable reference, which has been corrected. Will merge to 'next'. - Brown paper bag fix. - source: <976c97081af7c62960bd71d1b70039657e7cb711.1728389731.git.ps@pks.im> + source: * ua/t3404-cleanup (2024-10-07) 2 commits @@ -186,59 +474,20 @@ Release tarballs are available at: * xx/remote-server-option-config (2024-10-08) 5 commits - - ls-remote: leakfix for not clearing server_options - - fetch: respect --server-option when fetching multiple remotes - - transport.c::handshake: make use of server options from remote - - remote: introduce remote..serverOption configuration - - transport: introduce parse_transport_option() method + (merged to 'next' on 2024-10-10 at 0e38c7f8c5) + + ls-remote: leakfix for not clearing server_options + + fetch: respect --server-option when fetching multiple remotes + + transport.c::handshake: make use of server options from remote + + remote: introduce remote..serverOption configuration + + transport: introduce parse_transport_option() method A new configuration variable remote..serverOption makes the transport layer act as if the --serverOption= option is given from the command line. - Will merge to 'next'. + Will merge to 'master'. source: --------------------------------------------------- -[Cooking] - -* ds/line-log-asan-fix (2024-10-03) 1 commit - (merged to 'next' on 2024-10-04 at ee702f6c95) - + line-log: protect inner strbuf from free - (this branch is used by jk/output-prefix-cleanup.) - - Use after free and double freeing at the end in "git log -L... -p" - had been identified and fixed. - - Will cook in 'next'. - source: <05c21616c350b5141c17fde1aa5d3aea881c6031.1727956724.git.gitgitgadget@gmail.com> - - -* sk/doc-maintenance-schedule (2024-10-03) 1 commit - (merged to 'next' on 2024-10-04 at 2d3722c29d) - + doc: add a note about staggering of maintenance - - Doc update to clarify how periodical maintenance are scheduled, - spread across time to avoid thundering hurds. - - Will cook in 'next'. - source: - - -* jk/output-prefix-cleanup (2024-10-03) 5 commits - (merged to 'next' on 2024-10-04 at 06298d1525) - + diff: store graph prefix buf in git_graph struct - + diff: return line_prefix directly when possible - + diff: return const char from output_prefix callback - + diff: drop line_prefix_length field - + line-log: use diff_line_prefix() instead of custom helper - (this branch uses ds/line-log-asan-fix.) - - Code clean-up. - - Will cook in 'next'. - source: - * jc/a-commands-without-the-repo (2024-10-06) 3 commits - archive: remove the_repository global variable @@ -255,50 +504,6 @@ Release tarballs are available at: source: -* ps/leakfixes-part-8 (2024-09-30) 25 commits - (merged to 'next' on 2024-10-04 at 3cfb5747d2) - + builtin/send-pack: fix leaking list of push options - + remote: fix leaking push reports - + t/helper: fix leaks in proc-receive helper - + pack-write: fix return parameter of `write_rev_file_order()` - + revision: fix leaking saved parents - + revision: fix memory leaks when rewriting parents - + midx-write: fix leaking buffer - + pack-bitmap-write: fix leaking OID array - + pseudo-merge: fix leaking strmap keys - + pseudo-merge: fix various memory leaks - + line-log: fix several memory leaks - + diff: improve lifecycle management of diff queues - + builtin/revert: fix leaking `gpg_sign` and `strategy` config - + t/helper: fix leaking repository in partial-clone helper - + builtin/clone: fix leaking repo state when cloning with bundle URIs - + builtin/pack-redundant: fix various memory leaks - + builtin/stash: fix leaking `pathspec_from_file` - + submodule: fix leaking submodule entry list - + wt-status: fix leaking buffer with sparse directories - + shell: fix leaking strings - + scalar: fix leaking repositories - + read-cache: fix leaking hash context in `do_write_index()` - + builtin/annotate: fix leaking args vector - + Merge branch 'jk/http-leakfixes' into ps/leakfixes-part-8 - + Merge branch 'ps/leakfixes-part-7' into ps/leakfixes-part-8 - - More leakfixes. - - Will cook in 'next'. - source: - - -* tb/notes-amlog-doc (2024-10-03) 1 commit - (merged to 'next' on 2024-10-04 at e73c8753e8) - + Documentation: mention the amlog in howto/maintain-git.txt - - Document "amlog" notes. - - Will cook in 'next'. - source: <88a13b9f2b6e7fbed517a7e268e4e371d84a9a10.1727917792.git.me@ttaylorr.com> - - * ej/cat-file-remote-object-info (2024-09-27) 6 commits - cat-file: add remote-object-info to batch-command - cat-file: add declaration of variable i inside its for loop @@ -348,47 +553,6 @@ Release tarballs are available at: source: -* ps/reftable-alloc-failures (2024-10-04) 28 commits - (merged to 'next' on 2024-10-04 at 5649ef3dd7) - + reftable/basics: fix segfault when growing `names` array fails - (merged to 'next' on 2024-10-02 at a6d42d51d4) - + reftable/basics: ban standard allocator functions - + reftable: introduce `REFTABLE_FREE_AND_NULL()` - + reftable: fix calls to free(3P) - + reftable: handle trivial allocation failures - + reftable/tree: handle allocation failures - + reftable/pq: handle allocation failures when adding entries - + reftable/block: handle allocation failures - + reftable/blocksource: handle allocation failures - + reftable/iter: handle allocation failures when creating indexed table iter - + reftable/stack: handle allocation failures in auto compaction - + reftable/stack: handle allocation failures in `stack_compact_range()` - + reftable/stack: handle allocation failures in `reftable_new_stack()` - + reftable/stack: handle allocation failures on reload - + reftable/reader: handle allocation failures in `reader_init_iter()` - + reftable/reader: handle allocation failures for unindexed reader - + reftable/merged: handle allocation failures in `merged_table_init_iter()` - + reftable/writer: handle allocation failures in `reftable_new_writer()` - + reftable/writer: handle allocation failures in `writer_index_hash()` - + reftable/record: handle allocation failures when decoding records - + reftable/record: handle allocation failures on copy - + reftable/basics: handle allocation failures in `parse_names()` - + reftable/basics: handle allocation failures in `reftable_calloc()` - + reftable: introduce `reftable_strdup()` - + reftable/basics: merge "publicbasics" into "basics" - + reftable/error: introduce out-of-memory error code - + Merge branch 'ps/reftable-exclude' into ps/reftable-alloc-failures - + Merge branch 'cp/unit-test-reftable-stack' into ps/reftable-alloc-failures - - The reftable library is now prepared to expect that the memory - allocation function given to it may fail to allocate and to deal - with such an error. - - Will cook in 'next'. - source: - source: - - * jc/strbuf-commented-something (2024-09-12) 2 commits - strbuf: retire strbuf_commented_lines() - strbuf: retire strbuf_commented_addf() @@ -464,16 +628,15 @@ Release tarballs are available at: * js/libgit-rust (2024-10-08) 5 commits - . Makefile: add option to build and test libgit-rs and libgit-rs-sys - . libgit: add higher-level libgit crate - . libgit-sys: also export some config_set functions - . libgit-sys: introduce Rust wrapper for libgit.a - . common-main: split init and exit code into new files + - Makefile: add option to build and test libgit-rs and libgit-rs-sys + - libgit: add higher-level libgit crate + - libgit-sys: also export some config_set functions + - libgit-sys: introduce Rust wrapper for libgit.a + - common-main: split init and exit code into new files An rust binding to libgit.a functions has been introduced. Needs review. - Seems to get dependencies wrong. source: @@ -489,20 +652,6 @@ Release tarballs are available at: source: <20240806003539.3292562-1-gitster@pobox.com> -* ja/doc-synopsis-markup (2024-09-24) 3 commits - (merged to 'next' on 2024-09-30 at 15ec13edec) - + doc: apply synopsis simplification on git-clone and git-init - + doc: update the guidelines to reflect the current formatting rules - + doc: introduce a synopsis typesetting - - The way AsciiDoc is used for SYNOPSIS part of the manual pages has - been revamped. The sources, at least for the simple cases, got - vastly pleasant to work with. - - Will cook in 'next'. - source: - - * ew/cat-file-optim (2024-08-25) 10 commits - cat-file: use writev(2) if available - cat-file: batch_write: use size_t for length @@ -519,45 +668,3 @@ Release tarballs are available at: Waiting for review responses. source: <20240823224630.1180772-1-e@80x24.org> - --------------------------------------------------- -[Discarded] - -* gt/unit-test-oidset (2024-08-25) 1 commit - . unit-tests: add tests for oidset.h - - Another unit-test. - - Has been expecting a reroll for too long. - source: <20240824172028.39419-1-shyamthakkar001@gmail.com> - - -* kn/fsmonitor-event-listener-fix (2024-10-02) 1 commit - . fsmonitor: fix hangs by delayed fs event listening - - Under high load, fsmonitor process can hang at start-up, which has - been corrected. - - Superseded by the jk/fsmonitor-event-listener-race-fix topic - cf. - source: - - -* ds/pack-name-hash-tweak (2024-10-04) 6 commits - . test-tool: add helper for name-hash values - . p5313: add size comparison test - . git-repack: update usage to match docs - . pack-objects: add GIT_TEST_FULL_NAME_HASH - . repack: test --full-name-hash option - . pack-objects: add --full-name-hash option - - In a repository with too many (more than --window size) similarly - named files, "git repack" would not find good delta-base candidate - and worse, it may not use a blob from exactly the same path as a - good delta-base candidate. Optionally replace the name hash so - that only blobs at the same path and nothing else are used as - delta-base candidate. - - Retracted. - cf. - source: