{"thread":{"id":"63913","subject":"What's cooking in git.git (Aug 2025, #02; Mon, 4)","startedAt":"2025-08-04T17:24:24Z","lastAt":"2025-08-07T15:22:26Z","messageCount":7,"participants":["Junio C Hamano","Toon Claes","SZEDER Gábor","Patrick Steinhardt"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"523471","messageId":"xmqqectr57ax.fsf@gitster.g","threadId":"63913","inReplyTo":null,"subject":"What's cooking in git.git (Aug 2025, #02; Mon, 4)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2025-08-04T17:24:22Z","receivedAt":"2025-08-04T17:24:24Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Here are the topics that have been cooking in my tree.  Commits\nprefixed with '+' are in 'next' (being in 'next' is a sign that a\ntopic is stable enough to be used and are candidate to be in a\nfuture release).  Commits prefixed with '-' are only in 'seen', and\naren't considered \"accepted\" at all and may be annotated with an URL\nto a message that raises issues but they are no means exhaustive.  A\ntopic without enough support may be discarded after a long period of\nno activity (of course they can be resubmit when new interests\narise).\n\nAs Git 2.51-rc0 was just tagged, I'd break my promise to avoid\nsending a new issue of this \"What's cooking\" report with just a day\napart.  This cycle is shorter than usual and will last only 8 weeks,\nso we may leave many topics in flight for the next cycle, many of\nthem even outside 'next', and that is perfectly OK.  Let's make sure\nthere aren't too many regressions in the tip of 'master' from now on\nfor a couple weeks.\n\nCopies of the source code to Git live in many repositories, and the\nfollowing is a list of the ones I push into or their mirrors.  Some\nrepositories have only a subset of branches.\n\nWith maint, master, next, seen, todo:\n\n\tgit://git.kernel.org/pub/scm/git/git.git/\n\tgit://repo.or.cz/alt-git.git/\n\thttps://kernel.googlesource.com/pub/scm/git/git/\n\thttps://github.com/git/git/\n\thttps://gitlab.com/git-scm/git/\n\nWith all the integration branches and topics broken out:\n\n\thttps://github.com/gitster/git/\n\nEven though the preformatted documentation in HTML and man format\nare not sources, they are published in these repositories for\nconvenience (replace \"htmldocs\" with \"manpages\" for the manual\npages):\n\n\tgit://git.kernel.org/pub/scm/git/git-htmldocs.git/\n\thttps://github.com/gitster/git-htmldocs.git/\n\nRelease tarballs are available at:\n\n\thttps://www.kernel.org/pub/software/scm/git/\n\n--------------------------------------------------\n[New Topics]\n\n* dl/squelch-maybe-uninitialized (2025-08-04) 1 commit\n - fix -Wmaybe-uninitialized with -Og\n\n Squelch false-positive compiler warning.\n\n Will merge to 'next'.\n source: <d03308e9474f5e26fd4a5494ec243a278e971443.1754302009.git.liu.denton@gmail.com>\n\n\n* jk/revert-squelch-compiler-warning (2025-08-04) 1 commit\n - revert: initialize const value\n\n Squelch false-positive compiler warning.\n\n Will merge to 'next'.\n source: <20250804130011.GA93475@coredump.intra.peff.net>\n\n--------------------------------------------------\n[Graduated to 'master']\n\n* cc/t9350-cleanup (2025-07-25) 1 commit\n  (merged to 'next' on 2025-07-29 at 3d39401b01)\n + t9350: redirect input to only fast-import\n\n Test clean-up.\n source: <20250725160536.2909011-1-christian.couder@gmail.com>\n\n\n* ch/t7450-recursive-clone-test-fix (2025-07-30) 1 commit\n  (merged to 'next' on 2025-08-01 at 478a84a4a9)\n + t7450: inspect the correct path a broken code would write to\n\n Test fix.\n source: <pull.2022.v2.git.git.1753933780883.gitgitgadget@gmail.com>\n\n\n* hy/blame-simplify-get-commit-info (2025-07-27) 1 commit\n  (merged to 'next' on 2025-07-29 at aa7b9a8ab6)\n + blame: remove parameter detailed in get_commit_info()\n\n Code simplification.\n source: <20250728035548.94277-1-hanyang.tony@bytedance.com>\n\n\n* jb/t7510-gpg-program-path (2025-07-24) 2 commits\n  (merged to 'next' on 2025-07-29 at f5dc13f52d)\n + t7510: use $PWD instead of $(pwd) inside PATH\n  (merged to 'next' on 2025-07-24 at eb8bc447f9)\n + t7510: add test cases for non-absolute gpg program\n\n A new test to ensure that a recent change will keep working.\n cf. <20250725043043.GA3002998@coredump.intra.peff.net>\n source: <20250722190922.51183-3-jonas.brandstoetter@gmx.at>\n source: <20250725051309.GA3003751@coredump.intra.peff.net>\n\n\n* jc/doc-release-vs-clear (2025-08-01) 1 commit\n  (merged to 'next' on 2025-08-01 at dd9490d97e)\n + CodingGuidelines: clarify that S_release() does not reinitialize\n\n Doc update.\n source: <xmqq7bznm0nk.fsf@gitster.g>\n\n\n* jc/test-hashmap-is-still-here (2025-07-30) 1 commit\n  (merged to 'next' on 2025-08-01 at 0d766613fc)\n + test-hashmap: document why it is no longer used but still there\n\n Comment fix.\n source: <xmqqwm7ptghz.fsf@gitster.g>\n\n\n* js/mingw-fixes (2025-08-03) 4 commits\n  (merged to 'next' on 2025-08-03 at a222fda8c6)\n + mingw: support Windows Server 2016 again\n + mingw_rename: support ReFS on Windows 2022\n + mingw: drop Windows 7-specific work-around\n + mingw_open_existing: handle directories better\n\n Windows fixes.\n source: <pull.1948.git.1754256318.gitgitgadget@gmail.com>\n\n\n* js/prompt-crlf-fix (2025-07-31) 1 commit\n  (merged to 'next' on 2025-08-01 at 365b52c100)\n + interactive: do strip trailing CRLF from input\n\n Interactive prompt code did not correctly strip CRLF from the end\n of line on Windows.\n source: <2295f183-038c-4751-b04d-0f1819b67b3a@kdbg.org>\n\n\n* jt/switch-restore-no-longer-experimental (2025-07-28) 1 commit\n  (merged to 'next' on 2025-07-29 at 3c2cf5ab46)\n + builtin: unmark git-switch and git-restore as experimental\n\n \"git switch\" and \"git restore\" are declared to be no longer\n experimental.\n source: <20250728194218.2379432-1-jltobler@gmail.com>\n\n\n* kh/doc-fast-import-historical (2025-08-01) 1 commit\n  (merged to 'next' on 2025-08-01 at 111a582ca4)\n + doc: fast-import: contextualize the hardware cost\n\n Doc update.\n source: <a9bc7547a27aab8bc2404caeb821b7f5c4c10d14.1754055658.git.code@khaugsbakk.name>\n\n\n* kn/for-each-ref-skip-updates (2025-07-28) 5 commits\n  (merged to 'next' on 2025-07-29 at 6e97c528ef)\n + ref-filter: use REF_ITERATOR_SEEK_SET_PREFIX instead of '1'\n + t6302: add test combining '--start-after' with '--exclude'\n + for-each-ref: reword the documentation for '--start-after'\n + for-each-ref: fix documentation argument ordering\n + ref-cache: use 'size_t' instead of int for length\n\n Code clean-up.\n cf. <aIiAj8COJOAXv-xe@pks.im>\n source: <20250728-kn-small-cleanups-v2-0-d3021c8bf471@gmail.com>\n\n\n* lm/add-p-context (2025-07-29) 4 commits\n  (merged to 'next' on 2025-07-29 at 393fa4b64b)\n + add-patch: add diff.context command line overrides\n + add-patch: respect diff.context configuration\n + t: use test_config in t4055\n + t: use test_grep in t3701 and t4055\n\n \"git add/etc -p\" now honor the diff.context configuration variable,\n and also they learn to honor the -U<n> command-line option.\n source: <pull.1915.v5.git.1753772511.gitgitgadget@gmail.com>\n\n\n* ms/meson-with-ancient-git-wo-ls-files-dedup (2025-08-01) 1 commit\n  (merged to 'next' on 2025-08-01 at f2b8c802ec)\n + meson: tolerate errors from git ls-files --deduplicate\n\n Build fix.\n source: <20250801162834.1923702-1-martin@martin.st>\n\n\n* ps/config-wo-the-repository (2025-07-23) 22 commits\n  (merged to 'next' on 2025-07-29 at 13da88e8fb)\n + config: fix sign comparison warnings\n + config: move Git config parsing into \"environment.c\"\n + config: remove unused `the_repository` wrappers\n + config: drop `git_config_set_multivar()` wrapper\n + config: drop `git_config_get_multivar_gently()` wrapper\n + config: drop `git_config_set_multivar_in_file_gently()` wrapper\n + config: drop `git_config_set_in_file_gently()` wrapper\n + config: drop `git_config_set()` wrapper\n + config: drop `git_config_set_gently()` wrapper\n + config: drop `git_config_set_in_file()` wrapper\n + config: drop `git_config_get_bool()` wrapper\n + config: drop `git_config_get_ulong()` wrapper\n + config: drop `git_config_get_int()` wrapper\n + config: drop `git_config_get_string()` wrapper\n + config: drop `git_config_get_string()` wrapper\n + config: drop `git_config_get_string_multi()` wrapper\n + config: drop `git_config_get_value()` wrapper\n + config: drop `git_config_get_value()` wrapper\n + config: drop `git_config_get()` wrapper\n + config: drop `git_config_clear()` wrapper\n + config: drop `git_config()` wrapper\n + Merge branch 'bc/use-sha256-by-default-in-3.0' into ps/config-wo-the-repository\n (this branch is used by pw/3.0-commentchar-auto-deprecation.)\n\n The config API had a set of convenience wrapper functions that\n implicitly use the_repository instance; they have been removed and\n inlined at the calling sites.\n source: <20250723-pks-config-wo-the-repository-v2-0-1502d60d3867@pks.im>\n\n\n* ps/meson-clar-decls-fix (2025-07-29) 1 commit\n  (merged to 'next' on 2025-08-01 at 627c189731)\n + meson: ensure correct \"clar-decls.h\" header is used\n\n Build fix.\n source: <20250729-b4-pks-meson-unit-tests-stale-decls-v1-1-4a7770c84307@pks.im>\n\n--------------------------------------------------\n[Cooking]\n\n* ps/reftable-libgit2-cleanup (2025-08-04) 6 commits\n - reftable/stack: handle outdated stacks when compacting\n - reftable/stack: allow passing flags to `reftable_stack_add()`\n - reftable/stack: reorder code to avoid forward declarations\n - reftable/stack: fix compiler warning due to missing braces\n - reftable/writer: drop Git-specific `QSORT()` macro\n - reftable/writer: fix type used for number of records\n\n Code clean-ups.\n\n Comments?\n source: <20250804-pks-reftable-fixes-for-libgit2-v2-0-fef06209a984@pks.im>\n\n\n* tc/diff-tree-max-depth (2025-07-29) 3 commits\n - diff: teach tree-diff a max-depth parameter\n - within_depth: fix return for empty path\n - combine-diff: zero memory used for callback filepairs\n\n \"git diff-tree\" learned \"--max-depth\" option.\n\n Comments?\n source: <20250729-toon-max-depth-v1-0-c177e39c40fb@iotcl.com>\n\n\n* dk/help-all (2025-08-03) 4 commits\n - builtin: also setup gently for --help-all\n - parse-options: refactor flags for usage_with_options_internal\n - t1517: fixup for ua/t1517-short-help-tests\n - Merge branch 'ua/t1517-short-help-tests' into dk/help-all\n (this branch uses ua/t1517-short-help-tests.)\n\n \"git cmd --help-all\" outside repository.\n\n Comments?\n source: <20250803012613.54086-1-ben.knoble+github@gmail.com>\n\n\n* jt/archive-zip-deflate-fix (2025-08-02) 1 commit\n  (merged to 'next' on 2025-08-04 at 4444b611dc)\n + archive: flush deflate stream until Z_STREAM_END\n\n The deflate codepath in \"git archive --format=zip\" had a\n longstanding bug coming from misuse of zlib API, which has been\n corrected.\n\n Will merge to 'master'.\n source: <20250802220803.95137-1-jltobler@gmail.com>\n\n\n* lc/rebase-trailer (2025-08-03) 2 commits\n - rebase: support --trailer\n - trailer: append trailers in-process and drop the fork to `interpret-trailers`\n\n source: <20250803150059.402017-1-me@linux.beauty>\n\n\n* ly/diff-name-only-with-diff-from-content (2025-08-03) 1 commit\n . diff: ensure consistent diff behavior with -I<regex> across output formats\n\n Various options to \"git diff\" that makes comparison ignore certain\n aspects of the differences (like \"space changes are ignored\",\n \"differences in lines that match these regular expressions are\n ignored\") did not work well with \"--name-only\" and friends.\n\n Breaks t3040 when merged to 'seen'.\n source: <20250803145155.57894-1-yldhome2d2@gmail.com>\n\n\n* rs/describe-with-prio-queue (2025-08-03) 2 commits\n - describe: use prio_queue_replace()\n - describe: use prio_queue\n\n \"git describe\" has been optimized by using better data structure.\n\n Will merge to 'next'?\n source: <36d5b59a-a99a-4a6f-b637-dfb0b760660f@web.de>\n\n\n* ps/object-store-midx-dedup-info (2025-07-29) 9 commits\n - midx: compute paths via their source\n - midx: stop duplicating info redundant with its owning source\n - midx: write multi-pack indices via their source\n - midx: load multi-pack indices via their source\n - midx: drop redundant `struct repository` parameter\n - odb: return newly created in-memory sources\n - odb: allow `odb_find_source()` to fail\n - odb: store locality in object database sources\n - Merge branch 'ps/object-store-midx' into ps/object-store-midx-dedup-info\n\n Further code clean-up for multi-pack-index code paths.\n\n Comments?\n source: <20250729-b4-pks-midx-deduplicate-source-info-v1-0-748db2eda3b5@pks.im>\n\n\n* jc/strbuf-split (2025-07-31) 13 commits\n - trace2: do not use strbuf_split*()\n - trace2: trim_trailing_newline followed by trim is a no-op\n - sub-process: do not use strbuf_split*()\n - environment: do not use strbuf_split*()\n - config: do not use strbuf_split()\n - notes: do not use strbuf_split*()\n - merge-tree: do not use strbuf_split*()\n - clean: do not use strbuf_split*() [part 2]\n - clean: do not pass the whole structure when it is not necessary\n - clean: do not use strbuf_split*() [part 1]\n - clean: do not pass strbuf by value\n - wt-status: avoid strbuf_split*()\n - Merge branch 'jc/string-list-split' into jc/strbuf-split\n (this branch uses jc/string-list-split.)\n\n Arrays of strbuf is often a wrong data structure to use, and\n strbuf_split*() family of functions that create them often have\n better alternatives.\n\n Update several code paths and replace strbuf_split*().\n\n Will merge to 'next'?\n source: <20250731225433.4028872-1-gitster@pobox.com>\n\n\n* jc/string-list-split (2025-08-01) 7 commits\n - string-list: split-then-remove-empty can be done while splitting\n - string-list: optionally omit empty string pieces in string_list_split*()\n - diff: simplify parsing of diff.colormovedws\n - string-list: optionally trim string pieces split by string_list_split*()\n - string-list: unify string_list_split* functions\n - string-list: align string_list_split() with its _in_place() counterpart\n - string-list: report programming error with BUG\n (this branch is used by jc/strbuf-split.)\n\n string_list_split*() family of functions have been extended to\n simplify common use cases.\n\n Will merge to 'next'?\n source: <20250801220423.1230969-1-gitster@pobox.com>\n\n\n* am/xdiff-hash-tweak (2025-07-28) 3 commits\n - fixup! xdiff: optimize xdl_hash_record_verbatim\n - xdiff: optimize xdl_hash_record_verbatim\n - xdiff: refactor xdl_hash_record()\n\n Inspired by Ezekiel's recent effort to showcase Rust interface, the\n hash function implementation used to hash lines have been updated\n to the one used for ELF symbol lookup by Glibc.\n\n Comments?\n source: <20250728190520.10962-1-amonakov@ispras.ru>\n\n\n* ps/remote-rename-fix (2025-07-31) 7 commits\n - builtin/remote: only iterate through refs that are to be renamed\n - builtin/remote: rework how remote refs get renamed\n - builtin/remote: determine whether refs need renaming early on\n - builtin/remote: fix sign comparison warnings\n - refs: simplify logic when migrating reflog entries\n - refs: pass refname when invoking reflog entry callback\n - Merge branch 'ps/reflog-migrate-fixes' into ps/remote-rename-fix\n (this branch uses ps/reflog-migrate-fixes.)\n\n \"git remote rename origin upstream\" failed to move origin/HEAD to\n upstream/HEAD when origin/HEAD is unborn and performed other\n renames extremely inefficiently, which has been corrected.\n\n Will merge to 'next'?\n source: <20250731-pks-remote-rename-improvements-v2-0-dda6f083674d@pks.im>\n\n\n* rs/tighten-alias-help (2025-07-25) 1 commit\n  (merged to 'next' on 2025-08-01 at a0fb0696cd)\n + git: show alias info only with lone -h\n\n \"git -c alias.foo=bar foo -h baz\" reported \"'foo' is aliased to\n 'bar'\" and then went on to do \"git foo -h baz\", which was\n unexpected.  Tighten the rule so that alias expansion is reported\n only when \"-h\" is the sole option.\n\n Will merge to 'master'.\n source: <a35dc2bf-015c-472d-9528-6763f7aac180@web.de>\n\n\n* ag/send-email-imap-sent (2025-07-22) 1 commit\n - send-email: add ability to send a copy of sent emails to an IMAP folder\n\n \"git send-email\" learned to drive \"git imap-send\" to store already\n sent e-mails in an IMAP folder.\n\n A reroll (v4) exists.\n cf. <PN3PR01MB9597EC4C5DF97943587AEEB4B85FA@PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM>\n source: <da7cee769f25871ed3f934e3ec7f2cccf0a0420c.1753182534.git.gargaditya08@live.com>\n\n\n* en/ort-rename-fixes (2025-07-22) 6 commits\n - merge-ort: fix directory rename on top of source of other rename/delete\n - merge-ort: fix incorrect file handling\n - t6423: fix missed staging of file in testcases 12i,12j,12k\n - t6423: document two bugs with rename-to-self testcases\n - merge-ort: drop unnecessary temporary in check_for_directory_rename()\n - merge-ort: update comments to modern testfile location\n\n Various bugs about rename handling in \"ort\" merge strategy have\n been fixed.\n\n Expecting a reroll?\n cf. <aIx7SXfRabJWpa0D@pks.im>\n source: <pull.1943.git.1753197791.gitgitgadget@gmail.com>\n\n\n* ps/reflog-migrate-fixes (2025-08-04) 9 commits\n - refs: fix invalid old object IDs when migrating reflogs\n - refs: stop unsetting REF_HAVE_OLD for log-only updates\n - refs/files: detect race when generating reflog entry for HEAD\n - refs: fix identity for migrated reflogs\n - ident: fix type of string length parameter\n - builtin/reflog: implement subcommand to write new entries\n - refs: export `ref_transaction_update_reflog()`\n - builtin/reflog: improve grouping of subcommands\n - Documentation/git-reflog: convert to use synopsis type\n (this branch is used by ps/remote-rename-fix.)\n\n \"git refs migrate\" to migrate the reflog entries from a refs\n backend to another had a handful of bugs squashed.\n\n Will merge to 'next'.\n source: <20250804-pks-reflog-append-v4-0-13213fef7200@pks.im>\n\n\n* ds/sparse-checkout-clean (2025-07-16) 9 commits\n - sparse-checkout: make 'clean' clear more files\n - t: expand tests around sparse merges and clean\n - sparse-index: point users to new 'clean' action\n - sparse-checkout: add --verbose option to 'clean'\n - dir: add generic \"walk all files\" helper\n - sparse-checkout: match some 'clean' behavior\n - sparse-checkout: add basics of 'clean' command\n - sparse-checkout: remove use of the_repository\n - Merge branch 'ac/deglobal-sparse-variables' into ds/sparse-checkout-clean\n (this branch uses ac/deglobal-sparse-variables.)\n\n \"git sparse-checkout\" subcommand learned a new \"clean\" action to\n prune otherwise unused working-tree files that are outside the\n areas of interest.\n\n Needs to wait for the base topic to solidify.\n source: <pull.1941.v2.git.1752716054.gitgitgadget@gmail.com>\n\n\n* pw/3.0-commentchar-auto-deprecation (2025-07-31) 4 commits\n - commit: print advice when core.commentString=auto\n - config: warn on core.commentString=auto\n - breaking-changes: deprecate support for core.commentString=auto\n - Merge branch 'ps/config-wo-the-repository' into pw/3.0-commentchar-auto-deprecation\n\n Proposes to deprecate \"core.commentChar=auto\" that attempts to\n dynamically pick a suitable comment character, as it is too much\n trouble to support for little benefit.\n\n Comments?\n source: <cover.1753975294.git.phillip.wood@dunelm.org.uk>\n\n\n* ps/object-file-wo-the-repository (2025-07-16) 17 commits\n  (merged to 'next' on 2025-08-01 at 0c1253014e)\n + object-file: get rid of `the_repository` in index-related functions\n + object-file: get rid of `the_repository` in `force_object_loose()`\n + object-file: get rid of `the_repository` in `read_loose_object()`\n + object-file: get rid of `the_repository` in loose object iterators\n + object-file: remove declaration for `for_each_file_in_obj_subdir()`\n + object-file: inline `for_each_loose_file_in_objdir_buf()`\n + object-file: get rid of `the_repository` when writing objects\n + odb: introduce `odb_write_object()`\n + loose: write loose objects map via their source\n + object-file: get rid of `the_repository` in `finalize_object_file()`\n + object-file: get rid of `the_repository` in `loose_object_info()`\n + object-file: get rid of `the_repository` when freshening objects\n + object-file: inline `check_and_freshen()` functions\n + object-file: get rid of `the_repository` in `has_loose_object()`\n + object-file: stop using `the_hash_algo`\n + object-file: fix -Wsign-compare warnings\n + Merge branch 'ps/object-store' into ps/object-file-wo-the-repository\n\n Reduce implicit assumption and dependence on the_repository in the\n object-file subsystem.\n\n Will merge to 'master'.\n cf. <87ms8na1mc.fsf@iotcl.com>\n cf. <aIhm_nqiH8Sci12i@pks.im>\n source: <20250717-pks-object-file-wo-the-repository-v2-0-36d2cd6c700e@pks.im>\n\n\n* ua/t1517-short-help-tests (2025-08-02) 3 commits\n - t5304: move `prune -h` test from t1517\n - t5200: move `update-server-info -h` test from t1517\n - t/t1517: automate `git subcmd -h` tests outside a repository\n (this branch is used by dk/help-all.)\n\n Test shuffling.\n\n Needs the perl-prereq touch-up squashed in from dk/help-all topic.\n source: <20250803020744.1037392-1-usmanakinyemi202@gmail.com>\n\n\n* tc/last-modified (2025-07-30) 4 commits\n . last-modified: use Bloom filters when available\n . commit-graph: export prepare_commit_graph()\n . t/perf: add last-modified perf script\n . last-modified: new subcommand to show when files were last modified\n\n A new command \"git last-modified\" is proposed to show the closest\n ancestor commit that touched each path.\n\n Seems to break a CI job when merged to 'seen'.\n cf. <xmqqpldfoqvz.fsf@gitster.g>\n source: <20250716133206.1787549-1-toon@iotcl.com>\n\n\n* lo/repo-info (2025-08-01) 5 commits\n . repo: add the --format flag\n . repo: add the field layout.shallow\n . repo: add the field layout.bare\n . repo: add the field references.format\n . repo: declare the repo command\n\n A new subcommand \"git repo\" gives users a way to grab various\n repository characteristics.\n\n Breaks 0450 when merged to 'seen'.\n source: <20250801131111.8115-1-lucasseikioshiro@gmail.com>\n\n\n* ac/deglobal-sparse-variables (2025-07-18) 3 commits\n - environment: remove the global variable 'sparse_expect_files_outside_of_patterns'\n - environment: move access to \"core.sparsecheckoutcone\" into repo_settings\n - environment: move access to \"core.sparsecheckout\" into repo_settings\n (this branch is used by ds/sparse-checkout-clean.)\n\n Two global variables related to sparse checkout have been moved to\n the repository settings structure.\n\n Expecting a reroll.\n cf. <CAE7as+bnG6KgA8X_n36pqP15bmyM6re+xEb1MOXKvZSUdJ8Arg@mail.gmail.com>\n source: <cover.1752882401.git.ayu.chandekar@gmail.com>\n\n\n* tb/prepare-midx-pack-cleanup (2025-05-28) 5 commits\n - midx: return a `packed_git` pointer from `prepare_midx_pack()`\n - midx-write.c: extract inner loop from fill_packs_from_midx()\n - midx-write.c: guard against incremental MIDXs in want_included_pack()\n - midx: access pack names through `nth_midxed_pack_name()`\n - Merge branch 'ps/midx-negative-packfile-cache' into tb/prepare-midx-pack-cleanup\n\n Improvement on Multi-pack-index API.\n\n Expecting a reroll.\n cf. <20250530065034.GC1321283@coredump.intra.peff.net>\n source: <cover.1748473122.git.me@ttaylorr.com>\n\n\n* kj/renamed-submodule (2025-07-24) 4 commits\n  (merged to 'next' on 2025-08-03 at c341b36545)\n + fixup! submodule: skip redundant active entries when pattern covers path\n + fixup! submodule: prevent overwriting .gitmodules on path reuse\n + submodule: skip redundant active entries when pattern covers path\n + submodule: prevent overwriting .gitmodules on path reuse\n\n The case where a new submodule takes a path where used to be a\n completely different subproject is now dealt a bit better than\n before.\n\n Will merge to 'master'.\n source: <20250724152418.45226-1-jayatheerthkulkarni2005@gmail.com>\n\n\n* cc/promisor-remote-capability (2025-07-31) 5 commits\n - promisor-remote: use string constants for 'name' and 'url' too\n - promisor-remote: allow a client to check fields\n - promisor-remote: refactor how we parse advertised fields\n - promisor-remote: allow a server to advertise more fields\n - promisor-remote: refactor to get rid of 'struct strvec'\n\n The \"promisor-remote\" capability mechanism has been updated to\n allow the \"partialCloneFilter\" settings and the \"token\" value to be\n communicated from the server side.\n\n Expecting a reroll.\n source: <20250731072401.3817074-1-christian.couder@gmail.com>\n\n--------------------------------------------------\n[Discarded]\n\n* pw/compound-literal-test-balloon (2025-07-14) 1 commit\n . strbuf: add compound literal test balloon\n\n Gauge if the world is ready for compound literal that can make the\n resulting code clearer in some places.\n\n Discarded; it turns out that we already have a test balloon on this.\n source: <7ac55a5096c261b706f47ca239c381f71db2b67a.1752499653.git.phillip.wood@dunelm.org.uk>\n\n\n* jc/tag-idempotent-no-op (2025-07-11) 1 commit\n . tag: allow idempotent \"git tag\" without \"--force\"\n\n \"git tag T O\" when the tag T is already pointing at the object O is\n a no-op; we used to but no longer error out such a request and\n require \"--force\" and instead turn it into a no-op.\n\n Will discard.\n cf. <dt5ruadvr7lmhsbypmb6yili5cookfx5btw4gzfeui7ehxxajv@ziael4udbbcy>\n source: <xmqqv7nyzgp7.fsf@gitster.g>\n"},{"id":"523550","messageId":"87y0rxub3m.fsf@iotcl.com","threadId":"63913","inReplyTo":"xmqqectr57ax.fsf@gitster.g","subject":"Re: What's cooking in git.git (Aug 2025, #02; Mon, 4)","fromName":"Toon Claes","fromEmail":"toon@iotcl.com","sentAt":"2025-08-05T13:55:25Z","receivedAt":"2025-08-05T13:55:38Z","isPatch":false,"sender":{"key":"toon@iotcl.com","avatar":"https://avatars.githubusercontent.com/u/121621?v=4"},"body":"Junio C Hamano <gitster@pobox.com> writes:\n\n> * jt/archive-zip-deflate-fix (2025-08-02) 1 commit\n>   (merged to 'next' on 2025-08-04 at 4444b611dc)\n>  + archive: flush deflate stream until Z_STREAM_END\n>\n>  The deflate codepath in \"git archive --format=zip\" had a\n>  longstanding bug coming from misuse of zlib API, which has been\n>  corrected.\n>\n>  Will merge to 'master'.\n>  source: <20250802220803.95137-1-jltobler@gmail.com>\n\nI see this was merged into 'next' with 4444b611dc (Merge branch\n'jt/archive-zip-deflate-fix' into next, 2025-08-04), but was reverted\nagain in 5297b08916 (Revert \"Merge branch 'jt/archive-zip-deflate-fix'\ninto next\", 2025-08-04)\n\nThe fix in this patch definitely was the correct way forward, and it\nfixed the issue at hand. So I don't think it should have been reverted.\n\nI've sent a review and some patches in response, suggesting for an\nalternative fix. I'm not claiming my fix is better, and it might\nintroduce other bug. I don't even know if the changes are even required.\n\nTo dive into the details: The output buffer for the compressed data is\ntwice the size of the input buffer. There is no reason to believe this\nwould cause any issues.\n\nSo currently I'm more in line with Justin, and I agree with the\npragmatic approach to only fix the issue we know is an issue, while we\nkeep the number of changed lines minimal.\n\nSorry for the confusion and for bringing in a concurrent series of\npatches. Please ignore those and continue with this patch from Justin.\n\n-- \nCheers,\nToon\n"},{"id":"523578","messageId":"xmqqms8dzlvk.fsf@gitster.g","threadId":"63913","inReplyTo":"87y0rxub3m.fsf@iotcl.com","subject":"Re: What's cooking in git.git (Aug 2025, #02; Mon, 4)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2025-08-05T18:03:43Z","receivedAt":"2025-08-05T18:03:46Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Toon Claes <toon@iotcl.com> writes:\n\n> Junio C Hamano <gitster@pobox.com> writes:\n>\n>> * jt/archive-zip-deflate-fix (2025-08-02) 1 commit\n>>   (merged to 'next' on 2025-08-04 at 4444b611dc)\n>>  + archive: flush deflate stream until Z_STREAM_END\n>>\n>>  The deflate codepath in \"git archive --format=zip\" had a\n>>  longstanding bug coming from misuse of zlib API, which has been\n>>  corrected.\n>>\n>>  Will merge to 'master'.\n>>  source: <20250802220803.95137-1-jltobler@gmail.com>\n>\n> I see this was merged into 'next' with 4444b611dc (Merge branch\n> 'jt/archive-zip-deflate-fix' into next, 2025-08-04), but was reverted\n> again in 5297b08916 (Revert \"Merge branch 'jt/archive-zip-deflate-fix'\n> into next\", 2025-08-04)\n>\n> The fix in this patch definitely was the correct way forward, and it\n> fixed the issue at hand. So I don't think it should have been reverted.\n>\n> I've sent a review and some patches in response, suggesting for an\n> alternative fix. I'm not claiming my fix is better, and it might\n> introduce other bug. I don't even know if the changes are even required.\n\nThe intention on my part was that the merge was premature before\nother people expressed their thoughts.  Perhaps the list may decide\nthat \"we must loop around git_deflate() until we see STREAM_END\" is\nsufficient, in which case I'll merge it back again.\n\nThanks.\n"},{"id":"523677","messageId":"aJO/VhvaH7FgluZA@szeder.dev","threadId":"63913","inReplyTo":"xmqqectr57ax.fsf@gitster.g","subject":"Re: What's cooking in git.git (Aug 2025, #02; Mon, 4)","fromName":"SZEDER Gábor","fromEmail":"szeder.dev@gmail.com","sentAt":"2025-08-06T20:47:18Z","receivedAt":"2025-08-06T20:47:21Z","isPatch":false,"sender":{"key":"szeder.dev@gmail.com","avatar":"https://avatars.githubusercontent.com/u/116324?v=4"},"body":"On Mon, Aug 04, 2025 at 10:24:22AM -0700, Junio C Hamano wrote:\n> * ps/remote-rename-fix (2025-07-31) 7 commits\n>  - builtin/remote: only iterate through refs that are to be renamed\n>  - builtin/remote: rework how remote refs get renamed\n>  - builtin/remote: determine whether refs need renaming early on\n>  - builtin/remote: fix sign comparison warnings\n>  - refs: simplify logic when migrating reflog entries\n>  - refs: pass refname when invoking reflog entry callback\n>  - Merge branch 'ps/reflog-migrate-fixes' into ps/remote-rename-fix\n>  (this branch uses ps/reflog-migrate-fixes.)\n> \n>  \"git remote rename origin upstream\" failed to move origin/HEAD to\n>  upstream/HEAD when origin/HEAD is unborn and performed other\n>  renames extremely inefficiently, which has been corrected.\n> \n>  Will merge to 'next'?\n>  source: <20250731-pks-remote-rename-improvements-v2-0-dda6f083674d@pks.im>\n\nBefore merging please make sure that the topic can be built on its\nown.  Currently all of its commits, including the merge commit the\ntopic is based on, fail to build because:\n\n  $ git log --oneline -1\n  fc33fe7eff (HEAD) Merge branch 'ps/reflog-migrate-fixes' into ps/remote-rename-fix\n  $ make\n      CC builtin/reflog.o\n  builtin/reflog.c:7:10: fatal error: object-store.h: No such file or directory\n      7 | #include \"object-store.h\"\n        |          ^~~~~~~~~~~~~~~~\n  compilation terminated.\n  make: *** [Makefile:2817: builtin/reflog.o] Error 1\n\n"},{"id":"523680","messageId":"xmqqfre4tahh.fsf@gitster.g","threadId":"63913","inReplyTo":"aJO/VhvaH7FgluZA@szeder.dev","subject":"Re: What's cooking in git.git (Aug 2025, #02; Mon, 4)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2025-08-06T21:18:34Z","receivedAt":"2025-08-06T21:18:37Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"SZEDER Gábor <szeder.dev@gmail.com> writes:\n\n> Before merging please make sure that the topic can be built on its\n> own.  Currently all of its commits, including the merge commit the\n> topic is based on, fail to build because:\n>\n>   $ git log --oneline -1\n>   fc33fe7eff (HEAD) Merge branch 'ps/reflog-migrate-fixes' into ps/remote-rename-fix\n>   $ make\n>       CC builtin/reflog.o\n>   builtin/reflog.c:7:10: fatal error: object-store.h: No such file or directory\n>       7 | #include \"object-store.h\"\n>         |          ^~~~~~~~~~~~~~~~\n>   compilation terminated.\n>   make: *** [Makefile:2817: builtin/reflog.o] Error 1\n\nThe joy of having too many moving parts X-<.\n\nThanks for catching.\n\n"},{"id":"523700","messageId":"aJQu5VJ_w1Vq_VYW@pks.im","threadId":"63913","inReplyTo":"xmqqfre4tahh.fsf@gitster.g","subject":"Re: What's cooking in git.git (Aug 2025, #02; Mon, 4)","fromName":"Patrick Steinhardt","fromEmail":"ps@pks.im","sentAt":"2025-08-07T04:43:17Z","receivedAt":"2025-08-07T04:43:24Z","isPatch":false,"sender":{"key":"ps@pks.im","avatar":"https://avatars.githubusercontent.com/u/4056630?v=4"},"body":"On Wed, Aug 06, 2025 at 02:18:34PM -0700, Junio C Hamano wrote:\n> SZEDER Gábor <szeder.dev@gmail.com> writes:\n> \n> > Before merging please make sure that the topic can be built on its\n> > own.  Currently all of its commits, including the merge commit the\n> > topic is based on, fail to build because:\n> >\n> >   $ git log --oneline -1\n> >   fc33fe7eff (HEAD) Merge branch 'ps/reflog-migrate-fixes' into ps/remote-rename-fix\n> >   $ make\n> >       CC builtin/reflog.o\n> >   builtin/reflog.c:7:10: fatal error: object-store.h: No such file or directory\n> >       7 | #include \"object-store.h\"\n> >         |          ^~~~~~~~~~~~~~~~\n> >   compilation terminated.\n> >   make: *** [Makefile:2817: builtin/reflog.o] Error 1\n> \n> The joy of having too many moving parts X-<.\n> \n> Thanks for catching.\n\nI guess what I learned is that I'll refrain from building on top of a\ntopic that hasn't hit \"next\" yet from now on. I knew it was a going to\nbecome a bit painful, but I guess it's even more so than I expected.\n\nThe merge commit does need to rename the include from \"object-store.h\"\nto \"odb.h\", which is because the parent topic was built on top of\n\"maint\" where the rename hasn't yet happened.\n\nThanks!\n\nPatrick\n"},{"id":"523758","messageId":"xmqqo6srrwb4.fsf@gitster.g","threadId":"63913","inReplyTo":"aJQu5VJ_w1Vq_VYW@pks.im","subject":"Re: What's cooking in git.git (Aug 2025, #02; Mon, 4)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2025-08-07T15:22:23Z","receivedAt":"2025-08-07T15:22:26Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Patrick Steinhardt <ps@pks.im> writes:\n\n> On Wed, Aug 06, 2025 at 02:18:34PM -0700, Junio C Hamano wrote:\n>> SZEDER Gábor <szeder.dev@gmail.com> writes:\n>> \n>> > Before merging please make sure that the topic can be built on its\n>> > own.  Currently all of its commits, including the merge commit the\n>> > topic is based on, fail to build because:\n>> >\n>> >   $ git log --oneline -1\n>> >   fc33fe7eff (HEAD) Merge branch 'ps/reflog-migrate-fixes' into ps/remote-rename-fix\n>> >   $ make\n>> >       CC builtin/reflog.o\n>> >   builtin/reflog.c:7:10: fatal error: object-store.h: No such file or directory\n>> >       7 | #include \"object-store.h\"\n>> >         |          ^~~~~~~~~~~~~~~~\n>> >   compilation terminated.\n>> >   make: *** [Makefile:2817: builtin/reflog.o] Error 1\n>> \n>> The joy of having too many moving parts X-<.\n>> \n>> Thanks for catching.\n>\n> I guess what I learned is that I'll refrain from building on top of a\n> topic that hasn't hit \"next\" yet from now on. I knew it was a going to\n> become a bit painful, but I guess it's even more so than I expected.\n\nAs long as the base topic is reasonably stable, having to recreate\nthe base merge(s---there have been cases where a topic depended on\nmultiple in-flight topics) and rebasing the existing dependign topic\non top of the updated base was not _too_ painful.  In addition to\nrerere, I use machinery to remember and reuse necessary semantic\nconflict resolution that was done once (which is used to rebuild\n'seen' on top of 'master' a few times every day).\n\nIn this particular case, it was me being absent-minded without\nrealizing the base merge may need merge fixes until SZEDER pointed\nout.\n\nThanks.\n"}]}