{"thread":{"id":"63794","subject":"What's cooking in git.git (Jul 2025, #04; Mon, 14)","startedAt":"2025-07-14T20:53:39Z","lastAt":"2025-07-15T17:43:25Z","messageCount":5,"participants":["Junio C Hamano","Karthik Nayak","Carlo Marcelo Arenas Belón"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"521920","messageId":"xmqqa556sddb.fsf@gitster.g","threadId":"63794","inReplyTo":null,"subject":"What's cooking in git.git (Jul 2025, #04; Mon, 14)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2025-07-14T20:53:36Z","receivedAt":"2025-07-14T20:53:39Z","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[Graduated to 'master']\n\n* ac/prune-wo-the-repository (2025-07-04) 2 commits\n  (merged to 'next' on 2025-07-07 at 3dd296a911)\n + builtin/prune: stop depending on 'the_repository'\n + repository: move 'repository_format_precious_objects' to repo scope\n\n Some code paths in the \"git prune\" used to ignore passed in\n repository object and used the_repository singleton instance\n instead, which has been corrected.\n \n source: <cover.1751630981.git.ayu.chandekar@gmail.com>\n\n\n* bs/config-mak-freebsd (2025-07-02) 2 commits\n  (merged to 'next' on 2025-07-07 at d6761aa225)\n + build: retire NO_UINTMAX_T\n + config.mak.uname: set NO_MEMMEM only for functional version\n\n Drop FreeBSD 4 support and assume we are at least at FreeBSD 6 with\n memmem() supported.\n \n source: <20250702093736.36074-1-carenas@gmail.com>\n\n\n* bs/remote-helpers-doc-markup-fix (2025-07-02) 1 commit\n  (merged to 'next' on 2025-07-07 at 60c2a47d1b)\n + gitremote-helpers.adoc: fix formatting\n\n Docfix.\n \n source: <20250702161951.22908-2-bacs@librecast.net>\n\n\n* cb/total-ram-bsd-fix (2025-07-07) 1 commit\n  (merged to 'next' on 2025-07-07 at d9a7ca747c)\n + builtin/gc: correct total_ram calculation with HAVE_BSD_SYSCTL\n\n Use of sysctl() system call to learn the total RAM size used on\n BSDs has been corrected.\n \n source: <20250707164518.6600-1-carenas@gmail.com>\n\n\n* hy/read-cache-lock-error-fix (2025-07-03) 1 commit\n  (merged to 'next' on 2025-07-07 at a97a188a9e)\n + read-cache: report lock error when refreshing index\n\n A failure to open the index file for writing due to conflicting\n access did not state what went wrong, which has been corrected.\n \n source: <20250703074502.45593-1-hanyang.tony@bytedance.com>\n\n\n* jc/coccicheck-fails-make-when-it-fails (2025-06-23) 1 commit\n  (merged to 'next' on 2025-07-07 at 0b7affe7cd)\n + coccicheck: fail \"make\" when it fails\n\n \"make coccicheck\" succeeds even when spatch made suggestions, which\n has been updated to fail in such a case.\n \n source: <xmqqbjqe77vw.fsf@gitster.g>\n\n\n* jk/all-negative-diff-filter-fix (2025-07-03) 1 commit\n  (merged to 'next' on 2025-07-07 at 139dd3db75)\n + setup_revisions(): turn on diffs for all-negative diff filter\n\n A diff-filter with negative-only specification like \"git log\n --diff-filter=d\" did not trigger correctly, which has been fixed.\n \n source: <20250703224428.GB1909836@coredump.intra.peff.net>\n\n\n* kh/doc-config-subcommands (2025-07-01) 5 commits\n  (merged to 'next' on 2025-07-07 at b0db48b397)\n + config: mention --url in the synopsis\n + config: use --value instead of value-pattern\n + config: document --[no-]value\n + config: use --value=<pattern> consistently\n + config: document --[no-]show-names\n\n Documentation updates.\n \n source: <cover.1751382830.git.code@khaugsbakk.name>\n\n\n* kn/clang-format-updates (2025-07-02) 3 commits\n  (merged to 'next' on 2025-07-07 at 0b0770e97a)\n + meson: add rule to run 'git clang-format'\n + clang-format: add 'RemoveBracesLLVM' to the main config\n + clang-format: set 'ColumnLimit' to 0\n\n Update \".clang-format\" and \".editorconfig\" to match our style guide\n a bit better.\n \n source: <20250702-525-make-clang-format-more-robust-v3-0-705344f30580@gmail.com>\n\n\n* mc/netrc-service-names (2025-06-25) 3 commits\n  (merged to 'next' on 2025-07-07 at e98100afdd)\n + contrib: better support symbolic port names in git-credential-netrc\n + contrib: warn for invalid netrc file ports in git-credential-netrc\n + contrib: use a more portable shebang for git-credential-netrc\n\n \"netrc\" credential helper has been improved to understand textual\n service names (like smtp) in addition to the numeric port numbers\n (like 25).\n \n source: <20250625142511.28857-1-maxim@guixotic.coop>\n\n\n* ps/perlless-test-fixes (2025-07-07) 2 commits\n  (merged to 'next' on 2025-07-07 at 2c56966ff8)\n + t5333: fix missing terminator for sed(1) 's' command\n + t4150: fix warning printed by awk due to escaped '\\@'\n\n Test fixes.\n \n source: <20250707-b4-pks-t-perlless-fixes-v1-0-92b2de1c3dd0@pks.im>\n\n\n* ps/use-reftable-as-default-in-3.0 (2025-07-04) 2 commits\n  (merged to 'next' on 2025-07-07 at 3f3402f221)\n + setup: use \"reftable\" format when experimental features are enabled\n + BreakingChanges: announce switch to \"reftable\" format\n\n The reftable ref backend has matured enough; Git 3.0 will make it\n the default format in a newly created repositories by default.\n \n source: <20250704-pks-reftable-default-backend-v3-0-a1eb63e8442a@pks.im>\n\n\n* re/ssh-sign-buffer-fix (2025-07-07) 1 commit\n  (merged to 'next' on 2025-07-07 at 36dad3e4dc)\n + ssh signing: don't detach the filename strbuf from key_file tempfile\n\n Tempfile removal fix in the codepath to sign commits with SSH keys.\n \n source: <20250707184852.16010-1-redoste@redoste.xyz>\n\n\n* rj/freebsd-sysinfo-build-fix (2025-07-04) 1 commit\n  (merged to 'next' on 2025-07-07 at bc4cbfd76d)\n + build: fix FreeBSD build when sysinfo compat library installed\n\n Build fix for FreeBSD.\n \n source: <e6a80163-47ef-436b-98a6-2ac39c477080@ramsayjones.plus.com>\n\n\n* rp/apply-intent-to-add-fix (2025-07-07) 4 commits\n  (merged to 'next' on 2025-07-07 at 957e3fd081)\n + apply docs: clarify wording for --intent-to-add\n + t4140: test apply --intent-to-add interactions\n + apply: only write intents to add for new files\n + apply: read in the index in --intent-to-add mode\n\n \"git apply -N\" should start from the current index and register\n only new files, but it instead started from an empty index, which\n has been corrected.\n \n source: <20250707121534.2933349-1-ray@ameretat.dev>\n\n\n* sj/string-list (2025-06-28) 8 commits\n  (merged to 'next' on 2025-07-07 at 5a95dc8007)\n + u-string-list: move \"remove duplicates\" test to \"u-string-list.c\"\n + u-string-list: move \"filter string\" test to \"u-string-list.c\"\n + u-string-list: move \"test_split_in_place\" to \"u-string-list.c\"\n + u-string-list: move \"test_split\" into \"u-string-list.c\"\n + string-list: enable sign compare warnings check\n + string-list: return index directly when inserting an existing element\n + string-list: remove unused \"insert_at\" parameter from add_entry\n + string-list: fix sign compare warnings for loop iterator\n\n Code and test clean-up around string-list API.\n \n source: <aGDAZ6a0-PyXXGmK@ArchLinux>\n\n\n* ts/merge-orig-head-doc-fix (2025-07-05) 1 commit\n  (merged to 'next' on 2025-07-07 at 08f4a573e5)\n + docs: correct ORIG_HEAD example in \"git merge\" documentation\n\n Doc fix.\n \n source: <pull.1940.git.1751737158670.gitgitgadget@gmail.com>\n\n--------------------------------------------------\n[New Topics]\n\n* ps/sane-ctype-workaround (2025-07-09) 1 commit\n - sane-ctype: fix compiler error on Amazon Linux 2\n\n Our <sane-ctype.h> header file relied on that the system-supplied\n <ctype.h> header is not later included, which would override our\n macro definitions, but \"amazon linux\" broke this assumption.  Fix\n this by preemptively including <ctype.h> near the beginning of\n <sane-ctype.h> ourselves.\n\n Will merge to 'next'.\n source: <fabacc9bc7ef7d462d1c7198d5edc18c76b82270.1752139420.git.ps@pks.im>\n\n\n* rh/doc-glob-pathspec-fix (2025-07-07) 1 commit\n  (merged to 'next' on 2025-07-14 at 1561f0726d)\n + doc: correct doc for glob pathspec\n\n Docfix.\n\n Will merge to 'master'.\n source: <20250708024507.62386-2-rhanneken@pobox.com>\n\n\n* cb/meson-avoid-broken-macos-pcre2 (2025-07-13) 1 commit\n - meson: disable PCRE2 dependency by default in macOS\n\n Build fix for macOS.\n\n Will merge to 'next'.\n source: <20250713174807.32444-1-carenas@gmail.com>\n\n\n* jb/gpg-program-variable-is-a-pathname (2025-07-11) 1 commit\n - gpg-interface: expand gpg.program as a path\n\n The gpg.program configuration variable, which names a pathname to\n the (custom) GPG compatible program, can now be spelled with ~tilde\n expansion.\n\n Will merge to 'next'.\n source: <20250711232348.460804-1-jonas.brandstoetter@gmx.at>\n\n\n* pw/adopt-c99-bool-officially (2025-07-14) 3 commits\n - strbuf: convert predicates to return bool\n - git-compat-util: convert string predicates to return bool\n - CodingGuildlines: allow the use of bool\n\n Declare weather-balloon we raised for \"bool\" type 18 months ago a\n success and officially allow using the type in our codebase.\n\n Comments?\n source: <cover.1752499610.git.phillip.wood@dunelm.org.uk>\n\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 Comments?\n source: <7ac55a5096c261b706f47ca239c381f71db2b67a.1752499653.git.phillip.wood@dunelm.org.uk>\n\n--------------------------------------------------\n[Cooking]\n\n* ps/doc-pack-refs-auto-with-files-backend-fix (2025-07-08) 1 commit\n  (merged to 'next' on 2025-07-09 at 200b4b24a8)\n + docs/git-pack-refs: document heuristic used for packing loose refs\n\n Doc update.\n\n Will merge to 'master'.\n source: <20250708-b4-pks-pack-refs-document-files-heuristic-v1-1-e28d65a94573@pks.im>\n\n\n* ps/refs-files-remove-empty-parent (2025-07-08) 1 commit\n  (merged to 'next' on 2025-07-09 at f726af7117)\n + refs/files: remove empty parent dirs when ref creation fails\n\n When a ref creation at refs/heads/foo/bar fails, the files backend\n now removes refs/heads/foo/ if the directory is otherwise not used.\n\n Will merge to 'master'.\n source: <20250708-b4-pks-reffiles-prune-empty-dirs-on-abort-v1-1-3bae02e4f034@pks.im>\n\n\n* ps/t1006-tap-fix (2025-07-08) 1 commit\n  (merged to 'next' on 2025-07-09 at bbed1acc2a)\n + t1006: fix broken TAP format\n\n Test fix.\n\n Will merge to 'master'.\n source: <20250708-b4-pks-t1006-fix-tap-format-v1-1-c3f837448364@pks.im>\n\n\n* pw/3.0-commentchar-auto-deprecation (2025-07-08) 2 commits\n - commit: print advice when core.commentString=auto\n - breaking-changes: deprecate support for core.commentString=auto\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 Expecting a reroll.\n cf. <b811a0dc-fb49-4f66-a9ae-89a45d7ff104@gmail.com>\n source: <cover.1751983009.git.phillip.wood@dunelm.org.uk>\n\n\n* ps/object-store-midx (2025-07-09) 9 commits\n - midx: remove now-unused linked list of multi-pack indices\n - packfile: stop using linked MIDX list in `get_all_packs()`\n - packfile: stop using linked MIDX list in `find_pack_entry()`\n - packfile: refactor `get_multi_pack_index()` to work on sources\n - midx: track whether we have loaded the MIDX\n - midx: stop using linked list when closing MIDX\n - packfile: refactor `prepare_packed_git_one()` to work on sources\n - midx: start tracking per object database source\n - Merge branch 'ps/object-store' into ps/object-store-midx\n (this branch uses ps/object-store.)\n\n Redefine where the multi-pack-index sits in the object subsystem,\n which recently was restructured to allow multiple backends that\n support a single object source that belongs to one repository.  A\n midx does span mulitple \"object sources\".\n\n Expecting responses.\n source: <20250709-b4-pks-midx-via-odb-alternate-v1-0-f31150d21331@pks.im>\n\n\n* ps/object-file-wo-the-repository (2025-07-09) 20 commits\n - object-file: drop USE_THE_REPOSITORY_VARIABLE\n - environment: move object creation mode into repo settings\n - environment: move compression level into repo settings\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 (this branch uses ps/object-store.)\n\n Reduce implicit assumption and dependence on the_repository in the\n object-file subsystem.\n\n Needs a bit of redoing around the configuration reading.\n cf. <32fceddc-c867-4a47-bde8-c873279edbc1@gmail.com>\n source: <20250709-pks-object-file-wo-the-repository-v1-0-62627b55707f@pks.im>\n\n\n* jk/remote-avoid-overlapping-names (2025-07-08) 1 commit\n  (merged to 'next' on 2025-07-11 at 097c87760a)\n + remote: detect collisions in remote names\n\n \"git remote\" now detects remote names that overlap with each other\n (e.g., remote nickname \"outer\" and \"outer/inner\" are used at the\n same time), as it will lead to overlapping remote-tracking\n branches.\n\n Will merge to 'master'.\n source: <20250708225946.GC1180568@coredump.intra.peff.net>\n\n\n* ps/meson-cleanups (2025-07-08) 7 commits\n  (merged to 'next' on 2025-07-14 at 5fb402f51a)\n + ci: use Meson's new `--slice` option\n + meson: update subproject wrappers\n + meson: fix lookup of shell on MINGW64\n + meson: clean up unnecessary variables\n + meson: improve summary of auto-detected features\n + meson: stop printing 'https' option twice in our summaries\n + meson: stop discovering native version of Python\n\n Meson-based build update.\n\n Will merge to 'master'.\n cf. <87h5zkcbk2.fsf@iotcl.com>\n source: <20250709-b4-pks-meson-cleanups-v3-0-29ab15b9ab85@pks.im>\n\n\n* ua/t1517-short-help-tests (2025-07-06) 7 commits\n - t/t1517: move verify-tag -h test to t1517\n - t/t1517: move verify-commit -h test to t1517\n - t/t1517: move send-pack -h test to t1517\n - t/t1517: move pack-refs -h test to t1517\n - t/t1517: move ls-files -h test to t1517\n - t/t1517: move for-each-ref -h test to t1517\n - t/t1517: move checkout-index -h test to t1517\n\n Test shuffling.\n\n Expecting a reroll.\n cf. <CAPSxiM_ZZrbFpgvxqYgZ8oeTbRs+HW=rM+9Dud0G_Qr7eq3=FA@mail.gmail.com>\n source: <20250706215039.715732-1-usmanakinyemi202@gmail.com>\n\n\n* ag/doc-send-email (2025-06-30) 5 commits\n  (merged to 'next' on 2025-07-09 at cf940e82a1)\n + docs: mention possible options for Proton Mail users\n + docs: add a paragraph explaining the `sendmailCmd` option of sendemail\n + docs: add an OAuth2.0 credential helper for AOL accounts\n + docs: add outlookidfix config option to sendemail documentation\n + docs: link OpenSSL's verify(1) manual page to know about -CAfile and -CApath options\n\n Documentation updates for \"git send-email\".\n\n Will merge to 'master'.\n source: <20250630180511.499-1-gargaditya08@proton.me>\n\n\n* rs/parse-options-precision (2025-07-09) 7 commits\n  (merged to 'next' on 2025-07-09 at aefffa21b7)\n + parse-options: add precision handling for OPTION_COUNTUP\n + parse-options: add precision handling for OPTION_BITOP\n + parse-options: add precision handling for OPTION_NEGBIT\n + parse-options: add precision handling for OPTION_BIT\n + parse-options: add precision handling for OPTION_SET_INT\n + parse-options: add precision handling for PARSE_OPT_CMDMODE\n + parse-options: require PARSE_OPT_NOARG for OPTION_BITOP\n\n Define .precision to more canned parse-options type to avoid bugs\n coming from using a variable with a wrong type to capture the\n parsed values.\n\n Will merge to 'master'.\n source: <802eba72-c100-429a-80b7-7a0e8b6559ed@web.de>\n\n\n* kn/for-each-ref-skip (2025-07-11) 4 commits\n - for-each-ref: introduce a '--start-after' option\n - refs: selectively set prefix in the seek functions\n - ref-cache: remove unused function 'find_ref_entry()'\n - refs: expose `ref_iterator` via 'refs.h'\n\n \"git for-each-ref\" learns \"--skip-until\" option to help\n applications that want to page its output.\n\n Will merge to 'next'.\n cf. <CAP8UFD06KKF0A0WjBSw77A7fKp_pGJGVyw-OPd8-X92h=RSF+w@mail.gmail.com>\n source: <20250711-306-git-for-each-ref-pagination-v4-0-ed3303ad5b89@gmail.com>\n\n\n* tc/last-modified (2025-07-09) 3 commits\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\n Comments?\n source: <20250630-toon-new-blame-tree-v3-0-3516025dc3bc@iotcl.com>\n\n\n* cb/daemon-reap-children (2025-07-10) 2 commits\n - daemon: use sigaction() to install child_handler()\n - compat/mingw: allow sigaction(SIGCHLD)\n\n Futz with SIGCHLD handling in \"git daemon\".\n\n Will merge to 'next'?\n source: <pull.2002.v4.git.git.1752176743.gitgitgadget@gmail.com>\n\n\n* ac/auto-comment-char-fix (2025-06-30) 1 commit\n - commit: avoid scanning trailing comments when 'core.commentChar' is \"auto\"\n\n \"git commit\" that concludes a conflicted merge failed to notice and remove\n existing comment added automatically (like \"# Conflicts:\") when the\n core.commentstring is set to 'auto'.\n\n Expecting a reroll.\n cf. <f22e864e-669d-457c-838e-961bbc977c4b@gmail.com>\n source: <20250630182527.69167-1-ayu.chandekar@gmail.com>\n\n\n* ly/changed-paths-traversal (2025-07-12) 5 commits\n - bloom: optimize multiple pathspec items in revision\n - revision: make helper for pathspec to bloom keyvec\n - bloom: replace struct bloom_key * with struct bloom_keyvec\n - bloom: rename function operates on bloom_key\n - bloom: add test helper to return murmur3 hash\n\n Lift the limitation to use changed-path filter in \"git log\" so that\n it can be used for a pathspec with multiple literal paths.\n\n Will merge to 'next'?\n source: <20250712093517.17907-1-yldhome2d2@gmail.com>\n\n\n* ph/fetch-prune-optim (2025-07-01) 3 commits\n  (merged to 'next' on 2025-07-09 at f0a1daff6a)\n + clean up interface for refs_warn_dangling_symrefs\n + refs: remove old refs_warn_dangling_symref\n + fetch-prune: optimize dangling-ref reporting\n\n \"git fetch --prune\" used to be O(n^2) expensive when there are many\n refs, which has been corrected.\n\n Will merge to 'master'.\n cf. <20250708013612.GB549007@coredump.intra.peff.net>\n source: <20250702011214.2835529-2-phil.hord@gmail.com>\n\n\n* bc/use-sha256-by-default-in-3.0 (2025-07-01) 11 commits\n  (merged to 'next' on 2025-07-11 at 893c183a5f)\n + Enable SHA-256 by default in breaking changes mode\n + help: add a build option for default hash\n + t5300: choose the built-in hash outside of a repo\n + t4042: choose the built-in hash outside of a repo\n + t1007: choose the built-in hash outside of a repo\n + t: default to compile-time default hash if not set\n + setup: use the default algorithm to initialize repo format\n + Use legacy hash for legacy formats\n + builtin: use default hash when outside a repository\n + hash: add a constant for the legacy hash algorithm\n + hash: add a constant for the default hash algorithm\n\n Prepare to flip the default hash function to SHA-256.\n\n Will merge to 'master'.\n source: <20250701212237.766774-1-sandals@crustytoothpaste.net>\n\n\n* lo/repo-info (2025-06-19) 7 commits\n . repo-info: add field layout.shallow\n . repo-info: add field layout.bare\n . repo-info: add the field references.format\n . repo-info: add the --allow-empty flag\n . repo-info: add plaintext as an output format\n . repo-info: add the --format flag\n . repo-info: declare the repo-info command\n\n A new subcommand \"git repo-info\" gives users a way to grab various\n repository characteristics.\n\n Expecting a reroll.\n cf. <0FEC4502-867F-4B9C-B752-376EF9464983@gmail.com>\n source: <20250619225751.99699-1-lucasseikioshiro@gmail.com>\n\n\n* cc/fast-import-export-signature-names (2025-07-09) 1 commit\n - fast-(import|export): improve on commit signature output format\n\n Clean up the way how signature on commit objects are exported to\n and imported from fast-import stream.\n\n Will merge to 'next'?\n source: <20250709141253.623563-1-christian.couder@gmail.com>\n\n\n* ac/deglobal-sparse-variables (2025-06-30) 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\n Two global variables related to sparse checkout have been moved to\n the repository settings structure.\n\n Needs a bit of redoing around the configuration reading.\n cf. <17b7f51c-0c3d-4d63-a501-47ce829f7345@gmail.com>\n cf. <xmqqbjpuqkrj.fsf@gitster.g>\n source: <cover.1751309770.git.ayu.chandekar@gmail.com>\n\n\n* ow/rebase-verify-insn-fmt-before-initializing-state (2025-06-09) 1 commit\n - rebase: write script before initializing state\n\n \"git rebase -i\" with bogus rebase.instructionFormat configuration\n failed to produce the todo file after recording the state files,\n leading to confused \"git status\"; this has been corrected.\n\n Expecting a reroll.\n cf. <7e796844-97e2-4b45-a76e-4c1fcb1da3ae@gmail.com>\n source: <20250609221055.136074-1-oystwa@gmail.com>\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\n\n* ss/compat-bswap-revamp (2025-06-11) 6 commits\n - bswap.h: provide a built-in based version of bswap32/64 if possible\n - bswap.h: remove optimized x86 version of bswap32/64\n - bswap.h: always overwrite ntohl/ntohll macros\n - bswap.h: define GIT_LITTLE_ENDIAN on MSVC as little endian\n - bswap.h: add support for __BYTE_ORDER__\n - Merge branch 'ss/revert-builtin-bswap-stuff' into ss/compat-bswap-revamp\n\n Clean-up compat/bswap.h mess.\n\n Stalled.\n cf. <xmqqo6tv1v1z.fsf@gitster.g>\n source: <20250611221444.1567638-1-sebastian@breakpoint.cc>\n\n\n* ja/doc-git-log-markup (2025-07-07) 9 commits\n - doc: git-log: convert log config to new doc format\n - doc: git-log: convert diff options to new doc format\n - doc: git-log: convert pretty formats to new doc format\n - doc: git-log: convert pretty options to new doc format\n - doc: git-log: convert rev list options to new doc format\n - doc: git-log: convert line range format to new doc format\n - doc: git-log: convert line range options to new doc format\n - doc: git-log convert rev-list-description to new doc format\n - doc: convert git-log to new documentation format\n\n Doc mark-up updates.\n\n Will merge to 'next'.\n source: <pull.1933.v3.git.1751914412.gitgitgadget@gmail.com>\n\n\n* sk/reftable-clarify-tests (2025-06-05) 10 commits\n - t/unit-tests: finalize migration of reftable-related tests\n - t/unit-tests: convert reftable stack test to use clar\n - t/unit-tests: convert reftable record test to use clar\n - t/unit-tests: convert reftable readwrite test to use clar\n - t/unit-tests: convert reftable table test to use clar\n - t/unit-tests: convert reftable pq test to use clar\n - t/unit-tests: convert reftable merged test to use clar\n - t/unit-tests: convert reftable block test to use clar\n - t/unit-tests: convert reftable basics test to use clar test framework\n - t/unit-tests: implement clar specific reftable test helper functions\n\n The reftable unit tests are now ported to the \"clar\" unit testing\n framework.\n\n Expecting a reroll.\n cf. <xmqqikla86id.fsf@gitster.g>\n source: <20250605140644.239199-1-kuforiji98@gmail.com>\n\n\n* ly/load-bitmap-leakfix (2025-06-30) 3 commits\n  (merged to 'next' on 2025-07-08 at 6e6d182a8c)\n + pack-bitmap: add load corrupt bitmap test\n + pack-bitmap: reword comments in test_bitmap_commits()\n + pack-bitmap: fix memory leak if load_bitmap() failed\n\n Leakfix with a new and a bit invasive test.\n\n Will merge to 'master'.\n cf. <aG2XZYamUv5FWq/W@nand.local>\n source: <pull.1962.v6.git.git.1751347929.gitgitgadget@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-06-07) 2 commits\n - submodule: skip redundant active entries when pattern covers path\n - submodule: prevent overwriting .gitmodules entry 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 What's the status of this one?\n cf. <xmqq4ivn3a1w.fsf@gitster.g>\n source: <20250608032705.11990-1-jayatheerthkulkarni2005@gmail.com>\n\n\n* lm/add-p-context (2025-06-28) 4 commits\n - add-patch: add diff.context command line overrides\n - add-patch: respect diff.context configuration\n - test: use \"test_config\"\n - test: use \"test_grep\"\n\n \"git add/etc -p\" now honors diff.context configuration variable,\n and learns to honor -U<n> option.\n\n Expecting responses.\n cf. <xmqqms9eql73.fsf@gitster.g>\n source: <pull.1915.v3.git.1751128486.gitgitgadget@gmail.com>\n\n\n* ps/object-store (2025-07-01) 17 commits\n  (merged to 'next' on 2025-07-07 at e19db55858)\n + odb: rename `read_object_with_reference()`\n + odb: rename `pretend_object_file()`\n + odb: rename `has_object()`\n + odb: rename `repo_read_object_file()`\n + odb: rename `oid_object_info()`\n + odb: trivial refactorings to get rid of `the_repository`\n + odb: get rid of `the_repository` when handling submodule sources\n + odb: get rid of `the_repository` when handling the primary source\n + odb: get rid of `the_repository` in `for_each()` functions\n + odb: get rid of `the_repository` when handling alternates\n + odb: get rid of `the_repository` in `odb_mkstemp()`\n + odb: get rid of `the_repository` in `assert_oid_type()`\n + odb: get rid of `the_repository` in `find_odb()`\n + odb: introduce parent pointers\n + object-store: rename files to \"odb.{c,h}\"\n + object-store: rename `object_directory` to `odb_source`\n + object-store: rename `raw_object_store` to `object_database`\n (this branch is used by ps/object-file-wo-the-repository and ps/object-store-midx.)\n\n Code clean-up around object access API.\n\n Will merge to 'master'.\n source: <20250701-pks-object-store-wo-the-repository-v6-0-dbf3894ab4e2@pks.im>\n\n\n* cc/promisor-remote-capability (2025-06-25) 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 What's the status of this one?\n cf. <xmqqzfdf1ve9.fsf@gitster.g>\n source: <20250625125055.1375596-1-christian.couder@gmail.com>\n\n\n* tb/midx-avoid-cruft-packs (2025-06-23) 9 commits\n  (merged to 'next' on 2025-07-11 at 3fc02a8a1a)\n + repack: exclude cruft pack(s) from the MIDX where possible\n + pack-objects: introduce '--stdin-packs=follow'\n + pack-objects: swap 'show_{object,commit}_pack_hint'\n + pack-objects: fix typo in 'show_object_pack_hint()'\n + pack-objects: perform name-hash traversal for unpacked objects\n + pack-objects: declare 'rev_info' for '--stdin-packs' earlier\n + pack-objects: factor out handling '--stdin-packs'\n + pack-objects: limit scope in 'add_object_entry_from_pack()'\n + pack-objects: use standard option incompatibility functions\n\n \"pack-objects\" has been taught to avoid pointing into objects in\n cruft packs from midx.\n\n Will merge to 'master'.\n source: <cover.1750717921.git.me@ttaylorr.com>\n"},{"id":"521975","messageId":"CAOLa=ZTtgQqMZLNL0jLfVMWaSgn7-APt_NYVpJTj4zz54kXH-A@mail.gmail.com","threadId":"63794","inReplyTo":"xmqqa556sddb.fsf@gitster.g","subject":"Re: What's cooking in git.git (Jul 2025, #04; Mon, 14)","fromName":"Karthik Nayak","fromEmail":"karthik.188@gmail.com","sentAt":"2025-07-15T11:29:35Z","receivedAt":"2025-07-15T11:29:38Z","isPatch":false,"sender":{"key":"karthik.188@gmail.com","avatar":"https://avatars.githubusercontent.com/u/1786334?v=4"},"body":"Junio C Hamano <gitster@pobox.com> writes:\n\n> * kn/for-each-ref-skip (2025-07-11) 4 commits\n>  - for-each-ref: introduce a '--start-after' option\n>  - refs: selectively set prefix in the seek functions\n>  - ref-cache: remove unused function 'find_ref_entry()'\n>  - refs: expose `ref_iterator` via 'refs.h'\n>\n>  \"git for-each-ref\" learns \"--skip-until\" option to help\n>  applications that want to page its output.\n>\n>  Will merge to 'next'.\n>  cf. <CAP8UFD06KKF0A0WjBSw77A7fKp_pGJGVyw-OPd8-X92h=RSF+w@mail.gmail.com>\n>  source: <20250711-306-git-for-each-ref-pagination-v4-0-ed3303ad5b89@gmail.com>\n>\n\nChristian left some comments, so I've pushed a new version here.\n\n[snip]\n"},{"id":"521991","messageId":"hm5m7i3vyzimr7afq47uitxl2la2obgetg6arks2mvgafekjfw@ppfqnb5ercsn","threadId":"63794","inReplyTo":"xmqqa556sddb.fsf@gitster.g","subject":"Re: What's cooking in git.git (Jul 2025, #04; Mon, 14)","fromName":"Carlo Marcelo Arenas Belón","fromEmail":"carenas@gmail.com","sentAt":"2025-07-15T13:16:09Z","receivedAt":"2025-07-15T13:16:12Z","isPatch":false,"sender":{"key":"carenas@gmail.com","avatar":"https://avatars.githubusercontent.com/u/76036?v=4"},"body":"On Mon, Jul 14, 2025 at 01:53:36PM -0800, Junio C Hamano wrote:\n> \n> * bs/config-mak-freebsd (2025-07-02) 2 commits\n>   (merged to 'next' on 2025-07-07 at d6761aa225)\n>  + build: retire NO_UINTMAX_T\n>  + config.mak.uname: set NO_MEMMEM only for functional version\n> \n>  Drop FreeBSD 4 support and assume we are at least at FreeBSD 6 with\n>  memmem() supported.\n>  \n>  source: <20250702093736.36074-1-carenas@gmail.com>\n\nApologies for not mentioning earlier, but the minimum version of\nFreeBSD supported with memmem() by this patch is 12, not 6.\n\n> * cb/meson-avoid-broken-macos-pcre2 (2025-07-13) 1 commit\n>  - meson: disable PCRE2 dependency by default in macOS\n> \n>  Build fix for macOS.\n> \n>  Will merge to 'next'.\n>  source: <20250713174807.32444-1-carenas@gmail.com>\n\nBetter hold, as there is a better option posted with a v4 in\n20250715114407.37955-1-carenas@gmail.com but more importantly\nthe discussion is still open and might require further changes.\n\nCarlo\n"},{"id":"522016","messageId":"xmqqa555icar.fsf@gitster.g","threadId":"63794","inReplyTo":"CAOLa=ZTtgQqMZLNL0jLfVMWaSgn7-APt_NYVpJTj4zz54kXH-A@mail.gmail.com","subject":"Re: What's cooking in git.git (Jul 2025, #04; Mon, 14)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2025-07-15T17:39:08Z","receivedAt":"2025-07-15T17:39:11Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Karthik Nayak <karthik.188@gmail.com> writes:\n\n> Junio C Hamano <gitster@pobox.com> writes:\n>\n>> * kn/for-each-ref-skip (2025-07-11) 4 commits\n>>  - for-each-ref: introduce a '--start-after' option\n>>  - refs: selectively set prefix in the seek functions\n>>  - ref-cache: remove unused function 'find_ref_entry()'\n>>  - refs: expose `ref_iterator` via 'refs.h'\n>>\n>>  \"git for-each-ref\" learns \"--skip-until\" option to help\n>>  applications that want to page its output.\n>>\n>>  Will merge to 'next'.\n>>  cf. <CAP8UFD06KKF0A0WjBSw77A7fKp_pGJGVyw-OPd8-X92h=RSF+w@mail.gmail.com>\n>>  source: <20250711-306-git-for-each-ref-pagination-v4-0-ed3303ad5b89@gmail.com>\n>>\n>\n> Christian left some comments, so I've pushed a new version here.\n\nThanks, will take a look.\n"},{"id":"522017","messageId":"xmqq5xftic3p.fsf@gitster.g","threadId":"63794","inReplyTo":"hm5m7i3vyzimr7afq47uitxl2la2obgetg6arks2mvgafekjfw@ppfqnb5ercsn","subject":"Re: What's cooking in git.git (Jul 2025, #04; Mon, 14)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2025-07-15T17:43:22Z","receivedAt":"2025-07-15T17:43:25Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Carlo Marcelo Arenas Belón <carenas@gmail.com> writes:\n\n> On Mon, Jul 14, 2025 at 01:53:36PM -0800, Junio C Hamano wrote:\n>> \n>> * bs/config-mak-freebsd (2025-07-02) 2 commits\n>>   (merged to 'next' on 2025-07-07 at d6761aa225)\n>>  + build: retire NO_UINTMAX_T\n>>  + config.mak.uname: set NO_MEMMEM only for functional version\n>> \n>>  Drop FreeBSD 4 support and assume we are at least at FreeBSD 6 with\n>>  memmem() supported.\n>>  \n>>  source: <20250702093736.36074-1-carenas@gmail.com>\n>\n> Apologies for not mentioning earlier, but the minimum version of\n> FreeBSD supported with memmem() by this patch is 12, not 6.\n\nThanks, I realized the same and updated the draft release notes with\nthat ;-)\n\n>> * cb/meson-avoid-broken-macos-pcre2 (2025-07-13) 1 commit\n>>  - meson: disable PCRE2 dependency by default in macOS\n>> \n>>  Build fix for macOS.\n>> \n>>  Will merge to 'next'.\n>>  source: <20250713174807.32444-1-carenas@gmail.com>\n>\n> Better hold, as there is a better option posted with a v4 in\n> 20250715114407.37955-1-carenas@gmail.com but more importantly\n> the discussion is still open and might require further changes.\n\nAgain, thanks.  I saw the exchange and your latest round with Eli's\ninput is what I'll be queuing for today's integration cycle, without\nmerging it down to 'next' just yet.\n\n"}]}