]> git.ipfire.org Git - thirdparty/git.git/commitdiff
What's cooking (2025/04 #01)
authorJunio C Hamano <gitster@pobox.com>
Mon, 7 Apr 2025 16:37:56 +0000 (09:37 -0700)
committerJunio C Hamano <gitster@pobox.com>
Mon, 7 Apr 2025 16:37:56 +0000 (09:37 -0700)
whats-cooking.txt

index 031680fd57b7d3fb19c2e105314120d3e2ad13d2..161e06921849c53d7bf8bf7d2e7550eed51f86fa 100644 (file)
@@ -1,10 +1,10 @@
 To: git@vger.kernel.org
-Subject: What's cooking in git.git (Mar 2025, #07; Wed, 26)
-X-master-at: 66b90d9bad8476f6f3d71f5add5cf78809a998ed
-X-next-at: 12c9017322054d91838b18540dea310d9448fd6e
+Subject: What's cooking in git.git (Apr 2025, #01; Mon, 7)
+X-master-at: 5b97a56fa0e7d580dc8865b73107407c9b3f0eff
+X-next-at: ff1f9ca942cece7b528239c099ac8bd8fcf768ce
 Bcc: lwn@lwn.net, gitster@pobox.com
 
-What's cooking in git.git (Mar 2025, #07; Wed, 26)
+What's cooking in git.git (Apr 2025, #01; Mon, 7)
 --------------------------------------------------
 
 Here are the topics that have been cooking in my tree.  Commits
@@ -17,8 +17,13 @@ topic without enough support may be discarded after a long period of
 no activity (of course they can be resubmit when new interests
 arise).
 
-I am still officially on vacation, but 2.50 cycle has been started
-and the first batch of topics are now in 'master'.
+As you can see, a handful of topics are marked as "Need to pick up a
+newer iteration"; I am aware of these newer threads but haven't
+caught up with them.  I'll probably spend more time on flushing what
+has been cooking already in my tree down to 'master', and then
+replace these topics with newer iteration before merging them to
+'next', before starting to pick up new topics that haven't hit my
+tree yet.  Hopefully that would happen in a few days.
 
 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
@@ -51,88 +56,421 @@ Release tarballs are available at:
 --------------------------------------------------
 [Graduated to 'master']
 
-* en/merge-process-renames-crash-fix (2025-03-06) 2 commits
-  (merged to 'next' on 2025-03-06 at 8f38331e32)
- + merge-ort: fix slightly overzealous assertion for rename-to-self
- + t6423: add a testcase causing a failed assertion in process_renames
+* ab/decorate-code-cleanup (2025-03-10) 1 commit
+  (merged to 'next' on 2025-03-18 at 7ede1484eb)
+ + decorate: fix sign comparison warnings
 
- The merge-recursive and merge-ort machinery crashed in corner cases
- when certain renames are involved.
- source: <pull.1873.git.1741275027.gitgitgadget@gmail.com>
+ Code clean-up.
+ source: <7c219279-8151-49c0-8fc0-8abe2624aca9@gmail.com>
 
 
-* ja/doc-block-delimiter-markup-fix (2025-03-10) 1 commit
-  (merged to 'next' on 2025-03-11 at 8d6641a77e)
- + doc: add a blank line around block delimiters
+* am/dir-dedup-decl-of-repository (2025-03-11) 1 commit
+  (merged to 'next' on 2025-03-18 at 9075454132)
+ + dir.h: remove duplicate forward declaration of struct repository
 
- Doc markup updates.
- source: <pull.1878.git.1741549511665.gitgitgadget@gmail.com>
+ Code cleanup.
+ source: <pull.1879.git.1741705175922.gitgitgadget@gmail.com>
 
 
-* jt/diff-pairs (2025-03-03) 4 commits
-  (merged to 'next' on 2025-03-03 at 32346e0c3b)
- + builtin/diff-pairs: allow explicit diff queue flush
- + builtin: introduce diff-pairs command
- + diff: add option to skip resolving diff statuses
- + diff: return diff_filepair from diff queue helpers
+* cc/signed-fast-export-import (2025-03-10) 6 commits
+  (merged to 'next' on 2025-03-18 at d98973e2cb)
+ + fast-export, fast-import: add support for signed-commits
+ + fast-export: do not modify memory from get_commit_buffer
+ + git-fast-export.adoc: clarify why 'verbatim' may not be a good idea
+ + fast-export: rename --signed-tags='warn' to 'warn-verbatim'
+ + fast-export: fix missing whitespace after switch
+ + git-fast-import.adoc: add missing LF in the BNF
 
- A post-processing filter for "diff --raw" output has been
- introduced.
- source: <20250228213346.1335224-1-jltobler@gmail.com>
-
-
-* sj/ref-consistency-checks-more (2025-02-27) 9 commits
-  (merged to 'next' on 2025-03-05 at 6bea9376c4)
- + builtin/fsck: add `git refs verify` child process
- + packed-backend: check whether the "packed-refs" is sorted
- + packed-backend: add "packed-refs" entry consistency check
- + packed-backend: check whether the refname contains NUL characters
- + packed-backend: add "packed-refs" header consistency check
- + packed-backend: check if header starts with "# pack-refs with: "
- + packed-backend: check whether the "packed-refs" is regular file
- + builtin/refs: get worktrees without reading head information
- + t0602: use subshell to ensure working directory unchanged
-
- "git fsck" becomes more careful when checking the refs.
- source: <Z8CMx7O19PMs9sVY@ArchLinux>
+ "git fast-export | git fast-import" learns to deal with commit and
+ tag objects with embedded signatures a bit better.
+ cf. <CABPp-BGyA8iBA0BFO8FcpZAMca94aVu2vHHRi4Oz=nCWxJSDPg@mail.gmail.com>
+ source: <20250310155746.879481-1-christian.couder@gmail.com>
 
 
-* tb/refs-exclude-fixes (2025-03-06) 2 commits
-  (merged to 'next' on 2025-03-06 at 50707f29db)
- + refs.c: stop matching non-directory prefixes in exclude patterns
- + refs.c: remove empty '--exclude' patterns
+* en/diff-rename-follow-fix (2025-03-14) 1 commit
+  (merged to 'next' on 2025-03-18 at 56808a7eda)
+ + diffcore-rename: fix BUG when break detection and --follow used together
 
