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'] * aw/t9811-modernize (2025-04-18) 2 commits (merged to 'next' on 2025-04-18 at 37484f566f) + t9811: fix misconversion of tests (merged to 'next' on 2025-04-16 at 53103e8873) + t9811: be more precise to check importing of tags Test updates. source: <20250416145939.24207-2-anthonywang03@xxxxxxxxxx> * ds/doc-disable-hooks (2025-04-16) 1 commit (merged to 'next' on 2025-04-18 at 4b543e57a5) + docs: document core.hooksPath=/dev/null Document the convention to disable hooks altogether by setting the hooksPath configuration variable to /dev/nulll source: <pull.1899.v2.git.1744818135435.gitgitgadget@xxxxxxxxx> * ja/doc-reset-mv-rm-markup-updates (2025-04-14) 7 commits (merged to 'next' on 2025-04-15 at 0b19646642) + doc: add markup for characters in Guidelines + doc: fix asciidoctor synopsis processing of triple-dots + doc: convert git-mv to new documentation format + doc: move synopsis git-mv commands in the synopsis section + doc: convert git-rm to new documentation format + doc: fix synopsis analysis logic + doc: convert git-reset to new documentation format Doc mark-up updates. source: <pull.1896.v2.git.1744460450.gitgitgadget@xxxxxxxxx> * jc/ci-skip-unavailable-external-software (2025-04-24) 1 commit (merged to 'next' on 2025-04-24 at 5bd3efe460) + ci: skip unavailable external software Make sure outage of third-party sites that supply P4, Git-LFS, and JGit we use for testing would not prevent our CI jobs from running at all. source: <xmqqmsc5rw94.fsf@gitster.g> * js/range-check-codeql-workaround (2025-03-28) 1 commit (merged to 'next' on 2025-04-17 at 809b3c3f63) + read-cache: check range before dereferencing an array element Work around false positive from CodeQL checker. source: <73cae30129338cf219a810c3a2a78ef48d5637d0.1743073557.git.gitgitgadget@xxxxxxxxx> * kn/bundle-dedup-optim (2025-04-08) 2 commits (merged to 'next' on 2025-04-11 at 082f7c87e0) + bundle: fix non-linear performance scaling with refs + t6020: test for duplicate refnames in bundle creation Optimize the code to dedup references recorded in a bundle file. source: <20250408-488-generating-bundles-with-many-references-has-non-linear-performance-v2-0-0802fc36a23d@xxxxxxxxx> * mh/left-right-limited (2025-04-01) 1 commit (merged to 'next' on 2025-04-17 at 1976b29af9) + revision: fix --left/right-only use with unrelated histories "git log --{left,right}-only A...B", when A and B does not share any common ancestor, now behaves as expected. source: <20250330112850.2477673-1-m@xxxxxxxxx> * pb/perf-test-fixes (2025-04-14) 3 commits (merged to 'next' on 2025-04-15 at f911b5420a) + p7821: fix instructions for testing with threads (merged to 'next' on 2025-04-08 at a8aaeee41e) + p9210: fix 'scalar clone' when running from a detached HEAD + p7821: fix test_perf invocation for prereqs "make perf" fixes. cf. <Z-pD1puYT87YKAd4@xxxxxx> cf. <Z_TAtJ9LEeHo2AQN@xxxxxx> source: <pull.1936.v2.git.git.1744481732.gitgitgadget@xxxxxxxxx> * ps/object-file-cleanup (2025-04-15) 11 commits (merged to 'next' on 2025-04-17 at 4f5b5725c6) + object-store: merge "object-store-ll.h" and "object-store.h" + object-store: remove global array of cached objects + object: split out functions relating to object store subsystem + object-file: drop `index_blob_stream()` + object-file: split up concerns of `HASH_*` flags + object-file: split out functions relating to object store subsystem + object-file: move `xmmap()` into "wrapper.c" + object-file: move `git_open_cloexec()` to "compat/open.c" + object-file: move `safe_create_leading_directories()` into "path.c" + object-file: move `mkdir_in_gitdir()` into "path.c" + Merge branch 'ps/object-wo-the-repository' into ps/object-file-cleanup (this branch is used by ps/object-store-cleanup.) Code clean-up. cf. <CABPp-BFGeJ6eANb_5m4KSWRY_r9KCWarzya_qMkQNchKD5Q=xg@xxxxxxxxxxxxxx> source: <20250415-pks-split-object-file-v3-0-6aa7db7ad7b0@xxxxxx> * ps/parse-options-integers (2025-04-17) 7 commits (merged to 'next' on 2025-04-18 at 30159c9252) + parse-options: detect mismatches in integer signedness + parse-options: introduce precision handling for `OPTION_UNSIGNED` + parse-options: introduce precision handling for `OPTION_INTEGER` + parse-options: rename `OPT_MAGNITUDE()` to `OPT_UNSIGNED()` + parse-options: support unit factors in `OPT_INTEGER()` + global: use designated initializers for options + parse: fix off-by-one for minimum signed values Update parse-options API to catch mistakes to pass address of an integral variable of a wrong type/size. source: <20250417-b4-pks-parse-options-integers-v4-0-9cbc76b61cfe@xxxxxx> * rj/build-tweaks (2025-04-17) 13 commits (merged to 'next' on 2025-04-18 at 0ad43d3038) + config.mak.uname: set CSPRNG_METHOD to getrandom on Linux + config.mak.uname: add arc4random to the cygwin build + config.mak.uname: add sysinfo() configuration for cygwin + builtin/gc.c: correct RAM calculation when using sysinfo + config.mak.uname: add clock_gettime() to the cygwin build + config.mak.uname: add HAVE_GETDELIM to the cygwin section + config.mak.uname: only set NO_REGEX on cygwin for v1.7 + config.mak.uname: add a note about NO_STRLCPY for Linux + Makefile: remove NEEDS_LIBRT build variable + meson.build: set default help format to html on windows + meson.build: only set build variables for non-default values + Makefile: only set some BASIC_CFLAGS when RUNTIME_PREFIX is set + meson.build: remove -DCURL_DISABLE_TYPECHECK Various build tweaks, including CSPRNG selection on some platforms. source: <20250416231835.2492562-1-ramsay@xxxxxxxxxxxxxxxxxxxx> -------------------------------------------------- [New Topics] * ag/send-email-outlook (2025-04-23) 3 commits - send-email: add option to generate passswords like OAuth2 tokens - send-email: retrieve Message-ID from outlook SMTP server - send-email: implement SMTP bearer authentication Update send-email to work better with Outlook's smtp server. Will merge to 'next'? source: <PN3PR01MB9597A83D537E3AE96144227EB8BA2@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> * ds/fix-thin-fix (2025-04-24) 3 commits - index-pack: allow revisiting REF_DELTA chains - t5309: create failing test for 'git index-pack' - test-tool: add pack-deltas helper "git index-pack --fix-thin" used to abort to prevent a cycle in delta chains from forming in a corner case even when there is no such cycle. Comments? source: <pull.1906.git.1745430004.gitgitgadget@xxxxxxxxx> * ps/object-store-cleanup (2025-04-24) 14 commits - object-store: drop `repo_has_object_file()` - bulk-checkin: don't fetch promised objects on write - list-objects: clarify how promised blobs are excluded - http-walker: don't fetch objects via promisor remotes - refs: don't fetch promisor objects in `ref_resolves_to_object()` - builtin/show-ref: don't fetch objects when printing refs - builtin/index-pack: don't fetch promised objects for collision check - treewide: trivial conversions of `repo_has_object_file()` - object-store: allow fetching objects via `has_object()` - object-store: move function declarations to their respective subsystems - object-store: move and rename `odb_pack_keep()` - object-store: drop `loose_object_path()` - object-store: move `struct packed_git` into "packfile.h" - Merge branch 'ps/object-file-cleanup' into ps/object-store-cleanup Further code clean-up in the object-store layer. Comments? source: <20250423-pks-object-store-cleanups-v1-0-81f8411a5d08@xxxxxx> * cc/fast-import-export-signature-names (2025-04-24) 1 commit - fast-(import|export): improve on the signature algorithm name Clean up the way how signature on commit objects are exported to and imported from fast-import stream. Expecting a reroll. cf. <aAq1nvcPRlIPal5l@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> source: <20250424203904.909777-1-christian.couder@xxxxxxxxx> * dd/meson-perl-custom-path (2025-04-24) 1 commit - meson: allow customize perl installation path Meson-based build framework update. Comments? source: <80a2a6ce7c6b05323cf931cdc20d4decb6270002.1745507677.git.congdanhqx@xxxxxxxxx> * ps/meson-bin-sh (2025-04-24) 2 commits - meson: prefer POSIX-specified shell path - meson: report detected runtime executable paths Meson-based build framework update. Comments? source: <20250424-pks-meson-posix-shell-v1-0-45e06ee4b6ad@xxxxxx> -------------------------------------------------- [Cooking] * js/git-perf-env-override (2025-04-20) 1 commit (merged to 'next' on 2025-04-22 at 77ea361791) + perf: do allow `GIT_PERF_*` to be overridden again Developer support fix.. Will merge to 'master'. source: <pull.1900.git.1743764167548.gitgitgadget@xxxxxxxxx> * ua/call-repo-config-with-possibly-null-repository (2025-04-20) 2 commits (merged to 'next' on 2025-04-22 at 1f30a19c02) + builtin/difftool: remove unnecessary if statement + builtin/add: remove unnecessary if statement Since a call to repo_config() can be called with repo set to NULL these days, a command that is marked as RUN_SETUP in the builtin command table does not have to check repo with NULL before making the call. Will merge to 'master'. source: <20250420025501.183290-1-usmanakinyemi202@xxxxxxxxx> * az/tighten-string-array-constness (2025-04-21) 1 commit (merged to 'next' on 2025-04-23 at 5a2b439731) + global: mark usage strings and string tables const Code clean-up. Will merge to 'master'. source: <daj53eijkqzsjy5cvuxchea4qm3pbiu673ehetihfffyvwzhgs@xxxxxxxxxxxxxxxxxxxxxxxx> * es/meson-cleanup (2025-04-24) 6 commits - meson: only check for missing networking syms on non-Windows; add compat impls - meson: fix typo in function check that prevented checking for hstrerror - meson: add a couple missing networking dependencies - meson: do a full usage-based compile check for sysinfo - meson: check for getpagesize before using it - meson: simplify and parameterize various standard function checks Code clean-up for meson-based build infrastructure. Ready? source: <20250425002017.246985-1-eschwartz@xxxxxxxxxx> * jh/gc-launchctl-schedule-fix (2025-04-23) 1 commit (merged to 'next' on 2025-04-23 at ab4f2e0c26) + maintenance: fix launchctl calendar intervals Fix for scheduled maintenance tasks on platforms using launchctl. Will merge to 'master'. source: <20250421054633.231069-2-joshiheinrichs@xxxxxxxxx> * js/windows-arm64 (2025-04-23) 6 commits - max_tree_depth: lower it for clangarm64 on Windows - mingw(arm64): do move the `/etc/git*` location - msvc: do handle builds on Windows/ARM64 - mingw: do not use nedmalloc on Windows/ARM64 - config.mak.uname: add support for clangarm64 - bswap.h: add support for built-in bswap functions Update to arm64 Windows port. Will merge to 'next'? source: <pull.1904.v2.git.1745395308.gitgitgadget@xxxxxxxxx> * jk/p5332-testfix (2025-04-22) 1 commit (merged to 'next' on 2025-04-24 at eafff4d7b7) + p5332: drop "+" from --stdin-packs input A test fix. Will merge to 'master'. source: <20250422111632.GA1855088@xxxxxxxxxxxxxxxxxxxxxxx> * lo/remove-log-reencode-from-rev-info (2025-04-22) 1 commit (merged to 'next' on 2025-04-24 at 1c6c33ab1f) + revision: remove log_reencode field from rev_info Code clean-up. Will merge to 'master'. source: <20250422213133.18685-1-lucasseikioshiro@xxxxxxxxx> * ps/ci-resurrect-p4-on-github (2025-04-22) 1 commit (merged to 'next' on 2025-04-24 at 8594d07a3e) + ci: fix p4d executable not being found on GitHub Actions CI fix. Will merge to 'master'. source: <aActb3dB-r3s69h6@xxxxxx> * ps/install-bash-completion (2025-04-22) 1 commit (merged to 'next' on 2025-04-24 at 1171444ac4) + contrib/completion: install Bash completion Build update to install bash (but not zsh) completion script. Will merge to 'master'. source: <20250422-b4-pks-meson-install-completions-v2-1-ab29d399bc6c@xxxxxx> * sj/string-list-typefix (2025-04-22) 5 commits - 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: fix sign compare warnings Code and test clean-up around string-list API. Comments? source: <aAetW0dan8S3Fljq@ArchLinux> * tb/midx-avoid-cruft-packs (2025-04-15) 9 commits - 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 "pack-objects" has been taught to avoid pointing into objects in cruft packs from midx. Comments? source: <cover.1744757204.git.me@xxxxxxxxxxxx> * tb/pack-bitmap-lookup-tables (2025-04-17) 4 commits - t/perf/lib-bitmap.sh: avoid test_perf during setup - t/perf: avoid testing bitmaps without lookup table - p5312: removed duplicate performance test script - pack-bitmap: write lookup table extension by default Enable lookup tables extension in pack bitmap (and midx bitmap) by default. Comments? source: <cover.1744924321.git.me@xxxxxxxxxxxx> * as/typofix-in-env-h-header (2025-04-18) 1 commit (merged to 'next' on 2025-04-23 at a9954f6cec) + environment: fix typo: 'setup_git_directory_gently' Typofix. Will merge to 'master'. source: <20250418185855.52950-1-abhijeet.nkt@xxxxxxxxxx> * ps/meson-build-perf-bench (2025-04-22) 5 commits - meson: wire up benchmarking options - meson: wire up benchmarks - t/perf: fix benchmarks with out-of-tree builds - t/perf: use configured PERL_PATH - t/perf: fix benchmarks with alternate repo formats The build procedure based on Meson learned to drive the benchmarking tests. Comments? source: <20250422-pks-meson-benchmarks-v3-0-7aad68bac6fd@xxxxxx> * ps/fewer-perl (2025-04-16) 5 commits (merged to 'next' on 2025-04-23 at 275d267126) + Documentation: stop depending on Perl to generate command list + Documentation: stop depending on Perl to massage user manual + request-pull: stop depending on Perl + filter-branch: stop depending on Perl + Merge branch 'ps/test-wo-perl-prereq' into ps/fewer-perl Reduce requirement for Perl in our documentation build and a few scripts. Will merge to 'master'. source: <20250416-b4-pks-drop-perl-v2-0-bdd0492e9498@xxxxxx> * kn/meson-hdr-check (2025-04-23) 7 commits - makefile/meson: add 'check-headers' as alias for 'hdr-check' - meson: add support for 'hdr-check' - meson: rename 'third_party_sources' to 'third_party_excludes' - meson: move headers definition from 'contrib/coccinelle' - coccinelle: meson: rename variables to be more specific - ci/github: install git before checking out the repository - Merge branch 'es/meson-build-skip-coccinelle' into kn/meson-hdr-check Add an equivalent to "make hdr-check" target to meson based builds. Will merge to 'next'? source: <20250423-505-wire-up-sparse-via-meson-v5-0-d1e2be4b2078@xxxxxxxxx> * pb/status-rebase-fixes (2025-03-28) 4 commits - wt-status: suggest 'git rebase --continue' to conclude 'merge' instruction - wt-status: also abbreviate 'merge' and 'fixup -C' lines during rebase - SQUASH??? - <CAPig+cS92W_gYuNsaTvQxiP3xBK7Wpg0__uVkgAU1x0OFJUZgQ@xxxxxxxxxxxxxx> - rebase -r: do create merge commit after empty resolution A few fixes around "git status" while "git rebase" is running, plus a corner case bug fix for "git rebase -r". Expecting a (small and hopefully final) clarifying reroll. cf. <c2f93d99-2f4d-ee6d-7087-42320c6df0f2@xxxxxx> cf. <e9700234-324d-dc63-d91e-9b8f36fabc79@xxxxxxxxx> source: <pull.1897.git.1743181401.gitgitgadget@xxxxxxxxx> * md/userdiff-bash-shell-function (2025-04-01) 1 commit - userdiff: extend Bash pattern to cover more shell function forms The userdiff pattern for shell scripts has been updated to cope with more bash-isms. Comments? source: <20250330134018.9662-2-dhar61595@xxxxxxxxx> * ps/reftable-api-revamp (2025-04-07) 17 commits (merged to 'next' on 2025-04-23 at 1a5f00290a) + reftable/table: move printing logic into test helper + reftable/constants: make block types part of the public interface + reftable/table: introduce iterator for table blocks + reftable/table: add `reftable_table` to the public interface + reftable/block: expose a generic iterator over reftable records + reftable/block: make block iterators reseekable + reftable/block: store block pointer in the block iterator + reftable/block: create public interface for reading blocks + git-zlib: use `struct z_stream_s` instead of typedef + reftable/block: rename `block_reader` to `reftable_block` + reftable/block: rename `block` to `block_data` + reftable/table: move reading block into block reader + reftable/block: simplify how we track restart points + reftable/blocksource: consolidate code into a single file + reftable/reader: rename data structure to "table" + reftable: fix formatting of the license header + Merge branch 'ps/reftable-sans-compat-util' into ps/reftable-api-revamp Overhaul of the reftable API. Will merge to 'master'. cf. <3okrcl7bdpy75hzyzpmrp7fluan4n3zvsroioq64id4a2kt3o4@fc6fetilb6y2> source: <20250407-pks-reftable-polishing-v2-0-316c4ff10571@xxxxxx> * sc/bundle-uri-use-all-refs-in-bundle (2025-03-18) 2 commits - bundle-uri: add test for bundle-uri clones with tags - bundle-uri: copy all bundle references ino the refs/bundle space Bundle-URI feature did not use refs recorded in the bundle other than normal branches as anchoring points to optimize the follow-up fetch during "git clone"; now it is told to utilize all. Needs more work on tests. cf. <e4244e04-d2f3-43ab-88cf-58d9804731b8@xxxxxxxxx> source: <pull.1897.v3.git.git.1742312173.gitgitgadget@xxxxxxxxx> * ds/path-walk-2 (2025-03-25) 13 commits - pack-objects: allow --shallow and --path-walk - path-walk: add new 'edge_aggressive' option - pack-objects: thread the path-based compression - pack-objects: refactor path-walk delta phase - scalar: enable path-walk during push via config - pack-objects: enable --path-walk via config - repack: add --path-walk option - t5538: add tests to confirm deltas in shallow pushes - pack-objects: introduce GIT_TEST_PACK_PATH_WALK - p5313: add performance tests for --path-walk - pack-objects: update usage to match docs - pack-objects: add --path-walk option - pack-objects: extract should_attempt_deltas() "git pack-objects" learns to find delta bases from blobs at the same path, using the --path-walk API. Comments? source: <pull.1819.v2.git.1742829769.gitgitgadget@xxxxxxxxx> * ib/diff-S-G-with-longhand (2025-02-12) 10 commits - diff: docs: Use --patch-{grep,modifies} over -G/-S - diff: --pickaxe-{all,regex} help: Add --patch-{grep,modifies} - diff: test: Use --patch-{grep,modifies} over -G/-S - completion: Support --patch-{grep,modifies} - diff: --patch-{grep,modifies} arg names for -G and -S - docs: gitdiffcore: -G and -S: Use regex/string placeholders - diff: short help: Add -G and --pickaxe-grep - diff: short help: Correct -S description - diff: -G description: Correct copy/paste error - t/t4209-log-pickaxe: Naming typo: -G takes a regex The commands in the "diff" family learned longhands for "-S" and "-G" options. Expecting a reroll. source: <20250212032657.1807939-1-illia.bobyr@xxxxxxxxx> * ej/cat-file-remote-object-info (2025-02-24) 8 commits - cat-file: add remote-object-info to batch-command - transport: add client support for object-info - serve: advertise object-info feature - fetch-pack: move fetch initialization - fetch-pack: refactor packet writing - t1006: split test utility functions into new "lib-cat-file.sh" - cat-file: add declaration of variable i inside its for loop - git-compat-util: add strtoul_ul() with error handling "git cat-file --batch" and friends can optionally ask a remote server about objects it does not have. Expecting a reroll. cf. <CAN2LT1Cc-UaUpabqcGascicR3nk6ZdFythamKje33Orhy5WoNA@xxxxxxxxxxxxxx> source: <20250221190451.12536-1-eric.peijian@xxxxxxxxx>