What's cooking (2025/04 #07)

Signed-off-by: Junio C Hamano <gitster@pobox.com>
todo
Junio C Hamano 2025-04-24 18:26:19 -07:00
parent fc9f575a61
commit bf9e3f96d8
1 changed files with 285 additions and 207 deletions

View File

@ -1,10 +1,10 @@
To: git@vger.kernel.org
Subject: What's cooking in git.git (Apr 2025, #06; Tue, 22)
X-master-at: 4bbb303af69990ccd05fe3a2eb58a1ce036f8220
X-next-at: 1f30a19c024a1458e9fb9991a929dcc38b1157d4
Subject: What's cooking in git.git (Apr 2025, #07; Thu, 24)
X-master-at: f65182a99e545d2f2bc22e6c1c2da192133b16a3
X-next-at: 6a0df3ecc3db97a8425365f84b36ccf308efc156
Bcc: lwn@lwn.net, gitster@pobox.com

What's cooking in git.git (Apr 2025, #06; Tue, 22)
What's cooking in git.git (Apr 2025, #07; Thu, 24)
--------------------------------------------------

Here are the topics that have been cooking in my tree. Commits
@ -45,9 +45,226 @@ 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@icloud.com>


* 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@gmail.com>


* 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@gmail.com>


* 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@gmail.com>


* 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@gmail.com>


* 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@lfurio.us>


* 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@pks.im>
cf. <Z_TAtJ9LEeHo2AQN@pks.im>
source: <pull.1936.v2.git.git.1744481732.gitgitgadget@gmail.com>


* 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@mail.gmail.com>
source: <20250415-pks-split-object-file-v3-0-6aa7db7ad7b0@pks.im>


* 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@pks.im>


* 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@ramsayjones.plus.com>