- The refname exclusion logic in the packed-ref backend has been
- broken for some time, which confused upload-pack to advertise
- different set of refs.  This has been corrected.
- source: <cover.1741275245.git.me@ttaylorr.com>
-
-
-* ua/some-builtins-wo-the-repository (2025-03-07) 8 commits
-  (merged to 'next' on 2025-03-07 at 01f2b84529)
- + builtin/checkout-index: stop using `the_repository`
- + builtin/for-each-ref: stop using `the_repository`
- + builtin/ls-files: stop using `the_repository`
- + builtin/pack-refs: stop using `the_repository`
- + builtin/send-pack: stop using `the_repository`
- + builtin/verify-commit: stop using `the_repository`
- + builtin/verify-tag: stop using `the_repository`
- + config: teach repo_config to allow `repo` to be NULL
-
- A handful of built-in command implementations have been rewritten
- to use the repository instance supplied by git.c:run_builtin(), its
- caller.
- source: <20250307233543.1721552-1-usmanakinyemi202@gmail.com>
+ A corner-case bug in "git log --follow -B" has been fixed.
+ source: <pull.1876.v2.git.1742000894041.gitgitgadget@gmail.com>
+
+
+* en/merge-ort-prepare-to-remove-recursive (2025-03-18) 6 commits
+  (merged to 'next' on 2025-03-18 at a911944a1c)
+ + am: switch from merge_recursive_generic() to merge_ort_generic()
+ + merge-ort: fix merge.directoryRenames=false
+ + t3650: document bug when directory renames are turned off
+ + merge-ort: support having merge verbosity be set to 0
+ + merge-ort: allow rename detection to be disabled
+ + merge-ort: add new merge_ort_generic() function
+
+ First step of deprecating and removing merge-recursive.
+ source: <pull.1875.v2.git.1741834001.gitgitgadget@gmail.com>
+
+
+* en/random-cleanups (2025-03-17) 5 commits
+  (merged to 'next' on 2025-03-18 at 87acd24a85)
+ + merge-ort: remove extraneous word in comment
+ + merge-ort: fix accidental strset<->strintmap
+ + t7615: be more explicit about diff algorithm used
+ + t6423: fix a comment that accidentally reversed two commits
+ + stash: remove merge-recursive.h include
+
+ Miscellaneous code clean-ups.
+ source: <pull.1882.git.1742108339.gitgitgadget@gmail.com>
+
+
+* es/meson-building-docs-requires-perl (2025-03-17) 1 commit
+  (merged to 'next' on 2025-03-18 at 1c1d88dcb7)
+ + meson: fix perl detection when docs are enabled, but perl bindings aren't
+
+ Build update.
+ source: <20250316060605.166364-1-eschwartz@gentoo.org>
+
+
+* hj/doc-rev-list-ancestry-fix (2025-03-18) 1 commit
+  (merged to 'next' on 2025-03-18 at e94155a9ec)
+ + doc: add missing commit C to the graph for --ancestry-path=H D..M
+
+ Doc update.
+ source: <pull.1883.git.1742089659610.gitgitgadget@gmail.com>
+
+
+* jk/fetch-ref-prefix-cleanup (2025-03-10) 9 commits
+  (merged to 'next' on 2025-03-18 at ab3e5cf19f)
+ + fetch: use ref prefix list to skip ls-refs
+ + fetch: avoid ls-refs only to ask for HEAD symref update
+ + fetch: stop protecting additions to ref-prefix list
+ + fetch: ask server to advertise HEAD for config-less fetch
+ + refspec_ref_prefixes(): clean up refspec_item logic
+ + t5516: beef up exact-oid ref prefixes test
+ + t5516: drop NEEDSWORK about v2 reachability behavior
+ + t5516: prefer "oid" to "sha1" in some test titles
+ + t5702: fix typo in test name
+ (this branch is used by jk/fetch-follow-remote-head-fix and tb/refspec-fetch-cleanup.)
+
+ In protocol v2 where the refs advertisement is constrained, we try
+ to tell the server side not to limit the advertisement when there
+ is no specific need to, which has been the source of confusion and
+ recent bugs.  Revamp the logic to simplify.
+ source: <20250309030101.GA2334064@coredump.intra.peff.net>
+
+
+* jk/use-wunreachable-code-for-devs (2025-03-17) 3 commits
+  (merged to 'next' on 2025-03-18 at fe32168eef)
+ + config.mak.dev: enable -Wunreachable-code
+ + git-compat-util: add NOT_CONSTANT macro and use it in atfork_prepare()
+ + run-command: use errno to check for sigfillset() error
+
+ Enable -Wunreachable-code for developer builds.
+ source: <20250317235329.809302-1-gitster@pobox.com>
+
+
+* ps/meson-with-breaking-changes (2025-03-12) 3 commits
+  (merged to 'next' on 2025-03-18 at 15b1c62eff)
+ + meson: don't install git-pack-redundant(1) docs with breaking changes
+ + meson: don't compile git-pack-redundant(1) with breaking changes
+ + meson: define WITH_BREAKING_CHANGES when enabling breaking changes
+
+ Update meson based build procedure for breaking changes support.
+ source: <20250312-b4-pks-meson-breaking-changes-v1-0-b89e9a59d228@pks.im>
+
+
+* ps/refname-avail-check-optim (2025-03-12) 16 commits
+  (merged to 'next' on 2025-03-18 at 726197f7e0)
+ + refs: reuse iterators when determining refname availability
+ + refs/iterator: implement seeking for files iterators
+ + refs/iterator: implement seeking for packed-ref iterators
+ + refs/iterator: implement seeking for ref-cache iterators
+ + refs/iterator: implement seeking for reftable iterators
+ + refs/iterator: implement seeking for merged iterators
+ + refs/iterator: provide infrastructure to re-seek iterators
+ + refs/iterator: separate lifecycle from iteration
+ + refs: stop re-verifying common prefixes for availability
+ + refs/files: batch refname availability checks for initial transactions
+ + refs/files: batch refname availability checks for normal transactions
+ + refs/reftable: batch refname availability checks
+ + refs: introduce function to batch refname availability checks
+ + builtin/update-ref: skip ambiguity checks when parsing object IDs
+ + object-name: allow skipping ambiguity checks in `get_oid()` family
+ + object-name: introduce `repo_get_oid_with_flags()`
+ (this branch is used by kn/non-transactional-batch-updates.)
+
+ The code paths to check whether a refname X is available (by seeing
+ if another ref X/Y exists, etc.) have been optimized.
+ source: <20250312-pks-update-ref-optimization-v6-0-f778e0414f55@pks.im>
+
+
+* rs/xdiff-context-length-fix (2025-03-14) 1 commit
+  (merged to 'next' on 2025-03-18 at aca4b320d2)
+ + xdiff: avoid arithmetic overflow in xdl_get_hunk()
+
+ The xdiff code on 32-bit platform misbehaved when an insanely large
+ context size is given, which has been corrected.
+ source: <4e9b6b4c-aaa1-4c6f-93f4-7bb04607e843@web.de>
+
+
+* tb/multi-cruft-pack-refresh-fix (2025-03-13) 1 commit
+  (merged to 'next' on 2025-03-18 at e3f090e427)
+ + builtin/pack-objects.c: freshen objects from existing cruft packs
+ (this branch is used by tb/combine-cruft-below-size.)
+
+ Certain "cruft" objects would have never been refreshed when there
+ are multiple cruft packs in the repository, which has been
+ corrected.
+ source: <1563552bbda0bc910c9f41b0fabc3225c4d778fc.1741889018.git.me@ttaylorr.com>
 
 --------------------------------------------------
 [New Topics]
 
