From: Junio C Hamano Date: Thu, 17 Jul 2025 21:18:38 +0000 (-0700) Subject: What's cooking (2025/07 #05) X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=57d47ee7bb2bed80e83d1f51c063b62bd9369b59;p=thirdparty%2Fgit.git What's cooking (2025/07 #05) --- diff --git a/whats-cooking.txt b/whats-cooking.txt index dfa8fefb1f..690a1d577f 100644 --- a/whats-cooking.txt +++ b/whats-cooking.txt @@ -1,10 +1,10 @@ To: git@vger.kernel.org -Subject: What's cooking in git.git (Jul 2025, #04; Mon, 14) -X-master-at: d30e120486c5e0632d97f3cba79c03efb6dbb3cb -X-next-at: e9779f64349fbcc8d177d055208039877316e652 +Subject: What's cooking in git.git (Jul 2025, #05; Thu, 17) +X-master-at: 90c0775e972847832ac8dfa6a14bc4c3abacd914 +X-next-at: 6ba607880dc2bbf7e13e5734880ce0f9b87d2670 Bcc: lwn@lwn.net, gitster@pobox.com -What's cooking in git.git (Jul 2025, #04; Mon, 14) +What's cooking in git.git (Jul 2025, #05; Thu, 17) -------------------------------------------------- Here are the topics that have been cooking in my tree. Commits @@ -48,198 +48,235 @@ Release tarballs are available at: -------------------------------------------------- [Graduated to 'master'] -* ac/prune-wo-the-repository (2025-07-04) 2 commits - (merged to 'next' on 2025-07-07 at 3dd296a911) - + builtin/prune: stop depending on 'the_repository' - + repository: move 'repository_format_precious_objects' to repo scope - - Some code paths in the "git prune" used to ignore passed in - repository object and used the_repository singleton instance - instead, which has been corrected. - - source: - +* ag/doc-send-email (2025-06-30) 5 commits + (merged to 'next' on 2025-07-09 at cf940e82a1) + + docs: mention possible options for Proton Mail users + + docs: add a paragraph explaining the `sendmailCmd` option of sendemail + + docs: add an OAuth2.0 credential helper for AOL accounts + + docs: add outlookidfix config option to sendemail documentation + + docs: link OpenSSL's verify(1) manual page to know about -CAfile and -CApath options -* bs/config-mak-freebsd (2025-07-02) 2 commits - (merged to 'next' on 2025-07-07 at d6761aa225) - + build: retire NO_UINTMAX_T - + config.mak.uname: set NO_MEMMEM only for functional version + Documentation updates for "git send-email". + source: <20250630180511.499-1-gargaditya08@proton.me> - Drop FreeBSD 4 support and assume we are at least at FreeBSD 6 with - memmem() supported. - - source: <20250702093736.36074-1-carenas@gmail.com> +* ly/load-bitmap-leakfix (2025-06-30) 3 commits + (merged to 'next' on 2025-07-08 at 6e6d182a8c) + + pack-bitmap: add load corrupt bitmap test + + pack-bitmap: reword comments in test_bitmap_commits() + + pack-bitmap: fix memory leak if load_bitmap() failed -* bs/remote-helpers-doc-markup-fix (2025-07-02) 1 commit - (merged to 'next' on 2025-07-07 at 60c2a47d1b) - + gitremote-helpers.adoc: fix formatting + Leakfix with a new and a bit invasive test. + cf. + source: - Docfix. - - source: <20250702161951.22908-2-bacs@librecast.net> +* ph/fetch-prune-optim (2025-07-01) 3 commits + (merged to 'next' on 2025-07-09 at f0a1daff6a) + + clean up interface for refs_warn_dangling_symrefs + + refs: remove old refs_warn_dangling_symref + + fetch-prune: optimize dangling-ref reporting -* cb/total-ram-bsd-fix (2025-07-07) 1 commit - (merged to 'next' on 2025-07-07 at d9a7ca747c) - + builtin/gc: correct total_ram calculation with HAVE_BSD_SYSCTL + "git fetch --prune" used to be O(n^2) expensive when there are many + refs, which has been corrected. + cf. <20250708013612.GB549007@coredump.intra.peff.net> + source: <20250702011214.2835529-2-phil.hord@gmail.com> - Use of sysctl() system call to learn the total RAM size used on - BSDs has been corrected. - - source: <20250707164518.6600-1-carenas@gmail.com> +* ps/doc-pack-refs-auto-with-files-backend-fix (2025-07-08) 1 commit + (merged to 'next' on 2025-07-09 at 200b4b24a8) + + docs/git-pack-refs: document heuristic used for packing loose refs -* hy/read-cache-lock-error-fix (2025-07-03) 1 commit - (merged to 'next' on 2025-07-07 at a97a188a9e) - + read-cache: report lock error when refreshing index + Doc update. + source: <20250708-b4-pks-pack-refs-document-files-heuristic-v1-1-e28d65a94573@pks.im> - A failure to open the index file for writing due to conflicting - access did not state what went wrong, which has been corrected. - - source: <20250703074502.45593-1-hanyang.tony@bytedance.com> +* ps/object-store (2025-07-01) 17 commits + (merged to 'next' on 2025-07-07 at e19db55858) + + odb: rename `read_object_with_reference()` + + odb: rename `pretend_object_file()` + + odb: rename `has_object()` + + odb: rename `repo_read_object_file()` + + odb: rename `oid_object_info()` + + odb: trivial refactorings to get rid of `the_repository` + + odb: get rid of `the_repository` when handling submodule sources + + odb: get rid of `the_repository` when handling the primary source + + odb: get rid of `the_repository` in `for_each()` functions + + odb: get rid of `the_repository` when handling alternates + + odb: get rid of `the_repository` in `odb_mkstemp()` + + odb: get rid of `the_repository` in `assert_oid_type()` + + odb: get rid of `the_repository` in `find_odb()` + + odb: introduce parent pointers + + object-store: rename files to "odb.{c,h}" + + object-store: rename `object_directory` to `odb_source` + + object-store: rename `raw_object_store` to `object_database` + (this branch is used by ps/object-file-wo-the-repository and ps/object-store-midx.) -* jc/coccicheck-fails-make-when-it-fails (2025-06-23) 1 commit - (merged to 'next' on 2025-07-07 at 0b7affe7cd) - + coccicheck: fail "make" when it fails + Code clean-up around object access API. + source: <20250701-pks-object-store-wo-the-repository-v6-0-dbf3894ab4e2@pks.im> - "make coccicheck" succeeds even when spatch made suggestions, which - has been updated to fail in such a case. - - source: +* ps/refs-files-remove-empty-parent (2025-07-08) 1 commit + (merged to 'next' on 2025-07-09 at f726af7117) + + refs/files: remove empty parent dirs when ref creation fails -* jk/all-negative-diff-filter-fix (2025-07-03) 1 commit - (merged to 'next' on 2025-07-07 at 139dd3db75) - + setup_revisions(): turn on diffs for all-negative diff filter + When a ref creation at refs/heads/foo/bar fails, the files backend + now removes refs/heads/foo/ if the directory is otherwise not used. + source: <20250708-b4-pks-reffiles-prune-empty-dirs-on-abort-v1-1-3bae02e4f034@pks.im> - A diff-filter with negative-only specification like "git log - --diff-filter=d" did not trigger correctly, which has been fixed. - - source: <20250703224428.GB1909836@coredump.intra.peff.net> +* ps/t1006-tap-fix (2025-07-08) 1 commit + (merged to 'next' on 2025-07-09 at bbed1acc2a) + + t1006: fix broken TAP format -* kh/doc-config-subcommands (2025-07-01) 5 commits - (merged to 'next' on 2025-07-07 at b0db48b397) - + config: mention --url in the synopsis - + config: use --value instead of value-pattern - + config: document --[no-]value - + config: use --value= consistently - + config: document --[no-]show-names + Test fix. + source: <20250708-b4-pks-t1006-fix-tap-format-v1-1-c3f837448364@pks.im> - Documentation updates. - - source: +* rs/parse-options-precision (2025-07-09) 7 commits + (merged to 'next' on 2025-07-09 at aefffa21b7) + + parse-options: add precision handling for OPTION_COUNTUP + + parse-options: add precision handling for OPTION_BITOP + + parse-options: add precision handling for OPTION_NEGBIT + + parse-options: add precision handling for OPTION_BIT + + parse-options: add precision handling for OPTION_SET_INT + + parse-options: add precision handling for PARSE_OPT_CMDMODE + + parse-options: require PARSE_OPT_NOARG for OPTION_BITOP -* kn/clang-format-updates (2025-07-02) 3 commits - (merged to 'next' on 2025-07-07 at 0b0770e97a) - + meson: add rule to run 'git clang-format' - + clang-format: add 'RemoveBracesLLVM' to the main config - + clang-format: set 'ColumnLimit' to 0 + Define .precision to more canned parse-options type to avoid bugs + coming from using a variable with a wrong type to capture the + parsed values. + source: <802eba72-c100-429a-80b7-7a0e8b6559ed@web.de> - Update ".clang-format" and ".editorconfig" to match our style guide - a bit better. - - source: <20250702-525-make-clang-format-more-robust-v3-0-705344f30580@gmail.com> +-------------------------------------------------- +[New Topics] +* kl/test-installed-fix (2025-07-15) 2 commits + (merged to 'next' on 2025-07-16 at 512176f26c) + + test-lib: respect GIT_TEST_INSTALLED when querying default hash + + Merge branch 'bc/use-sha256-by-default-in-3.0' into kl/test-installed-fix + (this branch uses bc/use-sha256-by-default-in-3.0.) -* mc/netrc-service-names (2025-06-25) 3 commits - (merged to 'next' on 2025-07-07 at e98100afdd) - + contrib: better support symbolic port names in git-credential-netrc - + contrib: warn for invalid netrc file ports in git-credential-netrc - + contrib: use a more portable shebang for git-credential-netrc + GIT_TEST_INSTALLED was not honored in the recent topic related to + SHA256 hashes, which has been corrected. - "netrc" credential helper has been improved to understand textual - service names (like smtp) in addition to the numeric port numbers - (like 25). - - source: <20250625142511.28857-1-maxim@guixotic.coop> + Will merge to 'master'. + source: -* ps/perlless-test-fixes (2025-07-07) 2 commits - (merged to 'next' on 2025-07-07 at 2c56966ff8) - + t5333: fix missing terminator for sed(1) 's' command - + t4150: fix warning printed by awk due to escaped '\@' +* pw/config-kvi-remove-path (2025-07-15) 1 commit + (merged to 'next' on 2025-07-16 at 3203507b49) + + config: remove unneeded struct field - Test fixes. - - source: <20250707-b4-pks-t-perlless-fixes-v1-0-92b2de1c3dd0@pks.im> + Remove a redundant member from kvi struct. + Will merge to 'master'. + source: <31724ce432b19088b7c7643654788d8e712b3193.1752588042.git.phillip.wood@dunelm.org.uk> -* ps/use-reftable-as-default-in-3.0 (2025-07-04) 2 commits - (merged to 'next' on 2025-07-07 at 3f3402f221) - + setup: use "reftable" format when experimental features are enabled - + BreakingChanges: announce switch to "reftable" format - The reftable ref backend has matured enough; Git 3.0 will make it - the default format in a newly created repositories by default. - - source: <20250704-pks-reftable-default-backend-v3-0-a1eb63e8442a@pks.im> +* rs/pop-recent-commit-with-prio-queue (2025-07-16) 4 commits + - fixup! commit: convert pop_most_recent_commit() to prio_queue + - commit: use prio_queue_replace() in pop_most_recent_commit() + - prio-queue: add prio_queue_replace() + - commit: convert pop_most_recent_commit() to prio_queue + The pop_most_recent_commit() function can have quite expensive + worst case performance characteristics, which has been optimized by + using prio-queue data structure. -* re/ssh-sign-buffer-fix (2025-07-07) 1 commit - (merged to 'next' on 2025-07-07 at 36dad3e4dc) - + ssh signing: don't detach the filename strbuf from key_file tempfile + Will merge to 'next', after squashing the fixup in? + source: - Tempfile removal fix in the codepath to sign commits with SSH keys. - - source: <20250707184852.16010-1-redoste@redoste.xyz> +* bc/contribution-under-non-real-names (2025-07-15) 1 commit + (merged to 'next' on 2025-07-16 at 6ba607880d) + + SubmittingPatches: allow non-real name contributions -* rj/freebsd-sysinfo-build-fix (2025-07-04) 1 commit - (merged to 'next' on 2025-07-07 at bc4cbfd76d) - + build: fix FreeBSD build when sysinfo compat library installed + Document that we do not require "real" name when signing your + patches off. - Build fix for FreeBSD. - - source: + Will merge to 'master'. + source: <20250716002523.1392423-1-sandals@crustytoothpaste.net> -* rp/apply-intent-to-add-fix (2025-07-07) 4 commits - (merged to 'next' on 2025-07-07 at 957e3fd081) - + apply docs: clarify wording for --intent-to-add - + t4140: test apply --intent-to-add interactions - + apply: only write intents to add for new files - + apply: read in the index in --intent-to-add mode +* jc/ci-print-test-failures-fix (2025-07-16) 1 commit + - ci: allow github-actions print test failures again - "git apply -N" should start from the current index and register - only new files, but it instead started from an empty index, which - has been corrected. - - source: <20250707121534.2933349-1-ray@ameretat.dev> + CI fix. + Comments? + source: -* sj/string-list (2025-06-28) 8 commits - (merged to 'next' on 2025-07-07 at 5a95dc8007) - + u-string-list: move "remove duplicates" test to "u-string-list.c" - + u-string-list: move "filter string" test to "u-string-list.c" - + u-string-list: move "test_split_in_place" to "u-string-list.c" - + u-string-list: move "test_split" into "u-string-list.c" - + string-list: enable sign compare warnings check - + string-list: return index directly when inserting an existing element - + string-list: remove unused "insert_at" parameter from add_entry - + string-list: fix sign compare warnings for loop iterator - Code and test clean-up around string-list API. - - source: +* rj/meson-libexecdir-fix (2025-07-15) 2 commits + (merged to 'next' on 2025-07-16 at 36c2be9510) + + po/meson.build: add missing 'ga' language code + + meson: fix installation when -Dlibexexdir is set + Meson-based build did not handle libexecdir setting correctly, + which has been corrected. -* ts/merge-orig-head-doc-fix (2025-07-05) 1 commit - (merged to 'next' on 2025-07-07 at 08f4a573e5) - + docs: correct ORIG_HEAD example in "git merge" documentation + Will merge to 'master'. + source: <20250715233239.1539780-1-ramsay@ramsayjones.plus.com> + + +* ds/sparse-checkout-clean (2025-07-16) 9 commits + - sparse-checkout: make 'clean' clear more files + - t: expand tests around sparse merges and clean + - sparse-index: point users to new 'clean' action + - sparse-checkout: add --verbose option to 'clean' + - dir: add generic "walk all files" helper + - sparse-checkout: match some 'clean' behavior + - sparse-checkout: add basics of 'clean' command + - sparse-checkout: remove use of the_repository + - Merge branch 'ac/deglobal-sparse-variables' into ds/sparse-checkout-clean + (this branch uses ac/deglobal-sparse-variables.) + + "git sparse-checkout" subcommand learned a new "clean" action to + prune otherwise unused working-tree files that are outside the + areas of interest. + + source: + + +* ps/config-wo-the-repository (2025-07-17) 22 commits + - config: fix sign comparison warnings + - config: move Git config parsing into "environment.c" + - config: remove unused `the_repository` wrappers + - config: drop `git_config_set_multivar()` wrapper + - config: drop `git_config_get_multivar_gently()` wrapper + - config: drop `git_config_set_multivar_in_file_gently()` wrapper + - config: drop `git_config_set_in_file_gently()` wrapper + - config: drop `git_config_set()` wrapper + - config: drop `git_config_set_gently()` wrapper + - config: drop `git_config_set_in_file()` wrapper + - config: drop `git_config_get_bool()` wrapper + - config: drop `git_config_get_ulong()` wrapper + - config: drop `git_config_get_int()` wrapper + - config: drop `git_config_get_string()` wrapper + - config: drop `git_config_get_string()` wrapper + - config: drop `git_config_get_string_multi()` wrapper + - config: drop `git_config_get_value()` wrapper + - config: drop `git_config_get_value()` wrapper + - config: drop `git_config_get()` wrapper + - config: drop `git_config_clear()` wrapper + - config: drop `git_config()` wrapper + - Merge branch 'bc/use-sha256-by-default-in-3.0' into ps/config-wo-the-repository + (this branch uses bc/use-sha256-by-default-in-3.0.) + + The config API had a set of convenience wrapper functions that + implicitly use the_repository instance; they have been removed and + inlined at the calling sites. - Doc fix. - - source: + Will merge to 'next'? + source: <20250717-pks-config-wo-the-repository-v1-0-d888e4a17de1@pks.im> -------------------------------------------------- -[New Topics] +[Cooking] * ps/sane-ctype-workaround (2025-07-09) 1 commit - - sane-ctype: fix compiler error on Amazon Linux 2 + (merged to 'next' on 2025-07-15 at 21b79228e3) + + sane-ctype: fix compiler error on Amazon Linux 2 Our header file relied on that the system-supplied header is not later included, which would override our @@ -247,7 +284,7 @@ Release tarballs are available at: this by preemptively including near the beginning of ourselves. - Will merge to 'next'. + Will merge to 'master'. source: @@ -261,36 +298,38 @@ Release tarballs are available at: source: <20250708024507.62386-2-rhanneken@pobox.com> -* cb/meson-avoid-broken-macos-pcre2 (2025-07-13) 1 commit - - meson: disable PCRE2 dependency by default in macOS +* cb/meson-avoid-broken-macos-pcre2 (2025-07-16) 1 commit + - meson: work around broken system PCRE2 dependency in macOS Build fix for macOS. - Will merge to 'next'. - source: <20250713174807.32444-1-carenas@gmail.com> + Still in flux. + source: <20250716193000.44673-1-carenas@gmail.com> * jb/gpg-program-variable-is-a-pathname (2025-07-11) 1 commit - - gpg-interface: expand gpg.program as a path + (merged to 'next' on 2025-07-14 at b23aee3cb1) + + gpg-interface: expand gpg.program as a path The gpg.program configuration variable, which names a pathname to the (custom) GPG compatible program, can now be spelled with ~tilde expansion. - Will merge to 'next'. + Will merge to 'master'. source: <20250711232348.460804-1-jonas.brandstoetter@gmx.at> -* pw/adopt-c99-bool-officially (2025-07-14) 3 commits - - strbuf: convert predicates to return bool - - git-compat-util: convert string predicates to return bool - - CodingGuildlines: allow the use of bool +* pw/adopt-c99-bool-officially (2025-07-16) 3 commits + (merged to 'next' on 2025-07-16 at 62afce02b7) + + strbuf: convert predicates to return bool + + git-compat-util: convert string predicates to return bool + + CodingGuidelines: allow the use of bool Declare weather-balloon we raised for "bool" type 18 months ago a success and officially allow using the type in our codebase. - Comments? - source: + Will merge to 'master'. + source: * pw/compound-literal-test-balloon (2025-07-14) 1 commit @@ -302,39 +341,6 @@ Release tarballs are available at: Comments? source: <7ac55a5096c261b706f47ca239c381f71db2b67a.1752499653.git.phillip.wood@dunelm.org.uk> --------------------------------------------------- -[Cooking] - -* ps/doc-pack-refs-auto-with-files-backend-fix (2025-07-08) 1 commit - (merged to 'next' on 2025-07-09 at 200b4b24a8) - + docs/git-pack-refs: document heuristic used for packing loose refs - - Doc update. - - Will merge to 'master'. - source: <20250708-b4-pks-pack-refs-document-files-heuristic-v1-1-e28d65a94573@pks.im> - - -* ps/refs-files-remove-empty-parent (2025-07-08) 1 commit - (merged to 'next' on 2025-07-09 at f726af7117) - + refs/files: remove empty parent dirs when ref creation fails - - When a ref creation at refs/heads/foo/bar fails, the files backend - now removes refs/heads/foo/ if the directory is otherwise not used. - - Will merge to 'master'. - source: <20250708-b4-pks-reffiles-prune-empty-dirs-on-abort-v1-1-3bae02e4f034@pks.im> - - -* ps/t1006-tap-fix (2025-07-08) 1 commit - (merged to 'next' on 2025-07-09 at bbed1acc2a) - + t1006: fix broken TAP format - - Test fix. - - Will merge to 'master'. - source: <20250708-b4-pks-t1006-fix-tap-format-v1-1-c3f837448364@pks.im> - * pw/3.0-commentchar-auto-deprecation (2025-07-08) 2 commits - commit: print advice when core.commentString=auto @@ -349,31 +355,28 @@ Release tarballs are available at: source: -* ps/object-store-midx (2025-07-09) 9 commits +* ps/object-store-midx (2025-07-15) 9 commits - midx: remove now-unused linked list of multi-pack indices - packfile: stop using linked MIDX list in `get_all_packs()` - packfile: stop using linked MIDX list in `find_pack_entry()` - packfile: refactor `get_multi_pack_index()` to work on sources - - midx: track whether we have loaded the MIDX - midx: stop using linked list when closing MIDX - packfile: refactor `prepare_packed_git_one()` to work on sources - midx: start tracking per object database source + - Merge branch 'tb/midx-avoid-cruft-packs' into ps/object-store-midx - Merge branch 'ps/object-store' into ps/object-store-midx - (this branch uses ps/object-store.) + (this branch uses tb/midx-avoid-cruft-packs.) Redefine where the multi-pack-index sits in the object subsystem, which recently was restructured to allow multiple backends that support a single object source that belongs to one repository. A midx does span mulitple "object sources". - Expecting responses. - source: <20250709-b4-pks-midx-via-odb-alternate-v1-0-f31150d21331@pks.im> + Comments? + source: <20250715-b4-pks-midx-via-odb-alternate-v2-0-b0ca0b4b516e@pks.im> -* ps/object-file-wo-the-repository (2025-07-09) 20 commits - - object-file: drop USE_THE_REPOSITORY_VARIABLE - - environment: move object creation mode into repo settings - - environment: move compression level into repo settings +* ps/object-file-wo-the-repository (2025-07-16) 17 commits - object-file: get rid of `the_repository` in index-related functions - object-file: get rid of `the_repository` in `force_object_loose()` - object-file: get rid of `the_repository` in `read_loose_object()` @@ -391,14 +394,11 @@ Release tarballs are available at: - object-file: stop using `the_hash_algo` - object-file: fix -Wsign-compare warnings - Merge branch 'ps/object-store' into ps/object-file-wo-the-repository - (this branch uses ps/object-store.) Reduce implicit assumption and dependence on the_repository in the object-file subsystem. - Needs a bit of redoing around the configuration reading. - cf. <32fceddc-c867-4a47-bde8-c873279edbc1@gmail.com> - source: <20250709-pks-object-file-wo-the-repository-v1-0-62627b55707f@pks.im> + source: <20250717-pks-object-file-wo-the-repository-v2-0-36d2cd6c700e@pks.im> * jk/remote-avoid-overlapping-names (2025-07-08) 1 commit @@ -447,53 +447,25 @@ Release tarballs are available at: source: <20250706215039.715732-1-usmanakinyemi202@gmail.com> -* ag/doc-send-email (2025-06-30) 5 commits - (merged to 'next' on 2025-07-09 at cf940e82a1) - + docs: mention possible options for Proton Mail users - + docs: add a paragraph explaining the `sendmailCmd` option of sendemail - + docs: add an OAuth2.0 credential helper for AOL accounts - + docs: add outlookidfix config option to sendemail documentation - + docs: link OpenSSL's verify(1) manual page to know about -CAfile and -CApath options - - Documentation updates for "git send-email". - - Will merge to 'master'. - source: <20250630180511.499-1-gargaditya08@proton.me> - - -* rs/parse-options-precision (2025-07-09) 7 commits - (merged to 'next' on 2025-07-09 at aefffa21b7) - + parse-options: add precision handling for OPTION_COUNTUP - + parse-options: add precision handling for OPTION_BITOP - + parse-options: add precision handling for OPTION_NEGBIT - + parse-options: add precision handling for OPTION_BIT - + parse-options: add precision handling for OPTION_SET_INT - + parse-options: add precision handling for PARSE_OPT_CMDMODE - + parse-options: require PARSE_OPT_NOARG for OPTION_BITOP - - Define .precision to more canned parse-options type to avoid bugs - coming from using a variable with a wrong type to capture the - parsed values. - - Will merge to 'master'. - source: <802eba72-c100-429a-80b7-7a0e8b6559ed@web.de> - - -* kn/for-each-ref-skip (2025-07-11) 4 commits - - for-each-ref: introduce a '--start-after' option - - refs: selectively set prefix in the seek functions - - ref-cache: remove unused function 'find_ref_entry()' - - refs: expose `ref_iterator` via 'refs.h' +* kn/for-each-ref-skip (2025-07-15) 5 commits + (merged to 'next' on 2025-07-15 at 4ea3c74afd) + + for-each-ref: introduce a '--start-after' option + + ref-filter: remove unnecessary else clause + + refs: selectively set prefix in the seek functions + + ref-cache: remove unused function 'find_ref_entry()' + + refs: expose `ref_iterator` via 'refs.h' "git for-each-ref" learns "--skip-until" option to help applications that want to page its output. - Will merge to 'next'. + Will merge to 'master'. cf. - source: <20250711-306-git-for-each-ref-pagination-v4-0-ed3303ad5b89@gmail.com> + source: <20250715-306-git-for-each-ref-pagination-v5-0-852d5a2f56e1@gmail.com> -* tc/last-modified (2025-07-09) 3 commits +* tc/last-modified (2025-07-16) 5 commits + - last-modified: support --extended format + - pretty: allow caller to disable indentation - last-modified: use Bloom filters when available - t/perf: add last-modified perf script - last-modified: new subcommand to show when files were last modified @@ -502,57 +474,45 @@ Release tarballs are available at: ancestor commit that touched each path. Comments? - source: <20250630-toon-new-blame-tree-v3-0-3516025dc3bc@iotcl.com> + source: <20250716133206.1787549-1-toon@iotcl.com> * cb/daemon-reap-children (2025-07-10) 2 commits - - daemon: use sigaction() to install child_handler() - - compat/mingw: allow sigaction(SIGCHLD) + (merged to 'next' on 2025-07-14 at a3574350ff) + + daemon: use sigaction() to install child_handler() + + compat/mingw: allow sigaction(SIGCHLD) Futz with SIGCHLD handling in "git daemon". - Will merge to 'next'? + Will merge to 'master'. source: -* ac/auto-comment-char-fix (2025-06-30) 1 commit +* ac/auto-comment-char-fix (2025-07-16) 2 commits + - config: set comment_line_str to "#" when core.commentChar=auto - commit: avoid scanning trailing comments when 'core.commentChar' is "auto" "git commit" that concludes a conflicted merge failed to notice and remove existing comment added automatically (like "# Conflicts:") when the core.commentstring is set to 'auto'. - Expecting a reroll. - cf. - source: <20250630182527.69167-1-ayu.chandekar@gmail.com> + Will merge to 'next'. + source: -* ly/changed-paths-traversal (2025-07-12) 5 commits - - bloom: optimize multiple pathspec items in revision - - revision: make helper for pathspec to bloom keyvec - - bloom: replace struct bloom_key * with struct bloom_keyvec - - bloom: rename function operates on bloom_key - - bloom: add test helper to return murmur3 hash +* ly/changed-paths-traversal (2025-07-14) 5 commits + (merged to 'next' on 2025-07-15 at 45fdb67b92) + + bloom: optimize multiple pathspec items in revision + + revision: make helper for pathspec to bloom keyvec + + bloom: replace struct bloom_key * with struct bloom_keyvec + + bloom: rename function operates on bloom_key + + bloom: add test helper to return murmur3 hash Lift the limitation to use changed-path filter in "git log" so that it can be used for a pathspec with multiple literal paths. - Will merge to 'next'? - source: <20250712093517.17907-1-yldhome2d2@gmail.com> - - -* ph/fetch-prune-optim (2025-07-01) 3 commits - (merged to 'next' on 2025-07-09 at f0a1daff6a) - + clean up interface for refs_warn_dangling_symrefs - + refs: remove old refs_warn_dangling_symref - + fetch-prune: optimize dangling-ref reporting - - "git fetch --prune" used to be O(n^2) expensive when there are many - refs, which has been corrected. - Will merge to 'master'. - cf. <20250708013612.GB549007@coredump.intra.peff.net> - source: <20250702011214.2835529-2-phil.hord@gmail.com> + source: <20250712093517.17907-1-yldhome2d2@gmail.com> * bc/use-sha256-by-default-in-3.0 (2025-07-01) 11 commits @@ -568,6 +528,7 @@ Release tarballs are available at: + builtin: use default hash when outside a repository + hash: add a constant for the legacy hash algorithm + hash: add a constant for the default hash algorithm + (this branch is used by kl/test-installed-fix and ps/config-wo-the-repository.) Prepare to flip the default hash function to SHA-256. @@ -575,30 +536,26 @@ Release tarballs are available at: source: <20250701212237.766774-1-sandals@crustytoothpaste.net> -* lo/repo-info (2025-06-19) 7 commits - . repo-info: add field layout.shallow - . repo-info: add field layout.bare - . repo-info: add the field references.format - . repo-info: add the --allow-empty flag - . repo-info: add plaintext as an output format - . repo-info: add the --format flag - . repo-info: declare the repo-info command +* lo/repo-info (2025-07-14) 4 commits + - repo: add field layout.shallow + - repo: add field layout.bare + - repo: add the field references.format + - repo: declare the repo command - A new subcommand "git repo-info" gives users a way to grab various + A new subcommand "git repo" gives users a way to grab various repository characteristics. - - Expecting a reroll. - cf. <0FEC4502-867F-4B9C-B752-376EF9464983@gmail.com> - source: <20250619225751.99699-1-lucasseikioshiro@gmail.com> + source: <20250714235231.10137-1-lucasseikioshiro@gmail.com> * cc/fast-import-export-signature-names (2025-07-09) 1 commit - - fast-(import|export): improve on commit signature output format + (merged to 'next' on 2025-07-15 at a6a173da68) + + fast-(import|export): improve on commit signature output format Clean up the way how signature on commit objects are exported to and imported from fast-import stream. - Will merge to 'next'? + Will merge to 'master'. + cf. source: <20250709141253.623563-1-christian.couder@gmail.com> @@ -606,6 +563,7 @@ Release tarballs are available at: - environment: remove the global variable 'sparse_expect_files_outside_of_patterns' - environment: move access to "core.sparsecheckoutcone" into repo_settings - environment: move access to "core.sparsecheckout" into repo_settings + (this branch is used by ds/sparse-checkout-clean.) Two global variables related to sparse checkout have been moved to the repository settings structure. @@ -640,35 +598,37 @@ Release tarballs are available at: source: -* ss/compat-bswap-revamp (2025-06-11) 6 commits - - bswap.h: provide a built-in based version of bswap32/64 if possible - - bswap.h: remove optimized x86 version of bswap32/64 - - bswap.h: always overwrite ntohl/ntohll macros - - bswap.h: define GIT_LITTLE_ENDIAN on MSVC as little endian - - bswap.h: add support for __BYTE_ORDER__ - - Merge branch 'ss/revert-builtin-bswap-stuff' into ss/compat-bswap-revamp +* ss/compat-bswap-revamp (2025-07-15) 6 commits + (merged to 'next' on 2025-07-16 at c8713eca28) + + bswap.h: provide a built-in based version of bswap32/64 if possible + + bswap.h: remove optimized x86 version of bswap32/64 + + bswap.h: always overwrite ntohl/ ntohll macros + + bswap.h: define GIT_LITTLE_ENDIAN on msvc as little endian + + bswap.h: add support for __BYTE_ORDER__ + + Merge branch 'ss/revert-builtin-bswap-stuff' into ss/compat-bswap-revamp Clean-up compat/bswap.h mess. - Stalled. - cf. - source: <20250611221444.1567638-1-sebastian@breakpoint.cc> + Will merge to 'master'. + cf. + source: <20250715191230.12081-1-sebastian@breakpoint.cc> * ja/doc-git-log-markup (2025-07-07) 9 commits - - doc: git-log: convert log config to new doc format - - doc: git-log: convert diff options to new doc format - - doc: git-log: convert pretty formats to new doc format - - doc: git-log: convert pretty options to new doc format - - doc: git-log: convert rev list options to new doc format - - doc: git-log: convert line range format to new doc format - - doc: git-log: convert line range options to new doc format - - doc: git-log convert rev-list-description to new doc format - - doc: convert git-log to new documentation format + (merged to 'next' on 2025-07-14 at 8eb14e9306) + + doc: git-log: convert log config to new doc format + + doc: git-log: convert diff options to new doc format + + doc: git-log: convert pretty formats to new doc format + + doc: git-log: convert pretty options to new doc format + + doc: git-log: convert rev list options to new doc format + + doc: git-log: convert line range format to new doc format + + doc: git-log: convert line range options to new doc format + + doc: git-log convert rev-list-description to new doc format + + doc: convert git-log to new documentation format Doc mark-up updates. - Will merge to 'next'. + Will merge to 'master'. source: @@ -692,19 +652,6 @@ Release tarballs are available at: source: <20250605140644.239199-1-kuforiji98@gmail.com> -* ly/load-bitmap-leakfix (2025-06-30) 3 commits - (merged to 'next' on 2025-07-08 at 6e6d182a8c) - + pack-bitmap: add load corrupt bitmap test - + pack-bitmap: reword comments in test_bitmap_commits() - + pack-bitmap: fix memory leak if load_bitmap() failed - - Leakfix with a new and a bit invasive test. - - Will merge to 'master'. - cf. - source: - - * tb/prepare-midx-pack-cleanup (2025-05-28) 5 commits - midx: return a `packed_git` pointer from `prepare_midx_pack()` - midx-write.c: extract inner loop from fill_packs_from_midx() @@ -746,33 +693,6 @@ Release tarballs are available at: source: -* ps/object-store (2025-07-01) 17 commits - (merged to 'next' on 2025-07-07 at e19db55858) - + odb: rename `read_object_with_reference()` - + odb: rename `pretend_object_file()` - + odb: rename `has_object()` - + odb: rename `repo_read_object_file()` - + odb: rename `oid_object_info()` - + odb: trivial refactorings to get rid of `the_repository` - + odb: get rid of `the_repository` when handling submodule sources - + odb: get rid of `the_repository` when handling the primary source - + odb: get rid of `the_repository` in `for_each()` functions - + odb: get rid of `the_repository` when handling alternates - + odb: get rid of `the_repository` in `odb_mkstemp()` - + odb: get rid of `the_repository` in `assert_oid_type()` - + odb: get rid of `the_repository` in `find_odb()` - + odb: introduce parent pointers - + object-store: rename files to "odb.{c,h}" - + object-store: rename `object_directory` to `odb_source` - + object-store: rename `raw_object_store` to `object_database` - (this branch is used by ps/object-file-wo-the-repository and ps/object-store-midx.) - - Code clean-up around object access API. - - Will merge to 'master'. - source: <20250701-pks-object-store-wo-the-repository-v6-0-dbf3894ab4e2@pks.im> - - * cc/promisor-remote-capability (2025-06-25) 5 commits - promisor-remote: use string constants for 'name' and 'url' too - promisor-remote: allow a client to check fields @@ -800,6 +720,7 @@ Release tarballs are available at: + pack-objects: factor out handling '--stdin-packs' + pack-objects: limit scope in 'add_object_entry_from_pack()' + pack-objects: use standard option incompatibility functions + (this branch is used by ps/object-store-midx.) "pack-objects" has been taught to avoid pointing into objects in cruft packs from midx.