--------------------------------------------------
[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@PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM>


* 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@gmail.com>


* 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@pks.im>


* 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@tapette.crustytoothpaste.net>
source: <20250424203904.909777-1-christian.couder@gmail.com>


* 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@gmail.com>


* 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@pks.im>

--------------------------------------------------
[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
@ -73,15 +290,16 @@ Release tarballs are available at:


* az/tighten-string-array-constness (2025-04-21) 1 commit
- global: mark usage strings and string tables const
(merged to 'next' on 2025-04-23 at 5a2b439731)
+ global: mark usage strings and string tables const

Code clean-up.

Will merge to 'next'.
Will merge to 'master'.
source: <daj53eijkqzsjy5cvuxchea4qm3pbiu673ehetihfffyvwzhgs@tarta.nabijaczleweli.xyz>


* es/meson-cleanup (2025-04-21) 6 commits
* 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
@ -91,20 +309,21 @@ Release tarballs are available at:

Code clean-up for meson-based build infrastructure.

Comments?
source: <20250421175247.240971-6-eschwartz@gentoo.org>
Ready?
source: <20250425002017.246985-1-eschwartz@gentoo.org>


* jh/gc-launchctl-schedule-fix (2025-04-21) 1 commit
- maintenance: fix launchctl calendar intervals
* 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 'next'.
Will merge to 'master'.
source: <20250421054633.231069-2-joshiheinrichs@gmail.com>


* js/windows-arm64 (2025-04-21) 6 commits
* 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
@ -114,43 +333,47 @@ Release tarballs are available at:

Update to arm64 Windows port.

Will merge to 'next'.
source: <pull.1904.git.1745239150.gitgitgadget@gmail.com>
Will merge to 'next'?
source: <pull.1904.v2.git.1745395308.gitgitgadget@gmail.com>


* jk/p5332-testfix (2025-04-22) 1 commit
- p5332: drop "+" from --stdin-packs input
(merged to 'next' on 2025-04-24 at eafff4d7b7)
+ p5332: drop "+" from --stdin-packs input

A test fix.

Will merge to 'next'.
Will merge to 'master'.
source: <20250422111632.GA1855088@coredump.intra.peff.net>


* lo/remove-log-reencode-from-rev-info (2025-04-22) 1 commit
- revision: remove log_reencode field from rev_info
(merged to 'next' on 2025-04-24 at 1c6c33ab1f)
+ revision: remove log_reencode field from rev_info

Code clean-up.

Will merge to 'next'.
Will merge to 'master'.
source: <20250422213133.18685-1-lucasseikioshiro@gmail.com>


* ps/ci-resurrect-p4-on-github (2025-04-22) 1 commit
- ci: fix p4d executable not being found on GitHub Actions
(merged to 'next' on 2025-04-24 at 8594d07a3e)
+ ci: fix p4d executable not being found on GitHub Actions

CI fix.

Will merge to 'next'.
Will merge to 'master'.
source: <aActb3dB-r3s69h6@pks.im>


* ps/install-bash-completion (2025-04-22) 1 commit
- contrib/completion: install Bash completion
(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 'next'.
Will merge to 'master'.
source: <20250422-b4-pks-meson-install-completions-v2-1-ab29d399bc6c@pks.im>


@ -166,19 +389,6 @@ Release tarballs are available at:
Comments?
source: <aAetW0dan8S3Fljq@ArchLinux>

--------------------------------------------------
[Cooking]

* 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

Will merge to 'master'.
source: <pull.1899.v2.git.1744818135435.gitgitgadget@gmail.com>


* tb/midx-avoid-cruft-packs (2025-04-15) 9 commits
- repack: exclude cruft pack(s) from the MIDX where possible
@ -212,11 +422,12 @@ Release tarballs are available at:


* as/typofix-in-env-h-header (2025-04-18) 1 commit
- environment: fix typo: 'setup_git_directory_gently'
(merged to 'next' on 2025-04-23 at a9954f6cec)
+ environment: fix typo: 'setup_git_directory_gently'

Typofix.

Will merge to 'next'.
Will merge to 'master'.
source: <20250418185855.52950-1-abhijeet.nkt@gmaiil.com>


@ -234,141 +445,34 @@ Release tarballs are available at:
source: <20250422-pks-meson-benchmarks-v3-0-7aad68bac6fd@pks.im>


* 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.

Will merge to 'master'.
source: <20250416145939.24207-2-anthonywang03@icloud.com>


* ps/fewer-perl (2025-04-16) 5 commits
- 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
(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 'next'?
Will merge to 'master'.
source: <20250416-b4-pks-drop-perl-v2-0-bdd0492e9498@pks.im>


* 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.

Will merge to 'master'.
source: <20250417-b4-pks-parse-options-integers-v4-0-9cbc76b61cfe@pks.im>


* 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.

Will merge to 'master'.
source: <20250408-488-generating-bundles-with-many-references-has-non-linear-performance-v2-0-0802fc36a23d@gmail.com>


* kn/meson-hdr-check (2025-04-20) 6 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
. Merge branch 'es/meson-build-skip-coccinelle' into kn/meson-hdr-check
* 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.

Seems to break linux.meson CI job.
cf. https://github.com/git/git/actions/runs/14563669225/job/40850047961
source: <20250420-505-wire-up-sparse-via-meson-v4-0-66e14134e822@gmail.com>


* 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

Code clean-up.

Will merge to 'master'.
cf. <CABPp-BFGeJ6eANb_5m4KSWRY_r9KCWarzya_qMkQNchKD5Q=xg@mail.gmail.com>
source: <20250415-pks-split-object-file-v3-0-6aa7db7ad7b0@pks.im>


* 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.

Will merge to 'master'.
source: <20250416231835.2492562-1-ramsay@ramsayjones.plus.com>


* 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.

Will merge to 'master'.
source: <73cae30129338cf219a810c3a2a78ef48d5637d0.1743073557.git.gitgitgadget@gmail.com>


* 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.

Will merge to 'master'.
cf. <Z-pD1puYT87YKAd4@pks.im>
cf. <Z_TAtJ9LEeHo2AQN@pks.im>
source: <pull.1936.v2.git.git.1744481732.gitgitgadget@gmail.com>
Will merge to 'next'?
source: <20250423-505-wire-up-sparse-via-meson-v5-0-d1e2be4b2078@gmail.com>


* pb/status-rebase-fixes (2025-03-28) 4 commits
@ -386,22 +490,6 @@ Release tarballs are available at:
source: <pull.1897.git.1743181401.gitgitgadget@gmail.com>


* 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.

Will merge to 'master'.
source: <pull.1896.v2.git.1744460450.gitgitgadget@gmail.com>


* md/userdiff-bash-shell-function (2025-04-01) 1 commit
- userdiff: extend Bash pattern to cover more shell function forms

@ -412,39 +500,29 @@ Release tarballs are available at:
source: <20250330134018.9662-2-dhar61595@gmail.com>


* 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.

Will merge to 'master'.
source: <20250330112850.2477673-1-m@lfurio.us>


* ps/reftable-api-revamp (2025-04-07) 17 commits
- 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
(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 'next'?
Will merge to 'master'.
cf. <3okrcl7bdpy75hzyzpmrp7fluan4n3zvsroioq64id4a2kt3o4@fc6fetilb6y2>
source: <20250407-pks-reftable-polishing-v2-0-316c4ff10571@pks.im>