+* js/range-check-codeql-workaround (2025-03-28) 1 commit
+ - read-cache: check range before dereferencing an array element
+
+ Work around false positive from CodeQL checker.
+
+ Will merge to 'next'?
+ source: <73cae30129338cf219a810c3a2a78ef48d5637d0.1743073557.git.gitgitgadget@gmail.com>
+
+
+* jt/help-sha-backend-info-in-build-options (2025-03-28) 2 commits
+ - help: include unsafe SHA-1 build info in version
+ - help: include SHA implementation in version info
+
+ "git help --build-options" reports SHA-1 and SHA-256 backends used
+ in the build.
+
+ Need to pick up a newer iteration.
+ cf. <20250403140529.497876-1-jltobler@gmail.com>
+ source: <20250328170121.157563-1-jltobler@gmail.com>
+
+
+* pb/perf-test-fixes (2025-03-28) 2 commits
+ - p9210: fix 'scalar clone' when running from a detached HEAD
+ - p7821: fix test_perf invocation for prereqs
+
+ "make perf" fixes.
+
+ Will merge to 'next'?
+ cf. <Z-pD1puYT87YKAd4@pks.im>
+ source: <pull.1936.git.git.1743181669.gitgitgadget@gmail.com>
+
+
+* 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@mail.gmail.com>
+ - rebase -r: do create merge commit after empty resolution
+
+ A few fixes around "git status" while "git rebase" is running.
+
+ Comments?  It probably deserves a clarifying reroll.
+ cf. <c2f93d99-2f4d-ee6d-7087-42320c6df0f2@gmx.de>
+ source: <pull.1897.git.1743181401.gitgitgadget@gmail.com>
+
+
+* ps/cat-file-filter-batch (2025-03-28) 11 commits
+ - builtin/cat-file: use bitmaps to efficiently filter by object type
+ - builtin/cat-file: deduplicate logic to iterate over all objects
+ - pack-bitmap: introduce function to check whether a pack is bitmapped
+ - pack-bitmap: add function to iterate over filtered bitmapped objects
+ - pack-bitmap: allow passing payloads to `show_reachable_fn()`
+ - builtin/cat-file: support "object:type=" objects filter
+ - builtin/cat-file: support "blob:limit=" objects filter
+ - builtin/cat-file: support "blob:none" objects filter
+ - builtin/cat-file: wire up an option to filter objects
+ - builtin/cat-file: rename variable that tracks usage
+ - Merge branch 'tb/incremental-midx-part-2' into ps/cat-file-filter-batch
+ (this branch uses tb/incremental-midx-part-2.)
+
+ "git cat-file --batch" and friends learned to allow "--filter=" to
+ omit certain objects, just like the transport layer does.
+
+ Need to pick up a newer iteration.
+ cf. <20250402-pks-cat-file-object-type-filter-v3-0-4da6bb21871c@pks.im>
+ source: <20250327-pks-cat-file-object-type-filter-v2-0-4bbc7085d7c5@pks.im>
+
+
+* ps/misc-build-fixes (2025-04-01) 5 commits
+ - ci: use Visual Studio for win+meson job on GitHub Workflows
+ - meson: distinguish build and target host binaries
+ - meson: respect 'tests' build option in contrib
+ - gitweb: fix generation of "gitweb.js"
+ - meson: fix handling of '-Dcurl=auto'
+
+ Random build fixes.
+
+ Will merge to 'next'?
+ cf. <CAOLa=ZQ8bTn-prAs2ycLdLLjVaLQL4GtLw_gFsvAcx_6j=MBjA@mail.gmail.com>
+ source: <20250331-b4-pks-collect-build-fixes-v2-0-6b06136808f3@pks.im>
+
+
+* ps/test-wo-perl-prereq (2025-03-28) 20 commits
+ - t5703: refactor test to not depend on Perl
+ - t5316: refactor `max_chain()` to not depend on Perl
+ - t0210: refactor trace2 scrubbing to not use Perl
+ - t0021: refactor `generate_random_characters()` to not depend on Perl
+ - t/lib-httpd: refactor "one-time-perl" CGI script to not depend on Perl
+ - t/lib-t6000: refactor `name_from_description()` to not depend on Perl
+ - t/lib-gpg: refactor `sanitize_pgp()` to not depend on Perl
+ - t: refactor tests depending on Perl for textconv scripts
+ - t: refactor tests depending on Perl to print data
+ - t: refactor tests depending on Perl substitution operator
+ - t: refactor tests depending on Perl transliteration operator
+ - Makefile: stop requiring Perl when running tests
+ - meson: stop requiring Perl when tests are enabled
+ - t: adapt existing PERL prerequisites
+ - t: introduce PERL_TEST_HELPERS prerequisite
+ - t: adapt `test_readlink()` to not use Perl
+ - t: adapt `test_copy_bytes()` to not use Perl
+ - t: adapt character translation helpers to not use Perl
+ - t: refactor environment sanitization to not use Perl
+ - t: skip chain lint when PERL_PATH is unset
+
+ "make test" used to have a hard dependency on (basic) Perl; tests
+ have been rewritten help environment with NO_PERL test the build as
+ much as possible.
+
+ Need to pick up a newer iteration.
+ cf. <20250327-b4-pks-t-perlless-v3-0-b436de9da1b8@pks.im>
+ source: <20250327-b4-pks-t-perlless-v3-0-b436de9da1b8@pks.im>
+
+
+* pw/custom-conflict-marker-size-for-merge-related-docs (2025-03-29) 1 commit
+ - merge-file doc: set conflict-marker-size attribute
+
+ "git-merge-file" documentation source, which has lines that look
+ like conflict markers, lacked custom conflict marker size defined,
+ which has been corrected..
+
+ Will merge to 'next'.
+ source: <pull.1895.git.1743173140253.gitgitgadget@gmail.com>
+
+
+* ab/rm-sign-compare (2025-03-29) 1 commit
+ - rm: fix sign comparison warnings
+
+ Some warnings from "-Wsign-compare" for builtin/rm.c have been
+ squelched.
+
+ Will merge to 'next'.
+ source: <ecaaa968-f337-466b-b719-22ebb3587167@gmail.com>
+
+
+* kn/blame-porcelain-unblamable (2025-03-29) 1 commit
+ - blame: print unblamable and ignored commits in porcelain mode
+
+ "git blame --porcelain" mode now talks about unblamable lines and
+ lines that are blamed to an ignored commit.
+
+ Need to pick up a newer iteration.
+ cf. <20250403160326.120124-1-karthik.188@gmail.com>
+ source: <20250329-514-git-blame-1-s-porcelain-output-does-not-emit-unblamable-and-ignored-markers-v3-1-10f695ae519a@gmail.com>
+
+
+* ua/update-update-server-info (2025-03-29) 1 commit
+ - builtin/update-server-info: remove unnecessary if statement
+
+ Expecting a (hopefully minor and final) reroll.
+ cf. <xmqqa58snf9c.fsf@gitster.g>
+ source: <20250329120327.105925-2-usmanakinyemi202@gmail.com>
+
+
+* ab/pathspec-sign-compare-workaround (2025-04-01) 1 commit
+ - pathspec: fix sign comparison warnings
+
+ Some warnings from "-Wsign-compare" for pathspec.c have been
+ squelched.
+ Will merge to 'next'?
+ source: <127c3010-4b23-436e-a07d-e6031e746113@gmail.com>
+
+
+* bc/allow-upload-pack-from-other-people (2025-04-01) 1 commit
+ - t5605: fix test for cloning from a different user
+
+ Test fix for an already graduated topic.
+
+ Will merge to 'next'.
+ source: <Z-sO9gcWAi_xh0tI@tapette.crustytoothpaste.net>
+
+
+* en/merge-recursive-debug (2025-04-01) 8 commits
+ - builtin/{merge,rebase,revert}: remove GIT_TEST_MERGE_ALGORITHM
+ - tests: remove GIT_TEST_MERGE_ALGORITHM and test_expect_merge_algorithm
+ - merge-recursive.[ch]: thoroughly debug these
+ - merge, sequencer: switch recursive merges over to ort
+ - sequencer: switch non-recursive merges over to ort
+ - merge-ort: enable diff-algorithms other than histogram
+ - builtin/merge-recursive: switch to using merge_ort_generic()
+ - checkout: replace merge_trees() with merge_ort_nonrecursive()
+
+ Need to pick up a newer iteration.
+ cf. <pull.1898.v2.git.1743891374.gitgitgadget@gmail.com>
+ source: <pull.1898.git.1743436279.gitgitgadget@gmail.com>
+
+
+* ja/doc-reset-mv-rm-markup-updates (2025-04-01) 5 commits
+ - 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
+
+
+ Expecting a reroll.
+ cf. <CAN0heSodC8_Uwg_Lw31rtkdLfOEDyGg=iE0gb1TRrUWQEynT+w@mail.gmail.com>
+ cf. <dfe21538-e70c-4d19-a90f-2c3cf8d3d377@free.fr>
+ source: <pull.1896.git.1743354964.gitgitgadget@gmail.com>
+
+
+* 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@gmail.com>
+
+
+* mh/left-right-limited (2025-04-01) 1 commit
+ - 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.
+
+ Will merge to 'next'?
+ source: <20250330112850.2477673-1-m@lfurio.us>
+
+
+* ps/reftable-api-revamp (2025-04-01) 18 commits
+ - reftable/table: move printing logic into test helper
+ - reftable/constants: make block types part of the public interface
+ - SQUASH???
+ - 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
+ (this branch uses ps/reftable-sans-compat-util.)
+
+ Need to pick up a newer iteration.
+ cf. <20250407-pks-reftable-polishing-v2-0-316c4ff10571@pks.im>
+ source: <20250331-pks-reftable-polishing-v1-0-ebed5247434c@pks.im>
+
+--------------------------------------------------
+[Cooking]
+
 * ds/maintenance-loose-objects-batchsize (2025-03-23) 2 commits
  - maintenance: add loose-objects.batchSize config
  - maintenance: force progress/no-quiet to children
