{"thread":{"id":"63805","subject":"What's cooking in git.git (Jul 2025, #05; Thu, 17)","startedAt":"2025-07-18T00:41:38Z","lastAt":"2025-07-18T08:55:20Z","messageCount":2,"participants":["Junio C Hamano","René Scharfe"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"522269","messageId":"xmqqo6ti49fk.fsf@gitster.g","threadId":"63805","inReplyTo":null,"subject":"What's cooking in git.git (Jul 2025, #05; Thu, 17)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2025-07-18T00:41:35Z","receivedAt":"2025-07-18T00:41:38Z","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* 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 source: <20250630180511.499-1-gargaditya08@proton.me>\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 cf. <aG2XZYamUv5FWq/W@nand.local>\n source: <pull.1962.v6.git.git.1751347929.gitgitgadget@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 cf. <20250708013612.GB549007@coredump.intra.peff.net>\n source: <20250702011214.2835529-2-phil.hord@gmail.com>\n\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 source: <20250708-b4-pks-pack-refs-document-files-heuristic-v1-1-e28d65a94573@pks.im>\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 source: <20250701-pks-object-store-wo-the-repository-v6-0-dbf3894ab4e2@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 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 source: <20250708-b4-pks-t1006-fix-tap-format-v1-1-c3f837448364@pks.im>\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 source: <802eba72-c100-429a-80b7-7a0e8b6559ed@web.de>\n\n--------------------------------------------------\n[New Topics]\n\n* kl/test-installed-fix (2025-07-15) 2 commits\n  (merged to 'next' on 2025-07-16 at 512176f26c)\n + test-lib: respect GIT_TEST_INSTALLED when querying default hash\n + Merge branch 'bc/use-sha256-by-default-in-3.0' into kl/test-installed-fix\n (this branch uses bc/use-sha256-by-default-in-3.0.)\n\n GIT_TEST_INSTALLED was not honored in the recent topic related to\n SHA256 hashes, which has been corrected.\n\n Will merge to 'master'.\n source: <pull.2011.git.git.1752605874596.gitgitgadget@gmail.com>\n\n\n* pw/config-kvi-remove-path (2025-07-15) 1 commit\n  (merged to 'next' on 2025-07-16 at 3203507b49)\n + config: remove unneeded struct field\n\n Remove a redundant member from kvi struct.\n\n Will merge to 'master'.\n source: <31724ce432b19088b7c7643654788d8e712b3193.1752588042.git.phillip.wood@dunelm.org.uk>\n\n\n* rs/pop-recent-commit-with-prio-queue (2025-07-16) 4 commits\n - fixup! commit: convert pop_most_recent_commit() to prio_queue\n - commit: use prio_queue_replace() in pop_most_recent_commit()\n - prio-queue: add prio_queue_replace()\n - commit: convert pop_most_recent_commit() to prio_queue\n\n The pop_most_recent_commit() function can have quite expensive\n worst case performance characteristics, which has been optimized by\n using prio-queue data structure.\n\n Will merge to 'next', after squashing the fixup in?\n source: <bc079b3c-a472-4f5d-95ca-390f9de25196@web.de>\n\n\n* bc/contribution-under-non-real-names (2025-07-15) 1 commit\n  (merged to 'next' on 2025-07-16 at 6ba607880d)\n + SubmittingPatches: allow non-real name contributions\n\n Document that we do not require \"real\" name when signing your\n patches off.\n\n Will merge to 'master'.\n source: <20250716002523.1392423-1-sandals@crustytoothpaste.net>\n\n\n* jc/ci-print-test-failures-fix (2025-07-16) 1 commit\n - ci: allow github-actions print test failures again\n\n CI fix.\n\n Comments?\n source: <xmqqa553alp1.fsf_-_@gitster.g>\n\n\n* rj/meson-libexecdir-fix (2025-07-15) 2 commits\n  (merged to 'next' on 2025-07-16 at 36c2be9510)\n + po/meson.build: add missing 'ga' language code\n + meson: fix installation when -Dlibexexdir is set\n\n Meson-based build did not handle libexecdir setting correctly,\n which has been corrected.\n\n Will merge to 'master'.\n source: <20250715233239.1539780-1-ramsay@ramsayjones.plus.com>\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 source: <pull.1941.v2.git.1752716054.gitgitgadget@gmail.com>\n\n\n* ps/config-wo-the-repository (2025-07-17) 22 commits\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 uses bc/use-sha256-by-default-in-3.0.)\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\n Will merge to 'next'?\n source: <20250717-pks-config-wo-the-repository-v1-0-d888e4a17de1@pks.im>\n\n--------------------------------------------------\n[Cooking]\n\n* ps/sane-ctype-workaround (2025-07-09) 1 commit\n  (merged to 'next' on 2025-07-15 at 21b79228e3)\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 'master'.\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-16) 1 commit\n - meson: work around broken system PCRE2 dependency in macOS\n\n Build fix for macOS.\n\n Still in flux.\n source: <20250716193000.44673-1-carenas@gmail.com>\n\n\n* jb/gpg-program-variable-is-a-pathname (2025-07-11) 1 commit\n  (merged to 'next' on 2025-07-14 at b23aee3cb1)\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 'master'.\n source: <20250711232348.460804-1-jonas.brandstoetter@gmx.at>\n\n\n* pw/adopt-c99-bool-officially (2025-07-16) 3 commits\n  (merged to 'next' on 2025-07-16 at 62afce02b7)\n + strbuf: convert predicates to return bool\n + git-compat-util: convert string predicates to return bool\n + CodingGuidelines: 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 Will merge to 'master'.\n source: <cover.1752658700.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* 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-15) 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: 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 'tb/midx-avoid-cruft-packs' into ps/object-store-midx\n - Merge branch 'ps/object-store' into ps/object-store-midx\n (this branch uses tb/midx-avoid-cruft-packs.)\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 Comments?\n source: <20250715-b4-pks-midx-via-odb-alternate-v2-0-b0ca0b4b516e@pks.im>\n\n\n* ps/object-file-wo-the-repository (2025-07-16) 17 commits\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 source: <20250717-pks-object-file-wo-the-repository-v2-0-36d2cd6c700e@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* kn/for-each-ref-skip (2025-07-15) 5 commits\n  (merged to 'next' on 2025-07-15 at 4ea3c74afd)\n + for-each-ref: introduce a '--start-after' option\n + ref-filter: remove unnecessary else clause\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 'master'.\n cf. <CAP8UFD06KKF0A0WjBSw77A7fKp_pGJGVyw-OPd8-X92h=RSF+w@mail.gmail.com>\n source: <20250715-306-git-for-each-ref-pagination-v5-0-852d5a2f56e1@gmail.com>\n\n\n* tc/last-modified (2025-07-16) 5 commits\n - last-modified: support --extended format\n - pretty: allow caller to disable indentation\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: <20250716133206.1787549-1-toon@iotcl.com>\n\n\n* cb/daemon-reap-children (2025-07-10) 2 commits\n  (merged to 'next' on 2025-07-14 at a3574350ff)\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 'master'.\n source: <pull.2002.v4.git.git.1752176743.gitgitgadget@gmail.com>\n\n\n* ac/auto-comment-char-fix (2025-07-16) 2 commits\n - config: set comment_line_str to \"#\" when core.commentChar=auto\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 Will merge to 'next'.\n source: <cover.1752665506.git.ayu.chandekar@gmail.com>\n\n\n* ly/changed-paths-traversal (2025-07-14) 5 commits\n  (merged to 'next' on 2025-07-15 at 45fdb67b92)\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 'master'.\n source: <20250712093517.17907-1-yldhome2d2@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 (this branch is used by kl/test-installed-fix and ps/config-wo-the-repository.)\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-07-14) 4 commits\n - repo: add field layout.shallow\n - repo: add 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 source: <20250714235231.10137-1-lucasseikioshiro@gmail.com>\n\n\n* cc/fast-import-export-signature-names (2025-07-09) 1 commit\n  (merged to 'next' on 2025-07-15 at a6a173da68)\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 'master'.\n cf. <CABPp-BHM5afgiUf7GsTPWmrf_tm6mWnvHWMKiZPxApJzN-U8gg@mail.gmail.com>\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 (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 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-07-15) 6 commits\n  (merged to 'next' on 2025-07-16 at c8713eca28)\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 Will merge to 'master'.\n cf. <aHbX4hIKbjO6h1R5@fruit.crustytoothpaste.net>\n source: <20250715191230.12081-1-sebastian@breakpoint.cc>\n\n\n* ja/doc-git-log-markup (2025-07-07) 9 commits\n  (merged to 'next' on 2025-07-14 at 8eb14e9306)\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 'master'.\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* 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* 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 (this branch is used by ps/object-store-midx.)\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":"522271","messageId":"d0e9826d-a972-47ca-ab69-f1711efa4a74@web.de","threadId":"63805","inReplyTo":"xmqqo6ti49fk.fsf@gitster.g","subject":"Re: What's cooking in git.git (Jul 2025, #05; Thu, 17)","fromName":"René Scharfe","fromEmail":"l.s.r@web.de","sentAt":"2025-07-18T08:55:10Z","receivedAt":"2025-07-18T08:55:20Z","isPatch":false,"sender":{"key":"l.s.r@web.de","avatar":"https://avatars.githubusercontent.com/u/26122331?v=4"},"body":"On 7/18/25 2:41 AM, Junio C Hamano wrote:\n> * rs/pop-recent-commit-with-prio-queue (2025-07-16) 4 commits\n>  - fixup! commit: convert pop_most_recent_commit() to prio_queue\n>  - commit: use prio_queue_replace() in pop_most_recent_commit()\n>  - prio-queue: add prio_queue_replace()\n>  - commit: convert pop_most_recent_commit() to prio_queue\n> \n>  The pop_most_recent_commit() function can have quite expensive\n>  worst case performance characteristics, which has been optimized by\n>  using prio-queue data structure.\n> \n>  Will merge to 'next', after squashing the fixup in?\n>  source: <bc079b3c-a472-4f5d-95ca-390f9de25196@web.de>\nWill send v2 shortly to address the feedback so far.  Pondering whether\nto make the replace optimization implicit (no longer requiring\nprio_queue_replace()), but that's probably worth a new series.\n\nRené\n\n"}]}