From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from fout-a8-smtp.messagingengine.com (fout-a8-smtp.messagingengine.com [103.168.172.151]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D6703184 for ; Wed, 23 Jul 2025 00:11:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=103.168.172.151 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753229502; cv=none; b=dk7zp0646/fucsF7cEul2RPKpsgQ8onUpNF7DYrXJGfEeKUQYZzcrxTNzcMFgkHJxbuXC8ac/dxVzivUfzaf1cPStyo5t9/avhGK/Zj12OU5m5tnCXxWCwZrZsWoJ2vB50QLhmiNMaw71fEPxlyLvs5Kn6htE/CLhw6GpuyxNMg= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753229502; c=relaxed/simple; bh=+1TWd1jSrLDhLmU+RjzPwUOSJP2QA1NMPXTRC7wvuDg=; h=From:To:Subject:Date:Message-ID:MIME-Version:Content-Type; b=Ihhcun1+KePKDBPXR3cHK12WEjFbIrnXaZgRhwZBHolICpYO8TvjM1/wJJk4ctfsPFkD0SVzsbNeTnlTYvmdJS7X97IctkI/Qd5VR2P4z5YRj92f39vRpeQXRYgcBKKBsjpLIPSlkNee8X4Zuc1Qb20sCfcT4iSet1KEFcY+xFc= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=pobox.com; spf=pass smtp.mailfrom=pobox.com; dkim=pass (2048-bit key) header.d=pobox.com header.i=@pobox.com header.b=picDOc8k; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b=msNE3Ynx; arc=none smtp.client-ip=103.168.172.151 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=pobox.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=pobox.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=pobox.com header.i=@pobox.com header.b="picDOc8k"; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b="msNE3Ynx" Received: from phl-compute-04.internal (phl-compute-04.phl.internal [10.202.2.44]) by mailfout.phl.internal (Postfix) with ESMTP id D7ABEEC0214; Tue, 22 Jul 2025 20:11:37 -0400 (EDT) Received: from phl-frontend-02 ([10.202.2.161]) by phl-compute-04.internal (MEProxy); Tue, 22 Jul 2025 20:11:37 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pobox.com; h=cc :content-type:content-type:date:date:from:from:in-reply-to :message-id:mime-version:reply-to:subject:subject:to:to; s=fm1; t=1753229497; x=1753315897; bh=vqweCiBxitSYEgVbTiLg07mS6sA/6GPD aSjTHTMwTTc=; b=picDOc8kMaZw7aDixZ96q6Sv4fYhFt90RjAGEaY6rZ5S9XMs MlT2fXc/wyBRtejcsbyH6D6/qdjHza6/j+fvZ3bwpXTFzDpfhmrSdxf92gYIX4m6 1oIePAp9L2J9AspVuKiyslgOEkNaQas3HZgX1yR2vwGqgaZC4+AV5/kp75gswhDf wImO3B0tVEpIlAnPAeE5PM6SNPLj6fKpF1kOpdNFbX+ek4CZvkldNLSa957doonY OgVa/oz+CfKyavONjqkJF76oIPj+6jAonI0LMgQPzeET0EJKYtIBuvoCZ4WAc/gK lpDfjTiJhdTP4WlEYh7U7pbVbg0sXyQrLE0kZg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:message-id :mime-version:reply-to:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1753229497; x= 1753315897; bh=vqweCiBxitSYEgVbTiLg07mS6sA/6GPDaSjTHTMwTTc=; b=m sNE3YnxZQ5lEVyuqffFzm8fgNERP9dRRE7vmz7C79JS7qmNCCDXkHPPYKOH0QTe8 2rpfdeaRYBQ3lWySTJ7fGusS/m7MIQD06pEIHkzskzNBreq20vpAq6rvAQAxoSZb z+8oGZva9X9EG/ll4B8D3BxJ3OnJmP9e9T2kwR0r9GBsQQQZGRoN2PUEKzwcBjnK NsRwyIi8ktzHIrNBX7QDtk0K4wsTQLZHh1Q/GkNmaIAbNC+COgbdh5wTa/Yr+ccQ jjahNih7Uh3d85v2T6C7/WlkXvjTM7aBhfIgsgds5B3PM4rZAy0hRZor3mBo4gi2 +woSkjm0t1PtoUZpcQlXQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtdefgdejieeftdcutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpuffrtefokffrpgfnqfghnecuuegr ihhlohhuthemuceftddtnecufghrlhcuvffnffculdefmdenoggigeefvddqheejucdlud dmnecujfgurhephffvufffkfgfgggtsehttdertddtredtnecuhfhrohhmpefluhhnihho ucevucfjrghmrghnohcuoehgihhtshhtvghrsehpohgsohigrdgtohhmqeenucggtffrrg htthgvrhhnpefhudeutdevvdevgfehkeeludettedthffhtddvheeivddtgefhtdfffeeg ieffheenucffohhmrghinhepkhgvrhhnvghlrdhorhhgpdhorhdrtgiipdhgohhoghhlvg hsohhurhgtvgdrtghomhdpghhithhhuhgsrdgtohhmpdhgihhtlhgrsgdrtghomhdpphhk shdrihhmnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomh epghhithhsthgvrhesphhosghogidrtghomhdpnhgspghrtghpthhtohepfedpmhhouggv pehsmhhtphhouhhtpdhrtghpthhtohepghhithesvhhgvghrrdhkvghrnhgvlhdrohhrgh dprhgtphhtthhopehlfihnsehlfihnrdhnvghtpdhrtghpthhtohepghhithhsthgvrhes phhosghogidrtghomh X-ME-Proxy: Feedback-ID: if26b431b:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue, 22 Jul 2025 20:11:37 -0400 (EDT) From: Junio C Hamano To: git@vger.kernel.org Subject: What's cooking in git.git (Jul 2025, #06; Tue, 22) X-master-at: 0e8243a355a69035dac269528b49dc8c9bc81f8a X-next-at: 942d659e1bbc2e578fba7d9b4087112004142e34 Date: Tue, 22 Jul 2025 17:11:35 -0700 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Precedence: bulk X-Mailing-List: git@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain Here are the topics that have been cooking in my tree. Commits prefixed with '+' are in 'next' (being in 'next' is a sign that a topic is stable enough to be used and are candidate to be in a future release). Commits prefixed with '-' are only in 'seen', and aren't considered "accepted" at all and may be annotated with an URL to a message that raises issues but they are no means exhaustive. A topic without enough support may be discarded after a long period of no activity (of course they can be resubmit when new interests arise). Copies of the source code to Git live in many repositories, and the following is a list of the ones I push into or their mirrors. Some repositories have only a subset of branches. With maint, master, next, seen, todo: git://git.kernel.org/pub/scm/git/git.git/ git://repo.or.cz/alt-git.git/ https://kernel.googlesource.com/pub/scm/git/git/ https://github.com/git/git/ https://gitlab.com/git-scm/git/ With all the integration branches and topics broken out: https://github.com/gitster/git/ Even though the preformatted documentation in HTML and man format are not sources, they are published in these repositories for convenience (replace "htmldocs" with "manpages" for the manual pages): git://git.kernel.org/pub/scm/git/git-htmldocs.git/ https://github.com/gitster/git-htmldocs.git/ Release tarballs are available at: https://www.kernel.org/pub/software/scm/git/ -------------------------------------------------- [Graduated to 'master'] * bc/use-sha256-by-default-in-3.0 (2025-07-01) 11 commits (merged to 'next' on 2025-07-11 at 893c183a5f) + Enable SHA-256 by default in breaking changes mode + help: add a build option for default hash + t5300: choose the built-in hash outside of a repo + t4042: choose the built-in hash outside of a repo + t1007: choose the built-in hash outside of a repo + t: default to compile-time default hash if not set + setup: use the default algorithm to initialize repo format + Use legacy hash for legacy formats + 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. source: <20250701212237.766774-1-sandals@crustytoothpaste.net> * cb/daemon-reap-children (2025-07-10) 2 commits (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". source: * ja/doc-git-log-markup (2025-07-07) 9 commits (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. source: * jb/gpg-program-variable-is-a-pathname (2025-07-11) 1 commit (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. source: <20250711232348.460804-1-jonas.brandstoetter@gmx.at> * jk/remote-avoid-overlapping-names (2025-07-08) 1 commit (merged to 'next' on 2025-07-11 at 097c87760a) + remote: detect collisions in remote names "git remote" now detects remote names that overlap with each other (e.g., remote nickname "outer" and "outer/inner" are used at the same time), as it will lead to overlapping remote-tracking branches. source: <20250708225946.GC1180568@coredump.intra.peff.net> * ps/meson-cleanups (2025-07-08) 7 commits (merged to 'next' on 2025-07-14 at 5fb402f51a) + ci: use Meson's new `--slice` option + meson: update subproject wrappers + meson: fix lookup of shell on MINGW64 + meson: clean up unnecessary variables + meson: improve summary of auto-detected features + meson: stop printing 'https' option twice in our summaries + meson: stop discovering native version of Python Meson-based build update. cf. <87h5zkcbk2.fsf@iotcl.com> source: <20250709-b4-pks-meson-cleanups-v3-0-29ab15b9ab85@pks.im> * rh/doc-glob-pathspec-fix (2025-07-07) 1 commit (merged to 'next' on 2025-07-14 at 1561f0726d) + doc: correct doc for glob pathspec Docfix. source: <20250708024507.62386-2-rhanneken@pobox.com> * tb/midx-avoid-cruft-packs (2025-06-23) 9 commits (merged to 'next' on 2025-07-11 at 3fc02a8a1a) + repack: exclude cruft pack(s) from the MIDX where possible + pack-objects: introduce '--stdin-packs=follow' + pack-objects: swap 'show_{object,commit}_pack_hint' + pack-objects: fix typo in 'show_object_pack_hint()' + pack-objects: perform name-hash traversal for unpacked objects + pack-objects: declare 'rev_info' for '--stdin-packs' earlier + 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. source: -------------------------------------------------- [New Topics] * ly/pull-autostash (2025-07-20) 1 commit - pull: add pull.autoStash config option "git pull" learned to pay attention to pull.autostash configuration variable, which is officially documented. Will merge to 'next'? source: <20250720124334.12045-1-yldhome2d2@gmail.com> * jk/revision-no-early-output (2025-07-19) 1 commit - revision: drop early output option Remove unsupported, unused, and unsupportable old option from "git log". Will merge to 'next'. source: <20250719070813.GA706382@coredump.intra.peff.net> * ag/imap-send-list-folders-doc (2025-07-22) 1 commit - docs: explain how to use `git imap-send --list` command to get a list of available folders Document recently added "git imap-send --list" with an example. Will merge to 'next'? source: <20250722114827.22493-1-gargaditya08@live.com> * ag/send-email-imap-sent (2025-07-22) 1 commit - send-email: add ability to send a copy of sent emails to an IMAP folder "git send-email" learned to drive "git imap-send" to store already sent e-mails in an IMAP folder. Will merge to 'next'. source: * en/ort-rename-fixes (2025-07-22) 6 commits - merge-ort: fix directory rename on top of source of other rename/delete - merge-ort: fix incorrect file handling - t6423: fix missed staging of file in testcases 12i,12j,12k - t6423: document two bugs with rename-to-self testcases - merge-ort: drop unnecessary temporary in check_for_directory_rename() - merge-ort: update comments to modern testfile location Various bugs about rename handling in "ort" merge strategy have been fixed. Comments? source: * hl/test-helper-fd-close (2025-07-22) 2 commits - t/helper/test-delta: fix possible resource leak and ensure safe cleanup - t/helper/test-truncate: close file descriptor after truncation A few file descriptors left unclosed upon program completion in a few test helper programs are now closed. Comments? source: <20250722174102.1876197-1-lhywkd22@gmail.com> * jb/t7510-gpg-program-path (2025-07-22) 1 commit - t7510: add test cases for non-absolute gpg program A new test to ensure that a recent change will keep working. Will merge to 'next'. source: <20250722190922.51183-3-jonas.brandstoetter@gmx.at> * jc/do-not-scan-argv-without-parsing (2025-07-21) 1 commit - rev-list: update a NEEDSWORK comment Update a hard-to-read in-code NEEDSWORK comment. Will merge to 'next'. source: * jc/rev-list-info-cleanup (2025-07-18) 1 commit - rev-list: make "struct rev_list_info" static to the only user Move structure definition from unrelated header file to where it belongs. Will merge to 'next'. source: * jk/unleak-reflog-expire-entry (2025-07-22) 3 commits - fixup! reflog: close leak of reflog expire entry - t1410: add test of gc..reflogExpire config - reflog: close leak of reflog expire entry Leakfix. Expecting a reroll? source: <20250722045456.GA824456@coredump.intra.peff.net> * jt/switch-restore-no-longer-experimental (2025-07-22) 2 commits - builtin: unmark git-switch and git-restore as experimental - builtin: remove merge short flag for switch and restore Declare that "git switch" and "git restore" are no longer experimental. Expecting a reroll. source: <20250722180818.1043014-1-jltobler@gmail.com> * ps/reflog-migrate-fixes (2025-07-22) 8 commits - refs: fix invalid old object IDs when migrating reflogs - refs: stop unsetting REF_HAVE_OLD for log-only updates - refs: fix identity for migrated reflogs - ident: fix type of string length parameter - builtin/reflog: implement subcommand to write new entries - refs: export `ref_transaction_update_reflog()` - builtin/reflog: improve grouping of subcommands - Documentation/git-reflog: convert to use synopsis type "git refs migrate" to migrate the reflog entries from a refs backend to another had a handful of bugs squashed. Comments? source: <20250722-pks-reflog-append-v1-0-183e5949de16@pks.im> -------------------------------------------------- [Cooking] * 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 GIT_TEST_INSTALLED was not honored in the recent topic related to SHA256 hashes, which has been corrected. Will merge to 'master'. source: * pw/config-kvi-remove-path (2025-07-15) 1 commit (merged to 'next' on 2025-07-16 at 3203507b49) + config: remove unneeded struct field Remove a redundant member from kvi struct. Will merge to 'master'. source: <31724ce432b19088b7c7643654788d8e712b3193.1752588042.git.phillip.wood@dunelm.org.uk> * rs/pop-recent-commit-with-prio-queue (2025-07-18) 3 commits (merged to 'next' on 2025-07-22 at b859ed88ed) + 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. Will merge to 'master'. source: <8ff40c56-368a-4347-aeae-2aca2cb6a5b2@web.de> * 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 Document that we do not require "real" name when signing your patches off. Will merge to 'master'. source: <20250716002523.1392423-1-sandals@crustytoothpaste.net> * jc/ci-print-test-failures-fix (2025-07-16) 1 commit - ci: allow github-actions print test failures again CI fix. Comments? 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. 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. Needs to wait for the base topic to solidify. 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 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. Will merge to 'next'? source: <20250717-pks-config-wo-the-repository-v1-0-d888e4a17de1@pks.im> * ps/sane-ctype-workaround (2025-07-09) 1 commit (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 macro definitions, but "amazon linux" broke this assumption. Fix this by preemptively including near the beginning of ourselves. Will merge to 'master'. source: * cb/meson-avoid-broken-macos-pcre2 (2025-07-18) 1 commit - meson: work around broken system PCRE2 dependency in macOS Build fix for macOS. Still in flux? source: <20250718170225.6063-1-carenas@gmail.com> * 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. Will merge to 'master'. source: * pw/compound-literal-test-balloon (2025-07-14) 1 commit - strbuf: add compound literal test balloon Gauge if the world is ready for compound literal that can make the resulting code clearer in some places. Comments? source: <7ac55a5096c261b706f47ca239c381f71db2b67a.1752499653.git.phillip.wood@dunelm.org.uk> * pw/3.0-commentchar-auto-deprecation (2025-07-08) 2 commits - commit: print advice when core.commentString=auto - breaking-changes: deprecate support for core.commentString=auto Proposes to deprecate "core.commentChar=auto" that attempts to dynamically pick a suitable comment character, as it is too much trouble to support for little benefit. Expecting a reroll. cf. source: * 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: 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 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". Comments? source: <20250715-b4-pks-midx-via-odb-alternate-v2-0-b0ca0b4b516e@pks.im> * 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()` - object-file: get rid of `the_repository` in loose object iterators - object-file: remove declaration for `for_each_file_in_obj_subdir()` - object-file: inline `for_each_loose_file_in_objdir_buf()` - object-file: get rid of `the_repository` when writing objects - odb: introduce `odb_write_object()` - loose: write loose objects map via their source - object-file: get rid of `the_repository` in `finalize_object_file()` - object-file: get rid of `the_repository` in `loose_object_info()` - object-file: get rid of `the_repository` when freshening objects - object-file: inline `check_and_freshen()` functions - object-file: get rid of `the_repository` in `has_loose_object()` - 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 Reduce implicit assumption and dependence on the_repository in the object-file subsystem. source: <20250717-pks-object-file-wo-the-repository-v2-0-36d2cd6c700e@pks.im> * ua/t1517-short-help-tests (2025-07-21) 2 commits . t5200: move `update-server-info -h` test from t1517 . t/t1517: automate `git subcmd -h` tests outside a repository Test shuffling. Introduces a few "todo passed". source: <20250721115519.140361-1-usmanakinyemi202@gmail.com> * kn/for-each-ref-skip (2025-07-17) 6 commits - fixup! refs: selectively set prefix in the seek functions (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. Needs fix-up. cf. source: <20250715-306-git-for-each-ref-pagination-v5-0-852d5a2f56e1@gmail.com> * tc/last-modified (2025-07-18) 6 commits - fixup! last-modified: support --extended format - 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 A new command "git last-modified" is proposed to show the closest ancestor commit that touched each path. Still in flux. source: <20250716133206.1787549-1-toon@iotcl.com> * ac/auto-comment-char-fix (2025-07-16) 2 commits (merged to 'next' on 2025-07-21 at be3e6c3480) + 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'. Will merge to 'master'. source: * 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 'master'. source: <20250712093517.17907-1-yldhome2d2@gmail.com> * lo/repo-info (2025-07-21) 5 commits - repo: add the --format flag - 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" gives users a way to grab various repository characteristics. source: <20250722002835.33428-1-lucasseikioshiro@gmail.com> * cc/fast-import-export-signature-names (2025-07-09) 1 commit (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 'master'. cf. source: <20250709141253.623563-1-christian.couder@gmail.com> * ac/deglobal-sparse-variables (2025-07-18) 3 commits - 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. Ready? source: * ow/rebase-verify-insn-fmt-before-initializing-state (2025-06-09) 1 commit - rebase: write script before initializing state "git rebase -i" with bogus rebase.instructionFormat configuration failed to produce the todo file after recording the state files, leading to confused "git status"; this has been corrected. Expecting a reroll. cf. <7e796844-97e2-4b45-a76e-4c1fcb1da3ae@gmail.com> source: <20250609221055.136074-1-oystwa@gmail.com> * jc/tag-idempotent-no-op (2025-07-11) 1 commit - tag: allow idempotent "git tag" without "--force" "git tag T O" when the tag T is already pointing at the object O is a no-op; we used to but no longer error out such a request and require "--force" and instead turn it into a no-op. Will discard. cf. source: * 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. Will merge to 'master'. cf. source: <20250715191230.12081-1-sebastian@breakpoint.cc> * sk/reftable-clarify-tests (2025-06-05) 10 commits - t/unit-tests: finalize migration of reftable-related tests - t/unit-tests: convert reftable stack test to use clar - t/unit-tests: convert reftable record test to use clar - t/unit-tests: convert reftable readwrite test to use clar - t/unit-tests: convert reftable table test to use clar - t/unit-tests: convert reftable pq test to use clar - t/unit-tests: convert reftable merged test to use clar - t/unit-tests: convert reftable block test to use clar - t/unit-tests: convert reftable basics test to use clar test framework - t/unit-tests: implement clar specific reftable test helper functions The reftable unit tests are now ported to the "clar" unit testing framework. Expecting a reroll. cf. source: <20250605140644.239199-1-kuforiji98@gmail.com> * 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() - midx-write.c: guard against incremental MIDXs in want_included_pack() - midx: access pack names through `nth_midxed_pack_name()` - Merge branch 'ps/midx-negative-packfile-cache' into tb/prepare-midx-pack-cleanup Improvement on Multi-pack-index API. Expecting a reroll. cf. <20250530065034.GC1321283@coredump.intra.peff.net> source: * kj/renamed-submodule (2025-06-07) 2 commits - submodule: skip redundant active entries when pattern covers path - submodule: prevent overwriting .gitmodules entry on path reuse The case where a new submodule takes a path where used to be a completely different subproject is now dealt a bit better than before. What's the status of this one? cf. source: <20250608032705.11990-1-jayatheerthkulkarni2005@gmail.com> * lm/add-p-context (2025-07-19) 4 commits - add-patch: add diff.context command line overrides - add-patch: respect diff.context configuration - t: use test_config in t4055 - t: use test_grep in t3701 and t4055 "git add/etc -p" now honors diff.context configuration variable, and learns to honor -U option. Will merge to 'next'? source: * cc/promisor-remote-capability (2025-07-21) 5 commits - promisor-remote: use string constants for 'name' and 'url' too - promisor-remote: allow a client to check fields - promisor-remote: refactor how we parse advertised fields - promisor-remote: allow a server to advertise more fields - promisor-remote: refactor to get rid of 'struct strvec' The "promisor-remote" capability mechanism has been updated to allow the "partialCloneFilter" settings and the "token" value to be communicated from the server side. Comments? source: <20250721141056.2283349-1-christian.couder@gmail.com>