@@ -140,21 +478,10 @@ Release tarballs are available at:
  The job to coalesce loose objects into packfiles in "git
  maintenance" now has configurable batch size.
 
- Will merge to 'next'?
+ Will merge to 'next'.
  source: <pull.1885.git.1742777512.gitgitgadget@gmail.com>
 
 
-* js/libgit-cargo-package (2025-03-22) 5 commits
- . libgit-{sys,rs}: add license and description fields
- . libgit-sys: exclude unnecessary directories in git-src
- . libgit-sys: parallelize build with Cargo's jobserver
- . libgit-sys: add symlink to git repo root and build out of tree
- . libgitpub: move to separate contrib/ directory
-
- Breaks Windows CI job with "../.." symbolic link in the source.
- source: <cover.1742594960.git.steadmon@google.com>
-
-
 * jt/clone-guess-remote-head-fix (2025-03-25) 3 commits
  - advice: allow disabling default branch name advice
  - builtin/clone: suppress unexpected default branch advice
@@ -163,69 +490,78 @@ Release tarballs are available at:
  "git clone" still gave the message about the default branch name;
  this message has been turned into an advice message that can be
  turned off.
+
+ Will merge to 'next'.
+ cf. <69ccc682-3f81-440f-8e96-a5af5d49fa60@gmail.com>
  source: <20250325005148.1771502-1-jltobler@gmail.com>
 
 
-* lo/userdiff-gitconfig (2025-03-23) 1 commit
- - userdiff: add builtin driver for gitconfig syntax
+* lo/userdiff-gitconfig (2025-04-01) 1 commit
+ - userdiff: add builtin driver for INI files
 
- Expecting a reroll?
- source: <20250324021101.7483-1-lucasseikioshiro@gmail.com>
+ Will merge to 'next'.
+ cf. <Z-pGdyh0eG3xSe4W@pks.im>
+ source: <20250331031309.94682-1-lucasseikioshiro@gmail.com>
 
 
 * rs/clear-commit-marks-simplify (2025-03-24) 1 commit
- - commit: move clear_commit_marks_many() loop body to clear_commit_marks()
+  (merged to 'next' on 2025-03-29 at 222799fc4e)
+ + commit: move clear_commit_marks_many() loop body to clear_commit_marks()
 
  Code clean-up.
 
- Will merge to 'next'.
+ Will merge to 'master'.
  source: <80bfd7a9-904c-49d8-a367-ca268c096a9f@web.de>
 
 
 * ta/bulk-checkin-signed-compare-false-warning-fix (2025-03-25) 1 commit
- - bulk-checkin: fix sign compare warnings
+  (merged to 'next' on 2025-03-29 at 6f33c692ce)
+ + bulk-checkin: fix sign compare warnings
 
  Compiler warnings workaround.
 
- Will merge to 'next'.
+ Will merge to 'master'.
  source: <20250324214703.7547-1-taahol@utu.fi>
 
 
 * dk/vimdiff-doc-fix (2025-03-25) 1 commit
- - vimdiff: clarify the sigil used for marking the buffer to save
+  (merged to 'next' on 2025-03-29 at d0c7a36752)
+ + vimdiff: clarify the sigil used for marking the buffer to save
 
  Doc update.
 
- Will merge to 'next'.
+ Will merge to 'master'.
  source: <20250324205327.79627-1-ben.knoble+github@gmail.com>
 
 
 * es/meson-build-skip-coccinelle (2025-03-25) 1 commit
- - meson: disable coccinelle configuration when building from a tarball
+  (merged to 'next' on 2025-03-29 at 748d830ce7)
+ + meson: disable coccinelle configuration when building from a tarball
 
  Build fix.
 
- Will merge to 'next'.
+ Will merge to 'master'.
  source: <20250325200920.198057-1-eschwartz@gentoo.org>
 
 
 * fr/vimdiff-layout-fixes (2025-03-25) 2 commits
- - mergetools: vimdiff: add tests for layout with REMOTE as the target
- - mergetools: vimdiff: fix layout where REMOTE is the target
+  (merged to 'next' on 2025-03-29 at 367b2105c0)
+ + mergetools: vimdiff: add tests for layout with REMOTE as the target
+ + mergetools: vimdiff: fix layout where REMOTE is the target
 
  Layout configuration in vimdiff backend didn't work as advertised,
  which has been corrected.
 
- Will merge to 'next'.
+ Will merge to 'master'.
  source: <20250325222311.400748-1-greenfoo@u92.eu>
 
 
-* js/comma-semicolon-confusion (2025-03-25) 10 commits
+* js/comma-semicolon-confusion (2025-03-28) 10 commits
  - detect-compiler: detect clang even if it found CUDA
  - clang: warn when the comma operator is used
  - compat/regex: explicitly mark intentional use of the comma operator
- - wildmatch: explicitly mark intentional use of the comma operator
- - diff-delta: explicitly mark intentional use of the comma operator
+ - wildmatch: avoid using of the comma operator
+ - diff-delta: avoid using the comma operator
  - xdiff: avoid using the comma operator unnecessarily
  - clar: avoid using the comma operator unnecessarily
  - kwset: avoid using the comma operator unnecessarily
@@ -234,8 +570,8 @@ Release tarballs are available at:
 
  Code clean-up.
 
- Will merge to 'next'?
- source: <pull.1889.v2.git.1742945534.gitgitgadget@gmail.com>
+ Will merge to 'next'.
+ source: <pull.1889.v3.git.1743076383.gitgitgadget@gmail.com>
 
 
 * js/imap-send-peer-cert-verify (2025-03-25) 1 commit
@@ -256,19 +592,18 @@ Release tarballs are available at:
  Will merge to 'master'.
  source: <pull.1893.git.1742899110.gitgitgadget@gmail.com>
 
---------------------------------------------------
-[Cooking]
 
 * en/assert-wo-side-effects (2025-03-21) 3 commits
- - treewide: replace assert() with ASSERT() in special cases
- - ci: add build checking for side-effects in assert() calls
- - git-compat-util: introduce ASSERT() macro
+  (merged to 'next' on 2025-03-29 at de89bb3075)
+ + treewide: replace assert() with ASSERT() in special cases
+ + ci: add build checking for side-effects in assert() calls
+ + git-compat-util: introduce ASSERT() macro
 
  Ensure what we write in assert() does not have side effects,
  and introduce ASSERT() macro to mark those that cannot be
  mechanically checked for lack of side effects.
 
- Will merge to 'next'.
+ Will merge to 'master'.
  source: <pull.1881.v3.git.1742401378.gitgitgadget@gmail.com>
 
 
@@ -277,7 +612,8 @@ Release tarballs are available at:
 
  A ref transaction corner case fix.
 
- Will merge to 'next'?
+ Will merge to 'next'.
+ cf. <Z-E2ns9VziejSLB2@pks.im>
  source: <20250321004437.505461-1-jltobler@gmail.com>
 
 
