{"thread":{"id":"63334","subject":"What's cooking in git.git (Apr 2025, #06; Tue, 22)","startedAt":"2025-04-23T02:48:28Z","lastAt":"2025-04-23T11:57:11Z","messageCount":2,"participants":["Junio C Hamano","Patrick Steinhardt"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"516549","messageId":"xmqqselz1tl2.fsf@gitster.g","threadId":"63334","inReplyTo":null,"subject":"What's cooking in git.git (Apr 2025, #06; Tue, 22)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2025-04-23T02:48:25Z","receivedAt":"2025-04-23T02:48:28Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Here are the topics that have been cooking in my tree.  Commits\nprefixed with '+' are in 'next' (being in 'next' is a sign that a\ntopic is stable enough to be used and are candidate to be in a\nfuture release).  Commits prefixed with '-' are only in 'seen', and\naren't considered \"accepted\" at all and may be annotated with an URL\nto a message that raises issues but they are no means exhaustive.  A\ntopic without enough support may be discarded after a long period of\nno activity (of course they can be resubmit when new interests\narise).\n\nCopies of the source code to Git live in many repositories, and the\nfollowing is a list of the ones I push into or their mirrors.  Some\nrepositories have only a subset of branches.\n\nWith maint, master, next, seen, todo:\n\n\tgit://git.kernel.org/pub/scm/git/git.git/\n\tgit://repo.or.cz/alt-git.git/\n\thttps://kernel.googlesource.com/pub/scm/git/git/\n\thttps://github.com/git/git/\n\thttps://gitlab.com/git-scm/git/\n\nWith all the integration branches and topics broken out:\n\n\thttps://github.com/gitster/git/\n\nEven though the preformatted documentation in HTML and man format\nare not sources, they are published in these repositories for\nconvenience (replace \"htmldocs\" with \"manpages\" for the manual\npages):\n\n\tgit://git.kernel.org/pub/scm/git/git-htmldocs.git/\n\thttps://github.com/gitster/git-htmldocs.git/\n\nRelease tarballs are available at:\n\n\thttps://www.kernel.org/pub/software/scm/git/\n\n--------------------------------------------------\n[New Topics]\n\n* js/git-perf-env-override (2025-04-20) 1 commit\n  (merged to 'next' on 2025-04-22 at 77ea361791)\n + perf: do allow `GIT_PERF_*` to be overridden again\n\n Developer support fix..\n\n Will merge to 'master'.\n source: <pull.1900.git.1743764167548.gitgitgadget@gmail.com>\n\n\n* ua/call-repo-config-with-possibly-null-repository (2025-04-20) 2 commits\n  (merged to 'next' on 2025-04-22 at 1f30a19c02)\n + builtin/difftool: remove unnecessary if statement\n + builtin/add: remove unnecessary if statement\n\n Since a call to repo_config() can be called with repo set to NULL\n these days, a command that is marked as RUN_SETUP in the builtin\n command table does not have to check repo with NULL before making\n the call.\n\n Will merge to 'master'.\n source: <20250420025501.183290-1-usmanakinyemi202@gmail.com>\n\n\n* az/tighten-string-array-constness (2025-04-21) 1 commit\n - global: mark usage strings and string tables const\n\n Code clean-up.\n\n Will merge to 'next'.\n source: <daj53eijkqzsjy5cvuxchea4qm3pbiu673ehetihfffyvwzhgs@tarta.nabijaczleweli.xyz>\n\n\n* es/meson-cleanup (2025-04-21) 6 commits\n - meson: only check for missing networking syms on non-Windows; add compat impls\n - meson: fix typo in function check that prevented checking for hstrerror\n - meson: add a couple missing networking dependencies\n - meson: do a full usage-based compile check for sysinfo\n - meson: check for getpagesize before using it\n - meson: simplify and parameterize various standard function checks\n\n Code clean-up for meson-based build infrastructure.\n\n Comments?\n source: <20250421175247.240971-6-eschwartz@gentoo.org>\n\n\n* jh/gc-launchctl-schedule-fix (2025-04-21) 1 commit\n - maintenance: fix launchctl calendar intervals\n\n Fix for scheduled maintenance tasks on platforms using launchctl.\n\n Will merge to 'next'.\n source: <20250421054633.231069-2-joshiheinrichs@gmail.com>\n\n\n* js/windows-arm64 (2025-04-21) 6 commits\n - max_tree_depth: lower it for clangarm64 on Windows\n - mingw(arm64): do move the `/etc/git*` location\n - msvc: do handle builds on Windows/ARM64\n - mingw: do not use nedmalloc on Windows/ARM64\n - config.mak.uname: add support for clangarm64\n - bswap.h: add support for built-in bswap functions\n\n Update to arm64 Windows port.\n\n Will merge to 'next'.\n source: <pull.1904.git.1745239150.gitgitgadget@gmail.com>\n\n\n* jk/p5332-testfix (2025-04-22) 1 commit\n - p5332: drop \"+\" from --stdin-packs input\n\n A test fix.\n\n Will merge to 'next'.\n source: <20250422111632.GA1855088@coredump.intra.peff.net>\n\n\n* lo/remove-log-reencode-from-rev-info (2025-04-22) 1 commit\n - revision: remove log_reencode field from rev_info\n\n Code clean-up.\n\n Will merge to 'next'.\n source: <20250422213133.18685-1-lucasseikioshiro@gmail.com>\n\n\n* ps/ci-resurrect-p4-on-github (2025-04-22) 1 commit\n - ci: fix p4d executable not being found on GitHub Actions\n\n CI fix.\n\n Will merge to 'next'.\n source: <aActb3dB-r3s69h6@pks.im>\n\n\n* ps/install-bash-completion (2025-04-22) 1 commit\n - contrib/completion: install Bash completion\n\n Build update to install bash (but not zsh) completion script.\n\n Will merge to 'next'.\n source: <20250422-b4-pks-meson-install-completions-v2-1-ab29d399bc6c@pks.im>\n\n\n* sj/string-list-typefix (2025-04-22) 5 commits\n - u-string-list: move \"remove duplicates\" test to \"u-string-list.c\"\n - u-string-list: move \"filter string\" test to \"u-string-list.c\"\n - u-string-list: move \"test_split_in_place\" to \"u-string-list.c\"\n - u-string-list: move \"test_split\" into \"u-string-list.c\"\n - string-list: fix sign compare warnings\n\n Code and test clean-up around string-list API.\n\n Comments?\n source: <aAetW0dan8S3Fljq@ArchLinux>\n\n--------------------------------------------------\n[Cooking]\n\n* ds/doc-disable-hooks (2025-04-16) 1 commit\n  (merged to 'next' on 2025-04-18 at 4b543e57a5)\n + docs: document core.hooksPath=/dev/null\n\n Document the convention to disable hooks altogether by setting the\n hooksPath configuration variable to /dev/nulll\n\n Will merge to 'master'.\n source: <pull.1899.v2.git.1744818135435.gitgitgadget@gmail.com>\n\n\n* tb/midx-avoid-cruft-packs (2025-04-15) 9 commits\n - repack: exclude cruft pack(s) from the MIDX where possible\n - pack-objects: introduce '--stdin-packs=follow'\n - pack-objects: swap 'show_{object,commit}_pack_hint'\n - pack-objects: fix typo in 'show_object_pack_hint()'\n - pack-objects: perform name-hash traversal for unpacked objects\n - pack-objects: declare 'rev_info' for '--stdin-packs' earlier\n - pack-objects: factor out handling '--stdin-packs'\n - pack-objects: limit scope in 'add_object_entry_from_pack()'\n - pack-objects: use standard option incompatibility functions\n\n \"pack-objects\" has been taught to avoid pointing into objects in\n cruft packs from midx.\n\n Comments?\n source: <cover.1744757204.git.me@ttaylorr.com>\n\n\n* tb/pack-bitmap-lookup-tables (2025-04-17) 4 commits\n - t/perf/lib-bitmap.sh: avoid test_perf during setup\n - t/perf: avoid testing bitmaps without lookup table\n - p5312: removed duplicate performance test script\n - pack-bitmap: write lookup table extension by default\n\n Enable lookup tables extension in pack bitmap (and midx bitmap) by\n default.\n\n Comments?\n source: <cover.1744924321.git.me@ttaylorr.com>\n\n\n* as/typofix-in-env-h-header (2025-04-18) 1 commit\n - environment: fix typo: 'setup_git_directory_gently'\n\n Typofix.\n\n Will merge to 'next'.\n source: <20250418185855.52950-1-abhijeet.nkt@gmaiil.com>\n\n\n* ps/meson-build-perf-bench (2025-04-22) 5 commits\n - meson: wire up benchmarking options\n - meson: wire up benchmarks\n - t/perf: fix benchmarks with out-of-tree builds\n - t/perf: use configured PERL_PATH\n - t/perf: fix benchmarks with alternate repo formats\n\n The build procedure based on Meson learned to drive the\n benchmarking tests.\n\n Comments?\n source: <20250422-pks-meson-benchmarks-v3-0-7aad68bac6fd@pks.im>\n\n\n* aw/t9811-modernize (2025-04-18) 2 commits\n  (merged to 'next' on 2025-04-18 at 37484f566f)\n + t9811: fix misconversion of tests\n  (merged to 'next' on 2025-04-16 at 53103e8873)\n + t9811: be more precise to check importing of tags\n\n Test updates.\n\n Will merge to 'master'.\n source: <20250416145939.24207-2-anthonywang03@icloud.com>\n\n\n* ps/fewer-perl (2025-04-16) 5 commits\n - Documentation: stop depending on Perl to generate command list\n - Documentation: stop depending on Perl to massage user manual\n - request-pull: stop depending on Perl\n - filter-branch: stop depending on Perl\n - Merge branch 'ps/test-wo-perl-prereq' into ps/fewer-perl\n\n Reduce requirement for Perl in our documentation build and a few\n scripts.\n\n Will merge to 'next'?\n source: <20250416-b4-pks-drop-perl-v2-0-bdd0492e9498@pks.im>\n\n\n* ps/parse-options-integers (2025-04-17) 7 commits\n  (merged to 'next' on 2025-04-18 at 30159c9252)\n + parse-options: detect mismatches in integer signedness\n + parse-options: introduce precision handling for `OPTION_UNSIGNED`\n + parse-options: introduce precision handling for `OPTION_INTEGER`\n + parse-options: rename `OPT_MAGNITUDE()` to `OPT_UNSIGNED()`\n + parse-options: support unit factors in `OPT_INTEGER()`\n + global: use designated initializers for options\n + parse: fix off-by-one for minimum signed values\n\n Update parse-options API to catch mistakes to pass address of an\n integral variable of a wrong type/size.\n\n Will merge to 'master'.\n source: <20250417-b4-pks-parse-options-integers-v4-0-9cbc76b61cfe@pks.im>\n\n\n* kn/bundle-dedup-optim (2025-04-08) 2 commits\n  (merged to 'next' on 2025-04-11 at 082f7c87e0)\n + bundle: fix non-linear performance scaling with refs\n + t6020: test for duplicate refnames in bundle creation\n\n Optimize the code to dedup references recorded in a bundle file.\n\n Will merge to 'master'.\n source: <20250408-488-generating-bundles-with-many-references-has-non-linear-performance-v2-0-0802fc36a23d@gmail.com>\n\n\n* kn/meson-hdr-check (2025-04-20) 6 commits\n . makefile/meson: add 'check-headers' as alias for 'hdr-check'\n . meson: add support for 'hdr-check'\n . meson: rename 'third_party_sources' to 'third_party_excludes'\n . meson: move headers definition from 'contrib/coccinelle'\n . coccinelle: meson: rename variables to be more specific\n . Merge branch 'es/meson-build-skip-coccinelle' into kn/meson-hdr-check\n\n Add an equivalent to \"make hdr-check\" target to meson based builds.\n\n Seems to break linux.meson CI job.\n cf. https://github.com/git/git/actions/runs/14563669225/job/40850047961\n source: <20250420-505-wire-up-sparse-via-meson-v4-0-66e14134e822@gmail.com>\n\n\n* ps/object-file-cleanup (2025-04-15) 11 commits\n  (merged to 'next' on 2025-04-17 at 4f5b5725c6)\n + object-store: merge \"object-store-ll.h\" and \"object-store.h\"\n + object-store: remove global array of cached objects\n + object: split out functions relating to object store subsystem\n + object-file: drop `index_blob_stream()`\n + object-file: split up concerns of `HASH_*` flags\n + object-file: split out functions relating to object store subsystem\n + object-file: move `xmmap()` into \"wrapper.c\"\n + object-file: move `git_open_cloexec()` to \"compat/open.c\"\n + object-file: move `safe_create_leading_directories()` into \"path.c\"\n + object-file: move `mkdir_in_gitdir()` into \"path.c\"\n + Merge branch 'ps/object-wo-the-repository' into ps/object-file-cleanup\n\n Code clean-up.\n\n Will merge to 'master'.\n cf. <CABPp-BFGeJ6eANb_5m4KSWRY_r9KCWarzya_qMkQNchKD5Q=xg@mail.gmail.com>\n source: <20250415-pks-split-object-file-v3-0-6aa7db7ad7b0@pks.im>\n\n\n* rj/build-tweaks (2025-04-17) 13 commits\n  (merged to 'next' on 2025-04-18 at 0ad43d3038)\n + config.mak.uname: set CSPRNG_METHOD to getrandom on Linux\n + config.mak.uname: add arc4random to the cygwin build\n + config.mak.uname: add sysinfo() configuration for cygwin\n + builtin/gc.c: correct RAM calculation when using sysinfo\n + config.mak.uname: add clock_gettime() to the cygwin build\n + config.mak.uname: add HAVE_GETDELIM to the cygwin section\n + config.mak.uname: only set NO_REGEX on cygwin for v1.7\n + config.mak.uname: add a note about NO_STRLCPY for Linux\n + Makefile: remove NEEDS_LIBRT build variable\n + meson.build: set default help format to html on windows\n + meson.build: only set build variables for non-default values\n + Makefile: only set some BASIC_CFLAGS when RUNTIME_PREFIX is set\n + meson.build: remove -DCURL_DISABLE_TYPECHECK\n\n Various build tweaks, including CSPRNG selection on some platforms.\n\n Will merge to 'master'.\n source: <20250416231835.2492562-1-ramsay@ramsayjones.plus.com>\n\n\n* js/range-check-codeql-workaround (2025-03-28) 1 commit\n  (merged to 'next' on 2025-04-17 at 809b3c3f63)\n + read-cache: check range before dereferencing an array element\n\n Work around false positive from CodeQL checker.\n\n Will merge to 'master'.\n source: <73cae30129338cf219a810c3a2a78ef48d5637d0.1743073557.git.gitgitgadget@gmail.com>\n\n\n* pb/perf-test-fixes (2025-04-14) 3 commits\n  (merged to 'next' on 2025-04-15 at f911b5420a)\n + p7821: fix instructions for testing with threads\n  (merged to 'next' on 2025-04-08 at a8aaeee41e)\n + p9210: fix 'scalar clone' when running from a detached HEAD\n + p7821: fix test_perf invocation for prereqs\n\n \"make perf\" fixes.\n\n Will merge to 'master'.\n cf. <Z-pD1puYT87YKAd4@pks.im>\n cf. <Z_TAtJ9LEeHo2AQN@pks.im>\n source: <pull.1936.v2.git.git.1744481732.gitgitgadget@gmail.com>\n\n\n* pb/status-rebase-fixes (2025-03-28) 4 commits\n - wt-status: suggest 'git rebase --continue' to conclude 'merge' instruction\n - wt-status: also abbreviate 'merge' and 'fixup -C' lines during rebase\n - SQUASH??? - <CAPig+cS92W_gYuNsaTvQxiP3xBK7Wpg0__uVkgAU1x0OFJUZgQ@mail.gmail.com>\n - rebase -r: do create merge commit after empty resolution\n\n A few fixes around \"git status\" while \"git rebase\" is running,\n plus a corner case bug fix for \"git rebase -r\".\n\n Expecting a (small and hopefully final) clarifying reroll.\n cf. <c2f93d99-2f4d-ee6d-7087-42320c6df0f2@gmx.de>\n cf. <e9700234-324d-dc63-d91e-9b8f36fabc79@gmail.com>\n source: <pull.1897.git.1743181401.gitgitgadget@gmail.com>\n\n\n* ja/doc-reset-mv-rm-markup-updates (2025-04-14) 7 commits\n  (merged to 'next' on 2025-04-15 at 0b19646642)\n + doc: add markup for characters in Guidelines\n + doc: fix asciidoctor synopsis processing of triple-dots\n + doc: convert git-mv to new documentation format\n + doc: move synopsis git-mv commands in the synopsis section\n + doc: convert git-rm to new documentation format\n + doc: fix synopsis analysis logic\n + doc: convert git-reset to new documentation format\n\n Doc mark-up updates.\n\n Will merge to 'master'.\n source: <pull.1896.v2.git.1744460450.gitgitgadget@gmail.com>\n\n\n* md/userdiff-bash-shell-function (2025-04-01) 1 commit\n - userdiff: extend Bash pattern to cover more shell function forms\n\n The userdiff pattern for shell scripts has been updated to cope\n with more bash-isms.\n\n Comments?\n source: <20250330134018.9662-2-dhar61595@gmail.com>\n\n\n* mh/left-right-limited (2025-04-01) 1 commit\n  (merged to 'next' on 2025-04-17 at 1976b29af9)\n + revision: fix --left/right-only use with unrelated histories\n\n \"git log --{left,right}-only A...B\", when A and B does not share\n any common ancestor, now behaves as expected.\n\n Will merge to 'master'.\n source: <20250330112850.2477673-1-m@lfurio.us>\n\n\n* ps/reftable-api-revamp (2025-04-07) 17 commits\n - reftable/table: move printing logic into test helper\n - reftable/constants: make block types part of the public interface\n - reftable/table: introduce iterator for table blocks\n - reftable/table: add `reftable_table` to the public interface\n - reftable/block: expose a generic iterator over reftable records\n - reftable/block: make block iterators reseekable\n - reftable/block: store block pointer in the block iterator\n - reftable/block: create public interface for reading blocks\n - git-zlib: use `struct z_stream_s` instead of typedef\n - reftable/block: rename `block_reader` to `reftable_block`\n - reftable/block: rename `block` to `block_data`\n - reftable/table: move reading block into block reader\n - reftable/block: simplify how we track restart points\n - reftable/blocksource: consolidate code into a single file\n - reftable/reader: rename data structure to \"table\"\n - reftable: fix formatting of the license header\n - Merge branch 'ps/reftable-sans-compat-util' into ps/reftable-api-revamp\n\n Overhaul of the reftable API.\n\n Will merge to 'next'?\n cf. <3okrcl7bdpy75hzyzpmrp7fluan4n3zvsroioq64id4a2kt3o4@fc6fetilb6y2>\n source: <20250407-pks-reftable-polishing-v2-0-316c4ff10571@pks.im>\n\n\n* sc/bundle-uri-use-all-refs-in-bundle (2025-03-18) 2 commits\n - bundle-uri: add test for bundle-uri clones with tags\n - bundle-uri: copy all bundle references ino the refs/bundle space\n\n Bundle-URI feature did not use refs recorded in the bundle other\n than normal branches as anchoring points to optimize the follow-up\n fetch during \"git clone\"; now it is told to utilize all.\n\n Needs more work on tests.\n cf. <e4244e04-d2f3-43ab-88cf-58d9804731b8@gmail.com>\n source: <pull.1897.v3.git.git.1742312173.gitgitgadget@gmail.com>\n\n\n* ds/path-walk-2 (2025-03-25) 13 commits\n - pack-objects: allow --shallow and --path-walk\n - path-walk: add new 'edge_aggressive' option\n - pack-objects: thread the path-based compression\n - pack-objects: refactor path-walk delta phase\n - scalar: enable path-walk during push via config\n - pack-objects: enable --path-walk via config\n - repack: add --path-walk option\n - t5538: add tests to confirm deltas in shallow pushes\n - pack-objects: introduce GIT_TEST_PACK_PATH_WALK\n - p5313: add performance tests for --path-walk\n - pack-objects: update usage to match docs\n - pack-objects: add --path-walk option\n - pack-objects: extract should_attempt_deltas()\n\n \"git pack-objects\" learns to find delta bases from blobs at the\n same path, using the --path-walk API.\n\n Comments?\n source: <pull.1819.v2.git.1742829769.gitgitgadget@gmail.com>\n\n\n* ib/diff-S-G-with-longhand (2025-02-12) 10 commits\n - diff: docs: Use --patch-{grep,modifies} over -G/-S\n - diff: --pickaxe-{all,regex} help: Add --patch-{grep,modifies}\n - diff: test: Use --patch-{grep,modifies} over -G/-S\n - completion: Support --patch-{grep,modifies}\n - diff: --patch-{grep,modifies} arg names for -G and -S\n - docs: gitdiffcore: -G and -S: Use regex/string placeholders\n - diff: short help: Add -G and --pickaxe-grep\n - diff: short help: Correct -S description\n - diff: -G description: Correct copy/paste error\n - t/t4209-log-pickaxe: Naming typo: -G takes a regex\n\n The commands in the \"diff\" family learned longhands for \"-S\" and\n \"-G\" options.\n\n Expecting a reroll.\n source: <20250212032657.1807939-1-illia.bobyr@gmail.com>\n\n\n* ej/cat-file-remote-object-info (2025-02-24) 8 commits\n - cat-file: add remote-object-info to batch-command\n - transport: add client support for object-info\n - serve: advertise object-info feature\n - fetch-pack: move fetch initialization\n - fetch-pack: refactor packet writing\n - t1006: split test utility functions into new \"lib-cat-file.sh\"\n - cat-file: add declaration of variable i inside its for loop\n - git-compat-util: add strtoul_ul() with error handling\n\n \"git cat-file --batch\" and friends can optionally ask a remote\n server about objects it does not have.\n\n Expecting a reroll.\n cf. <CAN2LT1Cc-UaUpabqcGascicR3nk6ZdFythamKje33Orhy5WoNA@mail.gmail.com>\n source: <20250221190451.12536-1-eric.peijian@gmail.com>\n"},{"id":"516599","messageId":"aAjVlMoBZxuo8YZH@pks.im","threadId":"63334","inReplyTo":"xmqqselz1tl2.fsf@gitster.g","subject":"Re: What's cooking in git.git (Apr 2025, #06; Tue, 22)","fromName":"Patrick Steinhardt","fromEmail":"ps@pks.im","sentAt":"2025-04-23T11:57:08Z","receivedAt":"2025-04-23T11:57:11Z","isPatch":false,"sender":{"key":"ps@pks.im","avatar":"https://avatars.githubusercontent.com/u/4056630?v=4"},"body":"On Tue, Apr 22, 2025 at 07:48:25PM -0700, Junio C Hamano wrote:\n> * es/meson-cleanup (2025-04-21) 6 commits\n>  - meson: only check for missing networking syms on non-Windows; add compat impls\n>  - meson: fix typo in function check that prevented checking for hstrerror\n>  - meson: add a couple missing networking dependencies\n>  - meson: do a full usage-based compile check for sysinfo\n>  - meson: check for getpagesize before using it\n>  - meson: simplify and parameterize various standard function checks\n> \n>  Code clean-up for meson-based build infrastructure.\n> \n>  Comments?\n>  source: <20250421175247.240971-6-eschwartz@gentoo.org>\n\nI had a couple of comments, but overall this looks almost ready to go\nfor me. I do expect a reroll with a couple of small adjustments.\n\n> * ps/fewer-perl (2025-04-16) 5 commits\n>  - Documentation: stop depending on Perl to generate command list\n>  - Documentation: stop depending on Perl to massage user manual\n>  - request-pull: stop depending on Perl\n>  - filter-branch: stop depending on Perl\n>  - Merge branch 'ps/test-wo-perl-prereq' into ps/fewer-perl\n> \n>  Reduce requirement for Perl in our documentation build and a few\n>  scripts.\n> \n>  Will merge to 'next'?\n>  source: <20250416-b4-pks-drop-perl-v2-0-bdd0492e9498@pks.im>\n\nFine with me, I don't plan for another reroll for now.\n\n> * ps/reftable-api-revamp (2025-04-07) 17 commits\n>  - reftable/table: move printing logic into test helper\n>  - reftable/constants: make block types part of the public interface\n>  - reftable/table: introduce iterator for table blocks\n>  - reftable/table: add `reftable_table` to the public interface\n>  - reftable/block: expose a generic iterator over reftable records\n>  - reftable/block: make block iterators reseekable\n>  - reftable/block: store block pointer in the block iterator\n>  - reftable/block: create public interface for reading blocks\n>  - git-zlib: use `struct z_stream_s` instead of typedef\n>  - reftable/block: rename `block_reader` to `reftable_block`\n>  - reftable/block: rename `block` to `block_data`\n>  - reftable/table: move reading block into block reader\n>  - reftable/block: simplify how we track restart points\n>  - reftable/blocksource: consolidate code into a single file\n>  - reftable/reader: rename data structure to \"table\"\n>  - reftable: fix formatting of the license header\n>  - Merge branch 'ps/reftable-sans-compat-util' into ps/reftable-api-revamp\n> \n>  Overhaul of the reftable API.\n> \n>  Will merge to 'next'?\n>  cf. <3okrcl7bdpy75hzyzpmrp7fluan4n3zvsroioq64id4a2kt3o4@fc6fetilb6y2>\n>  source: <20250407-pks-reftable-polishing-v2-0-316c4ff10571@pks.im>\n\nIt's been cooking for a while already, and I have addressed all feedback\nI received. So from my point of view this can be merged so that we can\nfinally start working on `git refs verify` for the reftable backend :)\n\nPatrick\n"}]}