{"thread":{"id":"63945","subject":"What's cooking in git.git (Aug 2025, #05; Mon, 11)","startedAt":"2025-08-12T08:29:49Z","lastAt":"2025-08-15T05:28:47Z","messageCount":10,"participants":["Junio C Hamano","Patrick Steinhardt","Taylor Blau","Jean-Noël AVILA"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"524018","messageId":"xmqqwm79x7ra.fsf@gitster.g","threadId":"63945","inReplyTo":null,"subject":"What's cooking in git.git (Aug 2025, #05; Mon, 11)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2025-08-12T08:29:45Z","receivedAt":"2025-08-12T08:29:49Z","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\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* rs/for-each-ref-start-after-marker-fix (2025-08-09) 1 commit\n  (merged to 'next' on 2025-08-09 at 44788822b0)\n + for-each-ref: call --start-after argument \"marker\"\n\n Hotfix.\n\n Will merge to 'master'.\n source: <1a32a666-fcf4-4f05-a468-2afa07fa0e2d@web.de>\n\n\n* rs/merge-compact-summary (2025-08-09) 1 commit\n  (merged to 'next' on 2025-08-09 at 924127e9c0)\n + merge: don't document non-existing --compact-summary argument\n\n Hotfix.\n\n Will merge to 'master'.\n source: <890631d1-4e3e-4ea5-8f58-371fadf2b1b3@web.de>\n\n\n* ac/deglobal-fmt-merge-log-config (2025-08-10) 2 commits\n - builtin/fmt-merge-msg: stop depending on 'the_repository'\n - environment: remove the global variable 'merge_log_config'\n\n source: <cover.1754868681.git.ayu.chandekar@gmail.com>\n\n\n* jc/longer-disambiguation-fix (2025-08-11) 1 commit\n - abbrev: allow extending beyond 20 chars to disambiguate\n\n source: <xmqqzfc51xvk.fsf@gitster.g>\n\n--------------------------------------------------\n[Cooking]\n\n* dl/push-missing-object-error (2025-08-08) 3 commits\n - remote.c: convert if-else ladder to switch\n - remote.c: remove BUG in show_push_unqualified_ref_name_error()\n - t5516: remove surrounding empty lines in test bodies\n\n \"git push\" had a code path that led to BUG() but it should have\n been a die(), as it is a response to a usual but invalid end-user\n action to attempt pushing an object that does not exist.\n\n Will merge to 'next'.\n cf. <xmqqo6spiyqp.fsf@gitster.g>\n source: <cover.1754637849.git.liu.denton@gmail.com>\n\n\n* ja/doc-lint-sections-and-synopsis (2025-08-11) 6 commits\n - doc lint: check that synopsis manpages have synopsis inlines\n - doc:git-for-each-ref: fix styling and typos\n - doc: check for absence of the form --[no-]parameter\n - doc: check for absence of multiple terms in each entry of desc list\n - doc: check well-formedness of delimited sections\n - doc: test linkgit macros for well-formedness\n\n Doc lint updates to encourage the newer and easier-to-use\n `synopsis` format, with fixes to a handful of existing uses.\n\n Will merge to 'next'?\n source: <pull.1945.v3.git.1754945600.gitgitgadget@gmail.com>\n\n\n* js/rebase-i-allow-drop-on-a-merge (2025-08-06) 1 commit\n  (merged to 'next' on 2025-08-07 at bc44e9dc1b)\n + rebase -i: permit 'drop' of a merge commit\n\n During interactive rebase, using 'drop' on a merge commit lead to\n an error, which was incorrect.\n\n Will cook in 'next'.\n source: <37f6e34c-91aa-4e55-88e1-019d2e042df3@kdbg.org>\n\n\n* ms/refs-list (2025-08-05) 6 commits\n - t: add test for git refs list subcommand\n - t6300: refactor tests to be shareable\n - builtin/refs: add list subcommand\n - builtin/for-each-ref: factor out core logic into a helper\n - builtin/for-each-ref: align usage string with the man page\n - doc: factor out common option\n\n The \"list\" subcommand of \"git refs\" acts as a front-end for\n \"git for-each-ref\".\n\n Comments?\n source: <20250805092758.5321-1-meetsoni3017@gmail.com>\n\n\n* kh/doc-git-log-markup-fix (2025-08-08) 1 commit\n - doc: git-log: fix description list\n\n Doc update.\n\n Will merge to 'next'.\n source: <aaa1734189ec8bab7cfa0965132e3d8e5909b1af.1754660514.git.code@khaugsbakk.name>\n\n\n* ly/changed-path-traversal-with-magic-pathspec (2025-08-10) 1 commit\n - bloom: enable bloom filter with wildcard pathspec in revision traversal\n\n Revision traversal limited with pathspec, like \"git log dir/*\",\n used to ignore changed-paths Bloom filter when the pathspec\n contained wildcards; now they take advantage of the filter when\n they can.\n\n Will merge to 'next'?\n source: <20250811060137.75135-1-yldhome2d2@gmail.com>\n\n\n* ps/commit-graph-wo-globals (2025-08-07) 10 commits\n - commit-graph: stop passing in redundant repository\n - commit-graph: stop using `the_repository`\n - commit-graph: stop using `the_hash_algo`\n - commit-graph: refactor `parse_commit_graph()` to take a repository\n - commit-graph: store the hash algorithm instead of its length\n - commit-graph: stop using `the_hash_algo` via macros\n - commit-graph: fix sign comparison warnings\n - commit-graph: fix type for some write options\n - commit-graph: stop using signed integers to count Bloom filters\n - trace2: introduce function to trace unsigned integers\n\n Remove dependency on the_repository and other globals from the\n commit-graph code, and other changes unrelated to de-globaling.\n\n Will merge to 'next'?\n source: <20250807-b4-pks-commit-graph-wo-the-repository-v3-0-82edef830a1e@pks.im>\n\n\n* tc/t0450-harden (2025-08-08) 2 commits\n . t0450: add allowlist for builtins with missing .adoc\n . t0450: fix test for out-of-tree builds\n\n Test updates.\n\n Expecting a reroll?\n cf. <xmqq7bzdfoxe.fsf@gitster.g>\n source: <20250808095943.3312265-1-toon@iotcl.com>\n\n\n* gh/git-jump-pathname-with-sp (2025-08-11) 1 commit\n - git-jump: make `diff` work with filenames containing spaces\n\n \"git jump\" (in contrib/) fails to parse the diff header correctly\n when a file has a space in its name, which has been corrected.\n\n Will merge to 'next'?\n source: <pull.1950.v2.git.1754913323810.gitgitgadget@gmail.com>\n\n\n* jc/diff-no-index-in-subdir (2025-08-09) 1 commit\n - diff: --no-index should ignore the worktree\n\n \"git diff --no-index\" run inside a subdirectory under control of a\n Git repository operated at the top of the working tree and stripped\n the prefix from the output, and oddballs like \"-\" (stdin) did not\n work correctly because of it.  Correct the set-up by undoing what\n the set-up sequence did to cwd and prefix.\n\n Will merge to 'next'?\n source: <xmqq1ppk58ob.fsf@gitster.g>\n\n\n* je/doc-rebase (2025-08-11) 6 commits\n - fixup! doc: git-rebase: update discussion of internals\n - doc: git-rebase: update discussion of internals\n - doc: git-rebase: move --onto explanation down\n - doc: git rebase: clarify arguments syntax\n - doc: git rebase: dedup merge conflict discussion\n - doc: git-rebase: start with an example\n\n Documentation for \"git rebase\" has been updated.\n\n Comments?\n source: <pull.1949.v6.git.1754949075.gitgitgadget@gmail.com>\n\n\n* rj/t6137-cygwin-fix (2025-08-08) 1 commit\n - t6137-*.sh: fix test failure on cygwin\n\n Test fix for breakage introduced in Git 2.50.\n\n Will merge to 'next'.\n source: <5514f2fd-3307-42c8-97ac-bc2147a7ba41@ramsayjones.plus.com>\n\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-08-07) 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: <20250807-toon-max-depth-v2-0-50b7e5c81665@iotcl.com>\n\n\n* dk/help-all (2025-08-03) 3 commits\n - builtin: also setup gently for --help-all\n - parse-options: refactor flags for usage_with_options_internal\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* 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 Expecting a reroll.\n cf. <198826af571.62b85cb31711042.2415806544948206668@linux.beauty>\n source: <20250803150059.402017-1-me@linux.beauty>\n\n\n* ly/diff-name-only-with-diff-from-content (2025-08-07) 1 commit\n - diff: ensure consistent diff behavior with ignore options\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 Will merge to 'next'?\n source: <20250808033019.78817-1-yldhome2d2@gmail.com>\n\n\n* rs/describe-with-prio-queue (2025-08-03) 2 commits\n  (merged to 'next' on 2025-08-07 at 5ebcaaf8b8)\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 cook in 'next'.\n source: <36d5b59a-a99a-4a6f-b637-dfb0b760660f@web.de>\n\n\n* ps/object-store-midx-dedup-info (2025-08-11) 11 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: simplify calling `link_alt_odb_entry()`\n - odb: return newly created in-memory sources\n - odb: consistently use \"dir\" to refer to alternate's directory\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: <20250811-b4-pks-midx-deduplicate-source-info-v3-0-e442bdf2b4ad@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  (merged to 'next' on 2025-08-07 at 227d2faf29)\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 cook in 'next'.\n source: <20250731-pks-remote-rename-improvements-v2-0-dda6f083674d@pks.im>\n\n\n* ag/send-email-imap-sent (2025-08-11) 3 commits\n - fixup! send-email: enable copying emails to IMAP folder without actually sending them\n - send-email: enable copying emails to IMAP folder without actually sending them\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 Comments?\n source: <PN3PR01MB9597EC4C5DF97943587AEEB4B85FA@PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM>\n\n\n* en/ort-rename-fixes (2025-08-06) 7 commits\n - merge-ort: fix directory rename on top of source of other rename/delete\n - merge-ort: fix incorrect file handling\n - merge-ort: clarify the interning of strings in opt->priv->path\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 Will merge to 'next'?\n source: <pull.1943.v3.git.1754522122.gitgitgadget@gmail.com>\n\n\n* ps/reflog-migrate-fixes (2025-08-05) 9 commits\n  (merged to 'next' on 2025-08-07 at 8068e2ad68)\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 cook in 'next'.\n source: <20250806-pks-reflog-append-v6-0-a50839653766@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* ua/t1517-short-help-tests (2025-08-07) 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 Will merge to 'next'.\n source: <20250808010651.591906-1-usmanakinyemi202@gmail.com>\n\n\n* tc/last-modified (2025-08-05) 4 commits\n - fixup! last-modified: new subcommand to show when files were last modified\n - last-modified: use Bloom filters when available\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 source: <20250730175510.987383-1-toon@iotcl.com>\n\n\n* lo/repo-info (2025-08-07) 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 Expecting a reroll?\n source: <20250807150239.6987-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* 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"},{"id":"524035","messageId":"aJs5Gee3ZVCJX8dk@pks.im","threadId":"63945","inReplyTo":"xmqqwm79x7ra.fsf@gitster.g","subject":"Re: What's cooking in git.git (Aug 2025, #05; Mon, 11)","fromName":"Patrick Steinhardt","fromEmail":"ps@pks.im","sentAt":"2025-08-12T12:52:41Z","receivedAt":"2025-08-12T12:52:46Z","isPatch":false,"sender":{"key":"ps@pks.im","avatar":"https://avatars.githubusercontent.com/u/4056630?v=4"},"body":"On Tue, Aug 12, 2025 at 01:29:45AM -0700, Junio C Hamano wrote:\n> * ms/refs-list (2025-08-05) 6 commits\n>  - t: add test for git refs list subcommand\n>  - t6300: refactor tests to be shareable\n>  - builtin/refs: add list subcommand\n>  - builtin/for-each-ref: factor out core logic into a helper\n>  - builtin/for-each-ref: align usage string with the man page\n>  - doc: factor out common option\n> \n>  The \"list\" subcommand of \"git refs\" acts as a front-end for\n>  \"git for-each-ref\".\n> \n>  Comments?\n>  source: <20250805092758.5321-1-meetsoni3017@gmail.com>\n\nI've reviewed this version and am happy with the result. From my point\nof view it's ready to cook in 'next'.\n\n> * ps/commit-graph-wo-globals (2025-08-07) 10 commits\n>  - commit-graph: stop passing in redundant repository\n>  - commit-graph: stop using `the_repository`\n>  - commit-graph: stop using `the_hash_algo`\n>  - commit-graph: refactor `parse_commit_graph()` to take a repository\n>  - commit-graph: store the hash algorithm instead of its length\n>  - commit-graph: stop using `the_hash_algo` via macros\n>  - commit-graph: fix sign comparison warnings\n>  - commit-graph: fix type for some write options\n>  - commit-graph: stop using signed integers to count Bloom filters\n>  - trace2: introduce function to trace unsigned integers\n> \n>  Remove dependency on the_repository and other globals from the\n>  commit-graph code, and other changes unrelated to de-globaling.\n> \n>  Will merge to 'next'?\n>  source: <20250807-b4-pks-commit-graph-wo-the-repository-v3-0-82edef830a1e@pks.im>\n\nI don't intend to reroll this series for now. As long as you are happy\nwith the signedness-related patches I think this should be ready.\n\n> * tc/t0450-harden (2025-08-08) 2 commits\n>  . t0450: add allowlist for builtins with missing .adoc\n>  . t0450: fix test for out-of-tree builds\n> \n>  Test updates.\n> \n>  Expecting a reroll?\n>  cf. <xmqq7bzdfoxe.fsf@gitster.g>\n>  source: <20250808095943.3312265-1-toon@iotcl.com>\n\nToon is currently out of office, so this'll take a while to be rerolled.\nI'll have a look at whether I can reconstruct the seemingly-missing\nfile.\n\n> * en/ort-rename-fixes (2025-08-06) 7 commits\n>  - merge-ort: fix directory rename on top of source of other rename/delete\n>  - merge-ort: fix incorrect file handling\n>  - merge-ort: clarify the interning of strings in opt->priv->path\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>  Will merge to 'next'?\n>  source: <pull.1943.v3.git.1754522122.gitgitgadget@gmail.com>\n\nThe patch series looks reasonable to me, but that's basically just going\nby the commit messages. I wouldn't claim to really understand our merge\nmachinery, so my opinion is only of limited use.\n\nPatrick\n"},{"id":"524050","messageId":"aJtSqgJ7w02Ox74w@nand.local","threadId":"63945","inReplyTo":"aJs5Gee3ZVCJX8dk@pks.im","subject":"Re: What's cooking in git.git (Aug 2025, #05; Mon, 11)","fromName":"Taylor Blau","fromEmail":"me@ttaylorr.com","sentAt":"2025-08-12T14:41:46Z","receivedAt":"2025-08-12T14:41:49Z","isPatch":false,"sender":{"key":"me@ttaylorr.com","avatar":"https://avatars.githubusercontent.com/u/301000140?v=4"},"body":"On Tue, Aug 12, 2025 at 02:52:41PM +0200, Patrick Steinhardt wrote:\n> > * ps/commit-graph-wo-globals (2025-08-07) 10 commits\n> >  - commit-graph: stop passing in redundant repository\n> >  - commit-graph: stop using `the_repository`\n> >  - commit-graph: stop using `the_hash_algo`\n> >  - commit-graph: refactor `parse_commit_graph()` to take a repository\n> >  - commit-graph: store the hash algorithm instead of its length\n> >  - commit-graph: stop using `the_hash_algo` via macros\n> >  - commit-graph: fix sign comparison warnings\n> >  - commit-graph: fix type for some write options\n> >  - commit-graph: stop using signed integers to count Bloom filters\n> >  - trace2: introduce function to trace unsigned integers\n> >\n> >  Remove dependency on the_repository and other globals from the\n> >  commit-graph code, and other changes unrelated to de-globaling.\n> >\n> >  Will merge to 'next'?\n> >  source: <20250807-b4-pks-commit-graph-wo-the-repository-v3-0-82edef830a1e@pks.im>\n>\n> I don't intend to reroll this series for now. As long as you are happy\n> with the signedness-related patches I think this should be ready.\n\nI am still not sold on the first four of these patches, and I share\nJunio's concern[1] that the \"int -> unsigned int\" changes are not well\njustified.\n\nAs a practical concern, the \"max_commits\" and \"size_mult\" values should\nnever come even close to INT_MAX, so I am not sure that the wider range\nis giving us all that much. I am a little more convinced by the Bloom\nfilter changes, but since they are purely for debugging and also\nexceedingly unlikely to exceed the signed INT_MAX, I do not think they\nare absolutely necessary.\n\nThat said, I don't feel strongly enough about the lack of justification\nhere to hold up this series[^2], so I am fine with it moving forward if\nboth you and Junio are happy with it as-is. But I am left wanting a\nstronger justification for the first half of the changes.\n\nThanks,\nTaylor\n\n[1]: https://lore.kernel.org/git/xmqqpld6kb4t.fsf@gitster.g\n\n[^2]: I don't want to waste the list's time debating a signed-ness\nconversion when we have much bigger fish to fry, but I also do not want\nto deviate too far from our usual standards, either.\n"},{"id":"524051","messageId":"xmqqo6skwqal.fsf@gitster.g","threadId":"63945","inReplyTo":"aJs5Gee3ZVCJX8dk@pks.im","subject":"Re: What's cooking in git.git (Aug 2025, #05; Mon, 11)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2025-08-12T14:46:58Z","receivedAt":"2025-08-12T14:47:00Z","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 Tue, Aug 12, 2025 at 01:29:45AM -0700, Junio C Hamano wrote:\n>> * ms/refs-list (2025-08-05) 6 commits\n>>  - t: add test for git refs list subcommand\n>>  - t6300: refactor tests to be shareable\n>>  - builtin/refs: add list subcommand\n>>  - builtin/for-each-ref: factor out core logic into a helper\n>>  - builtin/for-each-ref: align usage string with the man page\n>>  - doc: factor out common option\n>> \n>>  The \"list\" subcommand of \"git refs\" acts as a front-end for\n>>  \"git for-each-ref\".\n>> \n>>  Comments?\n>>  source: <20250805092758.5321-1-meetsoni3017@gmail.com>\n>\n> I've reviewed this version and am happy with the result. From my point\n> of view it's ready to cook in 'next'.\n\nI've looked at it, too.  Thanks for a review.\n\n>> * ps/commit-graph-wo-globals (2025-08-07) 10 commits\n>>  - commit-graph: stop passing in redundant repository\n>>  - commit-graph: stop using `the_repository`\n>>  - commit-graph: stop using `the_hash_algo`\n>>  - commit-graph: refactor `parse_commit_graph()` to take a repository\n>>  - commit-graph: store the hash algorithm instead of its length\n>>  - commit-graph: stop using `the_hash_algo` via macros\n>>  - commit-graph: fix sign comparison warnings\n>>  - commit-graph: fix type for some write options\n>>  - commit-graph: stop using signed integers to count Bloom filters\n>>  - trace2: introduce function to trace unsigned integers\n>> \n>>  Remove dependency on the_repository and other globals from the\n>>  commit-graph code, and other changes unrelated to de-globaling.\n>> \n>>  Will merge to 'next'?\n>>  source: <20250807-b4-pks-commit-graph-wo-the-repository-v3-0-82edef830a1e@pks.im>\n>\n> I don't intend to reroll this series for now. As long as you are happy\n> with the signedness-related patches I think this should be ready.\n\nHeh, I am not obviously happy.  I don't have time to go in myself\nand fix them, though.\n\n>> * tc/t0450-harden (2025-08-08) 2 commits\n>>  . t0450: add allowlist for builtins with missing .adoc\n>>  . t0450: fix test for out-of-tree builds\n>> \n>>  Test updates.\n>> \n>>  Expecting a reroll?\n>>  cf. <xmqq7bzdfoxe.fsf@gitster.g>\n>>  source: <20250808095943.3312265-1-toon@iotcl.com>\n>\n> Toon is currently out of office, so this'll take a while to be rerolled.\n> I'll have a look at whether I can reconstruct the seemingly-missing\n> file.\n\nI saw your patch.  I'll queue it separately on top.  As we won't be\nmoving new things beyond 'seen' for at least another week anyway, we\nare not in a hurry ;-)\n\n>> * en/ort-rename-fixes (2025-08-06) 7 commits\n>>  - merge-ort: fix directory rename on top of source of other rename/delete\n>>  - merge-ort: fix incorrect file handling\n>>  - merge-ort: clarify the interning of strings in opt->priv->path\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>>  Will merge to 'next'?\n>>  source: <pull.1943.v3.git.1754522122.gitgitgadget@gmail.com>\n>\n> The patch series looks reasonable to me, but that's basically just going\n> by the commit messages. I wouldn't claim to really understand our merge\n> machinery, so my opinion is only of limited use.\n\nThanks.  These looked OK to me, too.\n"},{"id":"524058","messageId":"5032416.31r3eYUQgx@cayenne","threadId":"63945","inReplyTo":"xmqqwm79x7ra.fsf@gitster.g","subject":"Re: What's cooking in git.git (Aug 2025, #05; Mon, 11)","fromName":"Jean-Noël AVILA","fromEmail":"jn.avila@free.fr","sentAt":"2025-08-12T15:24:16Z","receivedAt":"2025-08-12T15:31:00Z","isPatch":false,"sender":{"key":"jn.avila@free.fr","avatar":"https://avatars.githubusercontent.com/u/156172?v=4"},"body":"On Tuesday, 12 August 2025 10:29:45 CEST Junio C Hamano wrote:\n> Here are the topics that have been cooking in my tree.  Commits\n> prefixed with '+' are in 'next' (being in 'next' is a sign that a\n> topic is stable enough to be used and are candidate to be in a\n> future release).  Commits prefixed with '-' are only in 'seen', and\n> aren't considered \"accepted\" at all and may be annotated with an URL\n> to a message that raises issues but they are no means exhaustive.  A\n> topic without enough support may be discarded after a long period of\n> no activity (of course they can be resubmit when new interests\n> arise).\n> \n> Copies of the source code to Git live in many repositories, and the\n> following is a list of the ones I push into or their mirrors.  Some\n> repositories have only a subset of branches.\n> \n> * ja/doc-lint-sections-and-synopsis (2025-08-11) 6 commits\n>  - doc lint: check that synopsis manpages have synopsis inlines\n>  - doc:git-for-each-ref: fix styling and typos\n>  - doc: check for absence of the form --[no-]parameter\n>  - doc: check for absence of multiple terms in each entry of desc list\n>  - doc: check well-formedness of delimited sections\n>  - doc: test linkgit macros for well-formedness\n> \n>  Doc lint updates to encourage the newer and easier-to-use\n>  `synopsis` format, with fixes to a handful of existing uses.\n> \n>  Will merge to 'next'?\n>  source: <pull.1945.v3.git.1754945600.gitgitgadget@gmail.com>\n> \n> \n\nThese patches are designed to not raise false positives, trading it for \nletting true positives pass through. For instance, the \"synopsis\" patch cannot \ncatch keywords which are just one word.\n\n If possible, I'd like to see how they behave against upcoming documentation \nchanges described in this \"cooking\". This is in order to not have to revert \nthem at some point.\n\nJean-Noël\n\n\n"},{"id":"524062","messageId":"xmqqectgv88u.fsf@gitster.g","threadId":"63945","inReplyTo":"5032416.31r3eYUQgx@cayenne","subject":"Re: What's cooking in git.git (Aug 2025, #05; Mon, 11)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2025-08-12T16:02:09Z","receivedAt":"2025-08-12T16:02:11Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jean-Noël AVILA <jn.avila@free.fr> writes:\n\n> These patches are designed to not raise false positives, trading it for \n> letting true positives pass through. For instance, the \"synopsis\" patch cannot \n> catch keywords which are just one word.\n>\n> If possible, I'd like to see how they behave against upcoming documentation \n> changes described in this \"cooking\". This is in order to not have to revert \n> them at some point.\n\nThe topic being in 'seen' would test other topics in-flight\nconcurrently with this topic; avoiding false positives while trying\nto minimize false negatives is very much appreciated.\n\n"},{"id":"524113","messageId":"aJw5eenXu5CO5z2W@pks.im","threadId":"63945","inReplyTo":"aJtSqgJ7w02Ox74w@nand.local","subject":"Re: What's cooking in git.git (Aug 2025, #05; Mon, 11)","fromName":"Patrick Steinhardt","fromEmail":"ps@pks.im","sentAt":"2025-08-13T07:06:33Z","receivedAt":"2025-08-13T07:06:40Z","isPatch":false,"sender":{"key":"ps@pks.im","avatar":"https://avatars.githubusercontent.com/u/4056630?v=4"},"body":"On Tue, Aug 12, 2025 at 10:41:46AM -0400, Taylor Blau wrote:\n> On Tue, Aug 12, 2025 at 02:52:41PM +0200, Patrick Steinhardt wrote:\n> > > * ps/commit-graph-wo-globals (2025-08-07) 10 commits\n> > >  - commit-graph: stop passing in redundant repository\n> > >  - commit-graph: stop using `the_repository`\n> > >  - commit-graph: stop using `the_hash_algo`\n> > >  - commit-graph: refactor `parse_commit_graph()` to take a repository\n> > >  - commit-graph: store the hash algorithm instead of its length\n> > >  - commit-graph: stop using `the_hash_algo` via macros\n> > >  - commit-graph: fix sign comparison warnings\n> > >  - commit-graph: fix type for some write options\n> > >  - commit-graph: stop using signed integers to count Bloom filters\n> > >  - trace2: introduce function to trace unsigned integers\n> > >\n> > >  Remove dependency on the_repository and other globals from the\n> > >  commit-graph code, and other changes unrelated to de-globaling.\n> > >\n> > >  Will merge to 'next'?\n> > >  source: <20250807-b4-pks-commit-graph-wo-the-repository-v3-0-82edef830a1e@pks.im>\n> >\n> > I don't intend to reroll this series for now. As long as you are happy\n> > with the signedness-related patches I think this should be ready.\n> \n> I am still not sold on the first four of these patches, and I share\n> Junio's concern[1] that the \"int -> unsigned int\" changes are not well\n> justified.\n> \n> As a practical concern, the \"max_commits\" and \"size_mult\" values should\n> never come even close to INT_MAX, so I am not sure that the wider range\n> is giving us all that much. I am a little more convinced by the Bloom\n> filter changes, but since they are purely for debugging and also\n> exceedingly unlikely to exceed the signed INT_MAX, I do not think they\n> are absolutely necessary.\n> \n> That said, I don't feel strongly enough about the lack of justification\n> here to hold up this series[^2], so I am fine with it moving forward if\n> both you and Junio are happy with it as-is. But I am left wanting a\n> stronger justification for the first half of the changes.\n\nFair. I don't want to spend too much time on this signedness topic,\neither. So I'd go with either:\n\n  - Taking the signedness patches as-is. They don't regress the status\n    quo and allow us to warn about future unintentional signedness bugs,\n    even though the fixes are mostly of theoretical value.\n\n  - I drop the signedness-conversion patches altogether.\n\nThe more important part for me is to get the second half of patches\nmerged anyway. So while I think that the first half of patches are nice\nto have, I can live with dropping them.\n\nLet me know which of these options you prefer.\n\nPatrick\n"},{"id":"524123","messageId":"aJySUWSq+xFxhyZr@nand.local","threadId":"63945","inReplyTo":"aJw5eenXu5CO5z2W@pks.im","subject":"Re: What's cooking in git.git (Aug 2025, #05; Mon, 11)","fromName":"Taylor Blau","fromEmail":"me@ttaylorr.com","sentAt":"2025-08-13T13:25:37Z","receivedAt":"2025-08-13T13:25:39Z","isPatch":false,"sender":{"key":"me@ttaylorr.com","avatar":"https://avatars.githubusercontent.com/u/301000140?v=4"},"body":"On Wed, Aug 13, 2025 at 09:06:33AM +0200, Patrick Steinhardt wrote:\n> Fair. I don't want to spend too much time on this signedness topic,\n> either. So I'd go with either:\n>\n>   - Taking the signedness patches as-is. They don't regress the status\n>     quo and allow us to warn about future unintentional signedness bugs,\n>     even though the fixes are mostly of theoretical value.\n>\n>   - I drop the signedness-conversion patches altogether.\n>\n> The more important part for me is to get the second half of patches\n> merged anyway. So while I think that the first half of patches are nice\n> to have, I can live with dropping them.\n\nI'd personally lean towards the latter, and drop those patches for now.\nI think practically speaking that equates to taking patches in the range\n[5, 10].\n\nTo be clear, I am not opposed to the signedness changes entirely, but I\ndo think that they merit a little more discussion and thought around\nwhat our general practices should be here.\n\nIf you want to resurrect those as a separate topic later on, I'd be\nhappy to discuss them then.\n\nThanks,\nTaylor\n"},{"id":"524130","messageId":"xmqqqzxfnudr.fsf@gitster.g","threadId":"63945","inReplyTo":"aJySUWSq+xFxhyZr@nand.local","subject":"Re: What's cooking in git.git (Aug 2025, #05; Mon, 11)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2025-08-13T14:55:44Z","receivedAt":"2025-08-13T14:55:47Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Taylor Blau <me@ttaylorr.com> writes:\n\n> On Wed, Aug 13, 2025 at 09:06:33AM +0200, Patrick Steinhardt wrote:\n>> Fair. I don't want to spend too much time on this signedness topic,\n>> either. So I'd go with either:\n>>\n>>   - Taking the signedness patches as-is. They don't regress the status\n>>     quo and allow us to warn about future unintentional signedness bugs,\n>>     even though the fixes are mostly of theoretical value.\n>>\n>>   - I drop the signedness-conversion patches altogether.\n>>\n>> The more important part for me is to get the second half of patches\n>> merged anyway. So while I think that the first half of patches are nice\n>> to have, I can live with dropping them.\n>\n> I'd personally lean towards the latter, and drop those patches for now.\n> I think practically speaking that equates to taking patches in the range\n> [5, 10].\n\nYeah, that is much simpler.  That way, we do not add more commits in\n\"git log\" that people may find later and mistakenly think that the\nproject had consensus to encourage the use of unsigned when signed\nand narrower integer would do fine, and we won't have to see\nmisguided false positives from -Wsign-compare.  We are better off\nwithout these changes.\n"},{"id":"524227","messageId":"aJ7FiIbvZ8n1hB-y@pks.im","threadId":"63945","inReplyTo":"xmqqqzxfnudr.fsf@gitster.g","subject":"Re: What's cooking in git.git (Aug 2025, #05; Mon, 11)","fromName":"Patrick Steinhardt","fromEmail":"ps@pks.im","sentAt":"2025-08-15T05:28:40Z","receivedAt":"2025-08-15T05:28:47Z","isPatch":false,"sender":{"key":"ps@pks.im","avatar":"https://avatars.githubusercontent.com/u/4056630?v=4"},"body":"On Wed, Aug 13, 2025 at 07:55:44AM -0700, Junio C Hamano wrote:\n> Taylor Blau <me@ttaylorr.com> writes:\n> \n> > On Wed, Aug 13, 2025 at 09:06:33AM +0200, Patrick Steinhardt wrote:\n> >> Fair. I don't want to spend too much time on this signedness topic,\n> >> either. So I'd go with either:\n> >>\n> >>   - Taking the signedness patches as-is. They don't regress the status\n> >>     quo and allow us to warn about future unintentional signedness bugs,\n> >>     even though the fixes are mostly of theoretical value.\n> >>\n> >>   - I drop the signedness-conversion patches altogether.\n> >>\n> >> The more important part for me is to get the second half of patches\n> >> merged anyway. So while I think that the first half of patches are nice\n> >> to have, I can live with dropping them.\n> >\n> > I'd personally lean towards the latter, and drop those patches for now.\n> > I think practically speaking that equates to taking patches in the range\n> > [5, 10].\n> \n> Yeah, that is much simpler.  That way, we do not add more commits in\n> \"git log\" that people may find later and mistakenly think that the\n> project had consensus to encourage the use of unsigned when signed\n> and narrower integer would do fine, and we won't have to see\n> misguided false positives from -Wsign-compare.  We are better off\n> without these changes.\n\nOkay, will send a new version accordingly.\n\nThanks!\n\nPatrick\n"}]}