@@ -294,14 +630,15 @@ Release tarballs are available at:
 
 
 * ms/reftable-block-writer-errors (2025-03-21) 3 commits
- - reftable: adapt write_object_record() to propagate block_writer_add() errors
- - reftable: adapt writer_add_record() to propagate block_writer_add() errors
- - reftable: propagate specific error codes in block_writer_add()
+  (merged to 'next' on 2025-03-29 at 67fdddb622)
+ + reftable: adapt write_object_record() to propagate block_writer_add() errors
+ + reftable: adapt writer_add_record() to propagate block_writer_add() errors
+ + reftable: propagate specific error codes in block_writer_add()
 
  Give more meaningful error return values from block writer layer of
  the reftable ref-API backend.
 
- Will merge to 'next'.
+ Will merge to 'master'.
  cf. <Z9rnZzbEasyRbHIY@pks.im>
  source: <20250319152927.1263033-1-meetsoni3017@gmail.com>
 
@@ -317,88 +654,56 @@ Release tarballs are available at:
 
 
 * tb/http-curl-keepalive (2025-03-21) 4 commits
- - http.c: allow custom TCP keepalive behavior via config
- - http.c: inline `set_curl_keepalive()`
- - http.c: introduce `set_long_from_env()` for convenience
- - http.c: remove unnecessary casts to long
+  (merged to 'next' on 2025-03-29 at 4782cca658)
+ + http.c: allow custom TCP keepalive behavior via config
+ + http.c: inline `set_curl_keepalive()`
+ + http.c: introduce `set_long_from_env()` for convenience
+ + http.c: remove unnecessary casts to long
 
  TCP keepalive behaviour on http transports can now be configured by
  calling cURL library.
 
- Will merge to 'next'.
+ Will merge to 'master'.
  cf. <CABPp-BEn+NfGu1c=ZWjwnFBJgmsxRVSq+Roin-KDQGqKPdDhCg@mail.gmail.com>
  source: <cover.1742423021.git.me@ttaylorr.com>
 
 
 * tb/refspec-fetch-cleanup (2025-03-21) 5 commits
- - refspec: replace `refspec_item_init()` with fetch/push variants
- - refspec: remove refspec_item_init_or_die()
- - refspec: replace `refspec_init()` with fetch/push variants
- - refspec: treat 'fetch' as a Boolean value
- - Merge branch 'jk/fetch-ref-prefix-cleanup' into tb/refspec-fetch-cleanup
- (this branch uses jk/fetch-ref-prefix-cleanup.)
+  (merged to 'next' on 2025-03-29 at 6cf1359bf4)
+ + refspec: replace `refspec_item_init()` with fetch/push variants
+ + refspec: remove refspec_item_init_or_die()
+ + refspec: replace `refspec_init()` with fetch/push variants
+ + refspec: treat 'fetch' as a Boolean value
+ + Merge branch 'jk/fetch-ref-prefix-cleanup' into tb/refspec-fetch-cleanup
 
  Code clean-up.
 
- Will merge to 'next'.
+ Will merge to 'master'.
  cf. <CABPp-BE6JmiXB+pUL1Z4ewVDbG2RBxCdA2m5-WTYtoKMTtu_Xw@mail.gmail.com>
  source: <cover.1742338207.git.me@ttaylorr.com>
 
 
-* zy/send-email-error-handling (2025-03-25) 2 commits
- - send-email: finer-grained SMTP error handling
- - send-email: capture errors in an eval {} block
-
- Auth-related (and unrelated) error handling in send-email has been
- made more robust.
-
- Getting there.
- source: <20250324145332.571813-1-05ZYT30@gmail.com>
-
-
-* aj/doc-restore-p-update (2025-03-18) 1 commit
-  (merged to 'next' on 2025-03-24 at bdcfdc7f4e)
- + doc: restore: remove note on --patch w/ pathspecs
-
- Stale description in "git restore -p" documentation has been
- updated.
-
- Will merge to 'master'.
- source: <pull.1504.v2.git.git.1685654097812.gitgitgadget@gmail.com>
-
-
-* en/random-cleanups (2025-03-17) 5 commits
-  (merged to 'next' on 2025-03-18 at 87acd24a85)
- + merge-ort: remove extraneous word in comment
- + merge-ort: fix accidental strset<->strintmap
- + t7615: be more explicit about diff algorithm used
- + t6423: fix a comment that accidentally reversed two commits
- + stash: remove merge-recursive.h include
-
- Miscellaneous code clean-ups.
-
- Will merge to 'master'.
- source: <pull.1882.git.1742108339.gitgitgadget@gmail.com>
-
-
-* es/meson-building-docs-requires-perl (2025-03-17) 1 commit
-  (merged to 'next' on 2025-03-18 at 1c1d88dcb7)
- + meson: fix perl detection when docs are enabled, but perl bindings aren't
+* zy/send-email-error-handling (2025-03-25) 2 commits
+ - send-email: finer-grained SMTP error handling
+ - send-email: capture errors in an eval {} block
 
- Build update.
+ Auth-related (and unrelated) error handling in send-email has been
+ made more robust.
 
- Will merge to 'master'.
- source: <20250316060605.166364-1-eschwartz@gentoo.org>
+ Need to pick up a newer iteration.
+ cf. <20250326075246.2612627-1-05ZYT30@gmail.com>
+ source: <20250324145332.571813-1-05ZYT30@gmail.com>
 
 
-* hj/doc-rev-list-ancestry-fix (2025-03-18) 1 commit
-  (merged to 'next' on 2025-03-18 at e94155a9ec)
- + doc: add missing commit C to the graph for --ancestry-path=H D..M
+* aj/doc-restore-p-update (2025-03-18) 1 commit
+  (merged to 'next' on 2025-03-24 at bdcfdc7f4e)
+ + doc: restore: remove note on --patch w/ pathspecs
 
- Doc update.
+ Stale description in "git restore -p" documentation has been
+ updated.
 
  Will merge to 'master'.
- source: <pull.1883.git.1742089659610.gitgitgadget@gmail.com>
+ source: <pull.1504.v2.git.git.1685654097812.gitgitgadget@gmail.com>
 
 
 * ja/doc-branch-markup (2025-03-20) 2 commits
@@ -418,31 +723,11 @@ Release tarballs are available at:
 
  Fix lockfile contention in reftable code on Windows.
 
- Comments?
+ Will merge to 'next'.
+ cf. <801fac5d-dd98-d157-6ff3-c3e8aa6a68ae@gmx.de>
  source: <20250320-b4-pks-mingw-lockfile-flake-v2-0-a84c90cfc6c2@pks.im>
 
 
-* rs/xdiff-context-length-fix (2025-03-14) 1 commit
-  (merged to 'next' on 2025-03-18 at aca4b320d2)
- + xdiff: avoid arithmetic overflow in xdl_get_hunk()
-
- The xdiff code on 32-bit platform misbehaved when an insanely large
- context size is given, which has been corrected.
-
- Will merge to 'master'.
- source: <4e9b6b4c-aaa1-4c6f-93f4-7bb04607e843@web.de>
-
-
-* sj/meson-test-environ-fix (2025-03-14) 1 commit
- - meson: use test_environment conditionally.
-
- meson-based build procedure was overly aggressive in using test
- environment in two contrib/ directories, which was corrected.
-
- Needs review.
- source: <3d127f293818f935efdb9ca7bb556e6a8f233ef7.1741975557.git.sam@gentoo.org>
-
-
 * tb/combine-cruft-below-size (2025-03-21) 6 commits
   (merged to 'next' on 2025-03-24 at 699b83a925)
  + repack: begin combining cruft packs with `--combine-cruft-below-size`
@@ -451,7 +736,6 @@ Release tarballs are available at:
  + t/t7704-repack-cruft.sh: clarify wording in --max-cruft-size tests
  + t/t5329-pack-objects-cruft.sh: evict 'repack'-related tests
  + Merge branch 'tb/multi-cruft-pack-refresh-fix' into tb/combine-cruft-below-size
- (this branch uses tb/multi-cruft-pack-refresh-fix.)
 
  "git repack" learned "--combine-cruft-below-size" option that
  controls how cruft-packs are combined.
@@ -476,13 +760,13 @@ Release tarballs are available at:
  - fetch: don't ask for remote HEAD if followRemoteHEAD is "never"
  - fetch: only respect followRemoteHEAD with configured refspecs
  - Merge branch 'jk/fetch-ref-prefix-cleanup' into jk/fetch-follow-remote-head-fix
- (this branch uses jk/fetch-ref-prefix-cleanup.)
 
  "git fetch [<remote>]" with only the configured fetch refspec
  should be the only thing to update refs/remotes/<remote>/HEAD,
  but the code was overly eager to do so in other cases.
 
- Will merge to 'next'?
+ Will merge to 'next'.
+ cf. <Z9n7myvpnDOWFWqt@nand.local>
  source: <20250318053905.GA2051217@coredump.intra.peff.net>
 
 
@@ -515,57 +799,11 @@ Release tarballs are available at:
  than normal branches as anchoring points to optimize the follow-up
  fetch during "git clone"; now it is told to utilize all.
 
- Comments?
+ Needs more work on tests.
+ cf. <e4244e04-d2f3-43ab-88cf-58d9804731b8@gmail.com>
  source: <pull.1897.v3.git.git.1742312173.gitgitgadget@gmail.com>
 
 
-* en/diff-rename-follow-fix (2025-03-14) 1 commit
-  (merged to 'next' on 2025-03-18 at 56808a7eda)
- + diffcore-rename: fix BUG when break detection and --follow used together
-
- A corner-case bug in "git log --follow -B" has been fixed.
-
- Will merge to 'master'.
- source: <pull.1876.v2.git.1742000894041.gitgitgadget@gmail.com>
-
-
-* en/merge-ort-prepare-to-remove-recursive (2025-03-18) 6 commits
-  (merged to 'next' on 2025-03-18 at a911944a1c)
- + am: switch from merge_recursive_generic() to merge_ort_generic()
- + merge-ort: fix merge.directoryRenames=false
- + t3650: document bug when directory renames are turned off
- + merge-ort: support having merge verbosity be set to 0
- + merge-ort: allow rename detection to be disabled
- + merge-ort: add new merge_ort_generic() function
-
- First step of deprecating and removing merge-recursive.
-
- Will merge to 'master'.
- source: <pull.1875.v2.git.1741834001.gitgitgadget@gmail.com>
-
-
-* jk/use-wunreachable-code-for-devs (2025-03-17) 3 commits
-  (merged to 'next' on 2025-03-18 at fe32168eef)
- + config.mak.dev: enable -Wunreachable-code
- + git-compat-util: add NOT_CONSTANT macro and use it in atfork_prepare()
- + run-command: use errno to check for sigfillset() error
-
- Enable -Wunreachable-code for developer builds.
-
- Will merge to 'master'.
- source: <20250317235329.809302-1-gitster@pobox.com>
-
-
-* ab/decorate-code-cleanup (2025-03-10) 1 commit
-  (merged to 'next' on 2025-03-18 at 7ede1484eb)
- + decorate: fix sign comparison warnings
-
- Code clean-up.
-
- Will merge to 'master'.
- source: <7c219279-8151-49c0-8fc0-8abe2624aca9@gmail.com>
-
-
 * ds/path-walk-2 (2025-03-25) 13 commits
  - pack-objects: allow --shallow and --path-walk
  - path-walk: add new 'edge_aggressive' option
@@ -605,28 +843,6 @@ Release tarballs are available at:
  source: <20250311212505.2920181-1-gitster@pobox.com>
 
 
-* jk/fetch-ref-prefix-cleanup (2025-03-10) 9 commits
-  (merged to 'next' on 2025-03-18 at ab3e5cf19f)
- + fetch: use ref prefix list to skip ls-refs
- + fetch: avoid ls-refs only to ask for HEAD symref update
- + fetch: stop protecting additions to ref-prefix list
- + fetch: ask server to advertise HEAD for config-less fetch
- + refspec_ref_prefixes(): clean up refspec_item logic
- + t5516: beef up exact-oid ref prefixes test
- + t5516: drop NEEDSWORK about v2 reachability behavior
- + t5516: prefer "oid" to "sha1" in some test titles
- + t5702: fix typo in test name
- (this branch is used by jk/fetch-follow-remote-head-fix and tb/refspec-fetch-cleanup.)
-
- In protocol v2 where the refs advertisement is constrained, we try
- to tell the server side not to limit the advertisement when there
- is no specific need to, which has been the source of confusion and
- recent bugs.  Revamp the logic to simplify.
-
- Will merge to 'master'.
- source: <20250309030101.GA2334064@coredump.intra.peff.net>
-
-
 * jt/rev-list-z (2025-03-21) 5 commits
  - rev-list: support NUL-delimited --missing option
  - rev-list: support NUL-delimited --boundary option
@@ -648,20 +864,11 @@ Release tarballs are available at:
  "git reflog" learns "drop" subcommand, that discards the entire
  reflog data for a ref.
 
- Will merge to 'next'?
+ Will merge to 'next'.
+ cf. <CAP8UFD1vTkPH=5b++6+=koozC31=wD1gQszvdFmzb73B9HM4Aw@mail.gmail.com>
  source: <20250314-493-add-command-to-purge-reflog-entries-v3-0-c24e23a6146d@gmail.com>
 
 
-* am/dir-dedup-decl-of-repository (2025-03-11) 1 commit
-  (merged to 'next' on 2025-03-18 at 9075454132)
- + dir.h: remove duplicate forward declaration of struct repository
-
- Code cleanup.
-
- Will merge to 'master'.
- source: <pull.1879.git.1741705175922.gitgitgadget@gmail.com>
-
-
 * cc/lop-remote (2025-03-18) 4 commits
   (merged to 'next' on 2025-03-24 at 3b685ceef0)
  + promisor-remote: compare remote names case sensitively
@@ -676,30 +883,21 @@ Release tarballs are available at:
 
 
 * ps/ci-meson-check-build-docs (2025-03-12) 1 commit
- - ci: perform build and smoke tests for Meson docs
+  (merged to 'next' on 2025-03-29 at 5aed226a96)
+ + ci: perform build and smoke tests for Meson docs
 
  CI update.
 
- Will merge to 'next'.
- source: <20250312-b4-pks-ci-meson-docs-v1-1-5e7cf7ac959a@pks.im>
-
-
-* ps/meson-with-breaking-changes (2025-03-12) 3 commits
-  (merged to 'next' on 2025-03-18 at 15b1c62eff)
- + meson: don't install git-pack-redundant(1) docs with breaking changes
- + meson: don't compile git-pack-redundant(1) with breaking changes
- + meson: define WITH_BREAKING_CHANGES when enabling breaking changes
-
- Update meson based build procedure for breaking changes support.
-
  Will merge to 'master'.
- source: <20250312-b4-pks-meson-breaking-changes-v1-0-b89e9a59d228@pks.im>
+ source: <20250312-b4-pks-ci-meson-docs-v1-1-5e7cf7ac959a@pks.im>
 
 
 * md/t1403-path-is-file (2025-03-04) 1 commit
  - t1403: verify that path exists and is a file
 
  Test tweak.
+
+ Will merge to 'next'.
  source: <20250304112728.41228-2-danimahendra0904@gmail.com>
 
 
@@ -710,7 +908,8 @@ Release tarballs are available at:
  A few traditional unit tests have been rewritten to use the clar
  framework.
 
- Comments?
+ Will merge to 'next'?
+ cf. <xmqqzfi0pthr.fsf@gitster.g>
  source: <20250304113323.10564-1-kuforiji98@gmail.com>
 
 
@@ -727,7 +926,8 @@ Release tarballs are available at:
  source: <17274df2746d304db876ebd82ad8d932@mandelberg.org>
 
 
-* kn/non-transactional-batch-updates (2025-03-21) 9 commits
+* kn/non-transactional-batch-updates (2025-03-29) 10 commits
+ - SQUASH??? - <6141866.lOV4Wx5bFT@cayenne>
  - update-ref: add --batch-updates flag for stdin mode
  - refs: support rejection in batch updates during F/D checks
  - refs: implement batch reference update support
@@ -737,7 +937,6 @@ Release tarballs are available at:
  - refs: move duplicate refname update check to generic layer
  - refs/files: remove redundant check in split_symref_update()
  - Merge branch 'ps/refname-avail-check-optim' into kn/non-transactional-batch-updates
- (this branch uses ps/refname-avail-check-optim.)
 
  Updating multiple references have only been possible in all-or-none
  fashion with transactions, but it can be more efficient to batch
@@ -745,8 +944,9 @@ Release tarballs are available at:
  best-effort manner.  A new "best effort batches of updates" mode
  has been introduced.
 
- Comments?
- source: <20250320-245-partially-atomic-ref-updates-v4-0-3dcc1b311dc9@gmail.com>
+ Expecting a (small and hopefully final) reroll.
+ cf. <CAOLa=ZQDiCx_VJRbQB1K6EeuA2mDj4twEB98ByddUNLtB8rEKQ@mail.gmail.com>
+ source: <20250327-245-partially-atomic-ref-updates-v5-0-4db2a3e34404@gmail.com>
 
 
 * ps/object-wo-the-repository (2025-03-10) 12 commits
@@ -766,7 +966,8 @@ Release tarballs are available at:
  The object layer has been updated to take an explicit repository
  instance as a parameter in more code paths.
 
- Looking good.
+ Will merge to 'next'.
+ cf. <CABPp-BFrjqf=dMNwxzyMj3EQrAXTYkH7rDTi7X7xoWnoW_A4eA@mail.gmail.com>
  source: <20250310-b4-pks-objects-without-the-repository-v4-0-f201b8ec57ba@pks.im>
 
 
@@ -780,50 +981,12 @@ Release tarballs are available at:
 
  "git maintenance" learns a new task to expire reflog entries.
 
- Needs (real) review.
+ Expecting a (small and hopefully final) reroll.
+ cf. <ammsrvhyzo6f7hfcizlh42e3e5cznfb2j37tcicliqqpqaaqgs@4mniagc5ejzz>
+ cf. <usf4pzrp322xvfrvsasgy22rnw7d2a6krzuctwpp23ppdgh6ji@ram73wv5dn54>
  source: <20250226-pks-maintenance-reflog-expire-v1-0-a1204a814952@pks.im>
 
 
-* ps/refname-avail-check-optim (2025-03-12) 16 commits
-  (merged to 'next' on 2025-03-18 at 726197f7e0)
- + refs: reuse iterators when determining refname availability
- + refs/iterator: implement seeking for files iterators
- + refs/iterator: implement seeking for packed-ref iterators
- + refs/iterator: implement seeking for ref-cache iterators
- + refs/iterator: implement seeking for reftable iterators
- + refs/iterator: implement seeking for merged iterators
- + refs/iterator: provide infrastructure to re-seek iterators
- + refs/iterator: separate lifecycle from iteration
- + refs: stop re-verifying common prefixes for availability
- + refs/files: batch refname availability checks for initial transactions
- + refs/files: batch refname availability checks for normal transactions
- + refs/reftable: batch refname availability checks
- + refs: introduce function to batch refname availability checks
- + builtin/update-ref: skip ambiguity checks when parsing object IDs
- + object-name: allow skipping ambiguity checks in `get_oid()` family
- + object-name: introduce `repo_get_oid_with_flags()`
- (this branch is used by kn/non-transactional-batch-updates.)
-
- The code paths to check whether a refname X is available (by seeing
- if another ref X/Y exists, etc.) have been optimized.
-
- Will merge to 'master'.
- source: <20250312-pks-update-ref-optimization-v6-0-f778e0414f55@pks.im>
-
-
-* tb/multi-cruft-pack-refresh-fix (2025-03-13) 1 commit
-  (merged to 'next' on 2025-03-18 at e3f090e427)
- + builtin/pack-objects.c: freshen objects from existing cruft packs
- (this branch is used by tb/combine-cruft-below-size.)
-
- Certain "cruft" objects would have never been refreshed when there
- are multiple cruft packs in the repository, which has been
- corrected.
-
- Will merge to 'master'.
- source: <1563552bbda0bc910c9f41b0fabc3225c4d778fc.1741889018.git.me@ttaylorr.com>
-
-
 * jk/zlib-inflate-fixes (2025-02-25) 10 commits
  - unpack_loose_rest(): rewrite return handling for clarity
  - unpack_loose_rest(): simplify error handling
@@ -838,28 +1001,10 @@ Release tarballs are available at:
 
  Fix our use of zlib corner cases.
 
- Still being discussed.
- cf. <20250304065501.GB1283901@coredump.intra.peff.net>
+ Will merge to 'next'.
  source: <20250225062518.GA1293854@coredump.intra.peff.net>
 
 
-* cc/signed-fast-export-import (2025-03-10) 6 commits
-  (merged to 'next' on 2025-03-18 at d98973e2cb)
- + fast-export, fast-import: add support for signed-commits
- + fast-export: do not modify memory from get_commit_buffer
- + git-fast-export.adoc: clarify why 'verbatim' may not be a good idea
- + fast-export: rename --signed-tags='warn' to 'warn-verbatim'
- + fast-export: fix missing whitespace after switch
- + git-fast-import.adoc: add missing LF in the BNF
-
- "git fast-export | git fast-import" learns to deal with commit and
- tag objects with embedded signatures a bit better.
-
- Will merge to 'master'.
- cf. <CABPp-BGyA8iBA0BFO8FcpZAMca94aVu2vHHRi4Oz=nCWxJSDPg@mail.gmail.com>
- source: <20250310155746.879481-1-christian.couder@gmail.com>
-
-
 * 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}
@@ -875,7 +1020,7 @@ Release tarballs are available at:
  The commands in the "diff" family learned longhands for "-S" and
  "-G" options.
 
The core part looked mostly good.
Expecting a reroll.
  source: <20250212032657.1807939-1-illia.bobyr@gmail.com>
 
 
@@ -886,70 +1031,62 @@ Release tarballs are available at:
 
  Portability fix.
 
- Waiting for the base topic to settle.
+ Will merge to 'next'.
  source: <20250206-b4-pks-reftable-win32-in-use-errors-v2-1-56985a4f6186@pks.im>
 
 
 * ps/reftable-sans-compat-util (2025-02-18) 18 commits
- - Makefile: skip reftable library for Coccinelle
- - reftable: decouple from Git codebase by pulling in "compat/posix.h"
- - git-compat-util.h: split out POSIX-emulating bits
- - compat/mingw: split out POSIX-related bits
- - reftable/basics: introduce `REFTABLE_UNUSED` annotation
- - reftable/basics: stop using `SWAP()` macro
- - reftable/stack: stop using `sleep_millisec()`
- - reftable/system: introduce `reftable_rand()`
- - reftable/reader: stop using `ARRAY_SIZE()` macro
- - reftable/basics: provide wrappers for big endian conversion
- - reftable/basics: stop using `st_mult()` in array allocators
- - reftable: stop using `BUG()` in trivial cases
- - reftable/record: don't `BUG()` in `reftable_record_cmp()`
- - reftable/record: stop using `BUG()` in `reftable_record_init()`
- - reftable/record: stop using `COPY_ARRAY()`
- - reftable/blocksource: stop using `xmmap()`
- - reftable/stack: stop using `write_in_full()`
- - reftable/stack: stop using `read_in_full()`
- (this branch is used by ps/reftable-windows-unlink-fix.)
+  (merged to 'next' on 2025-03-29 at 4e9fbae111)
+ + Makefile: skip reftable library for Coccinelle
+ + reftable: decouple from Git codebase by pulling in "compat/posix.h"
+ + git-compat-util.h: split out POSIX-emulating bits
+ + compat/mingw: split out POSIX-related bits
+ + reftable/basics: introduce `REFTABLE_UNUSED` annotation
+ + reftable/basics: stop using `SWAP()` macro
+ + reftable/stack: stop using `sleep_millisec()`
+ + reftable/system: introduce `reftable_rand()`
+ + reftable/reader: stop using `ARRAY_SIZE()` macro
+ + reftable/basics: provide wrappers for big endian conversion
+ + reftable/basics: stop using `st_mult()` in array allocators
+ + reftable: stop using `BUG()` in trivial cases
+ + reftable/record: don't `BUG()` in `reftable_record_cmp()`
+ + reftable/record: stop using `BUG()` in `reftable_record_init()`
+ + reftable/record: stop using `COPY_ARRAY()`
+ + reftable/blocksource: stop using `xmmap()`
+ + reftable/stack: stop using `write_in_full()`
+ + reftable/stack: stop using `read_in_full()`
+ (this branch is used by ps/reftable-api-revamp and ps/reftable-windows-unlink-fix.)
 
  Make the code in reftable library less reliant on the service
  routines it used to borrow from Git proper, to make it easier to
  use by external users of the library.
 
- Waiting for Acks, especially for Windows bits?
+ Will merge to 'master'.
+ cf. <Z-Y1YbE2EVqLZhGO@pks.im>
  source: <20250218-pks-reftable-drop-git-compat-util-v6-0-8c1f39fb4c02@pks.im>
 
 
-* jc/doc-attr-tree (2024-12-14) 1 commit
- - doc: give attr.tree a bit more visibility
-
- Make sure that "git --attr-source=X", GIT_ATTR_SOURCE, and
- attr.tree configuration variables appear at the same places in the
- documentation.
-
- On hold.
- cf. <20241216111112.GA2201417@coredump.intra.peff.net>
- source: <xmqq5xnladwi.fsf@gitster.g>
-
-
 * tb/incremental-midx-part-2 (2025-03-21) 14 commits
- - midx: implement writing incremental MIDX bitmaps
- - pack-bitmap.c: use `ewah_or_iterator` for type bitmap iterators
- - pack-bitmap.c: keep track of each layer's type bitmaps
- - ewah: implement `struct ewah_or_iterator`
- - pack-bitmap.c: apply pseudo-merge commits with incremental MIDXs
- - pack-bitmap.c: compute disk-usage with incremental MIDXs
- - pack-bitmap.c: teach `rev-list --test-bitmap` about incremental MIDXs
- - pack-bitmap.c: support bitmap pack-reuse with incremental MIDXs
- - pack-bitmap.c: teach `show_objects_for_type()` about incremental MIDXs
- - pack-bitmap.c: teach `bitmap_for_commit()` about incremental MIDXs
- - pack-bitmap.c: open and store incremental bitmap layers
- - pack-revindex: prepare for incremental MIDX bitmaps
- - Documentation: describe incremental MIDX bitmaps
- - Documentation: remove a "future work" item from the MIDX docs
+  (merged to 'next' on 2025-03-29 at 1db17d1a9b)
+ + midx: implement writing incremental MIDX bitmaps
+ + pack-bitmap.c: use `ewah_or_iterator` for type bitmap iterators
+ + pack-bitmap.c: keep track of each layer's type bitmaps
+ + ewah: implement `struct ewah_or_iterator`
+ + pack-bitmap.c: apply pseudo-merge commits with incremental MIDXs
+ + pack-bitmap.c: compute disk-usage with incremental MIDXs
+ + pack-bitmap.c: teach `rev-list --test-bitmap` about incremental MIDXs
+ + pack-bitmap.c: support bitmap pack-reuse with incremental MIDXs
+ + pack-bitmap.c: teach `show_objects_for_type()` about incremental MIDXs
+ + pack-bitmap.c: teach `bitmap_for_commit()` about incremental MIDXs
+ + pack-bitmap.c: open and store incremental bitmap layers
+ + pack-revindex: prepare for incremental MIDX bitmaps
+ + Documentation: describe incremental MIDX bitmaps
+ + Documentation: remove a "future work" item from the MIDX docs
+ (this branch is used by ps/cat-file-filter-batch.)
 
  Incrementally updating multi-pack index files.
 
- Comments?
+ Will merge to 'master'.
  source: <cover.1742493373.git.me@ttaylorr.com>
 
 
@@ -965,6 +1102,9 @@ Release tarballs are available at:
 
  "git cat-file --batch" and friends can optionally ask a remote
  server about objects it does not have.
+
+ Expecting a reroll.
+ cf. <CAN2LT1Cc-UaUpabqcGascicR3nk6ZdFythamKje33Orhy5WoNA@mail.gmail.com>
  source: <20250221190451.12536-1-eric.peijian@gmail.com>
 
 --------------------------------------------------
@@ -983,3 +1123,42 @@ Release tarballs are available at:
  cf. <xmqqmsdi49h8.fsf_-_@gitster.g>
  cf. <CAOLa=ZRODjYfDXQ8m+hDosV7RBGDWeehzSvsR-+-HCmbS+tAcQ@mail.gmail.com>
  source: <20250314184130.GA578421@coredump.intra.peff.net>
+
+
+* js/libgit-cargo-package (2025-03-22) 5 commits
+ . libgit-{sys,rs}: add license and description fields
+ . libgit-sys: exclude unnecessary directories in git-src
+ . libgit-sys: parallelize build with Cargo's jobserver
+ . libgit-sys: add symlink to git repo root and build out of tree
+ . libgitpub: move to separate contrib/ directory
+
+ Breaks Windows CI job with "../.." symbolic link in the source.
+ Retracted for now.
+ cf. <xnjgoym6makh7q64sp5efvkmcubslklkjeidja45rtl2wjm4jd@xfww2a52hj34>
+ source: <cover.1742594960.git.steadmon@google.com>
+
+
+* sj/meson-test-environ-fix (2025-03-14) 1 commit
+ . meson: use test_environment conditionally.
+
+ meson-based build procedure was overly aggressive in using test
+ environment in two contrib/ directories, which was corrected.
+
+ Superseded by ps/misc-build-fixes.
+ source: <3d127f293818f935efdb9ca7bb556e6a8f233ef7.1741975557.git.sam@gentoo.org>
+
+
+--------------------------------------------------
+[Discarded]
+
+* jc/doc-attr-tree (2024-12-14) 1 commit
+ - doc: give attr.tree a bit more visibility
+
+ Make sure that "git --attr-source=X", GIT_ATTR_SOURCE, and
+ attr.tree configuration variables appear at the same places in the
+ documentation.
+
+ Will discard.
+ cf. <20241216111112.GA2201417@coredump.intra.peff.net>
+ source: <xmqq5xnladwi.fsf@gitster.g>
+