What's cooking (2024/09 #07)
[alt-git.git] / whats-cooking.txt
blobd15c57ac50fa2f28a69dcdae5859f29a101778d8
1 To: git@vger.kernel.org
2 Subject: What's cooking in git.git (Sep 2024, #07; Wed, 18)
3 X-master-at: 6531f31ef3bead57a3255fa08efa6e7553c5a9a7
4 X-next-at: cf0dbffa2232233e2e6152dc28148e12ec9aa900
5 Bcc: lwn@lwn.net, gitster@pobox.com
7 What's cooking in git.git (Sep 2024, #07; Wed, 18)
8 --------------------------------------------------
10 Here are the topics that have been cooking in my tree.  Commits
11 prefixed with '+' are in 'next' (being in 'next' is a sign that a
12 topic is stable enough to be used and are candidate to be in a
13 future release).  Commits prefixed with '-' are only in 'seen', and
14 aren't considered "accepted" at all and may be annotated with an URL
15 to a message that raises issues but they are no means exhaustive.  A
16 topic without enough support may be discarded after a long period of
17 no activity (of course they can be resubmit when new interests
18 arise).
20 Copies of the source code to Git live in many repositories, and the
21 following is a list of the ones I push into or their mirrors.  Some
22 repositories have only a subset of branches.
24 With maint, master, next, seen, todo:
26         git://git.kernel.org/pub/scm/git/git.git/
27         git://repo.or.cz/alt-git.git/
28         https://kernel.googlesource.com/pub/scm/git/git/
29         https://github.com/git/git/
30         https://gitlab.com/git-scm/git/
32 With all the integration branches and topics broken out:
34         https://github.com/gitster/git/
36 Even though the preformatted documentation in HTML and man format
37 are not sources, they are published in these repositories for
38 convenience (replace "htmldocs" with "manpages" for the manual
39 pages):
41         git://git.kernel.org/pub/scm/git/git-htmldocs.git/
42         https://github.com/gitster/git-htmldocs.git/
44 Release tarballs are available at:
46         https://www.kernel.org/pub/software/scm/git/
48 --------------------------------------------------
49 [New Topics]
51 * jc/cmake-unit-test-updates (2024-09-18) 4 commits
52  - cmake: generalize the handling of the `UNIT_TEST_OBJS` list
53  - cmake: stop looking for `REFTABLE_TEST_OBJS` in the Makefile
54  - cmake: rename clar-related variables to avoid confusion
55  - Merge branch 'ps/reftable-exclude' into jc/cmake-unit-test-updates
56  (this branch uses ps/reftable-exclude.)
58  CMake adjustments for recent changes around unit tests.
60  Will merge to 'next'.
61  source: <pull.1797.git.1726687769585.gitgitgadget@gmail.com>
63 --------------------------------------------------
64 [Graduated to 'master']
66 * es/chainlint-message-updates (2024-09-10) 3 commits
67   (merged to 'next' on 2024-09-11 at a3fd02a009)
68  + chainlint: reduce annotation noise-factor
69  + chainlint: make error messages self-explanatory
70  + chainlint: don't be fooled by "?!...?!" in test body
72  The error messages from the test script checker have been improved.
73  source: <20240910041013.68948-1-ericsunshine@charter.net>
76 * jc/ci-upload-artifact-and-linux32 (2024-09-09) 1 commit
77   (merged to 'next' on 2024-09-11 at 62991bef5b)
78  + ci: remove 'Upload failed tests' directories' step from linux32 jobs
79  (this branch is used by jk/ci-linux32-update.)
81  CI started failing completely for linux32 jobs, as the step to
82  upload failed test directory uses GitHub actions that is deprecated
83  and is now disabled.  Remove the step so at least we will know if
84  the tests are passing.
85  source: <xmqqy140o2kb.fsf@gitster.g>
88 * jk/ci-linux32-update (2024-09-13) 5 commits
89   (merged to 'next' on 2024-09-13 at e937339388)
90  + ci: add Ubuntu 16.04 job to GitLab CI
91  + ci: use regular action versions for linux32 job
92  + ci: use more recent linux32 image
93  + ci: unify ubuntu and ubuntu32 dependencies
94  + ci: drop run-docker scripts
95  (this branch uses jc/ci-upload-artifact-and-linux32.)
97  CI updates
98  source: <20240912094238.GA589050@coredump.intra.peff.net>
101 * ps/clar-unit-test (2024-09-10) 15 commits
102   (merged to 'next' on 2024-09-11 at ccc0289490)
103  + Makefile: rename clar-related variables to avoid confusion
104   (merged to 'next' on 2024-09-05 at 87fb0a399a)
105  + clar: add CMake support
106  + t/unit-tests: convert ctype tests to use clar
107  + t/unit-tests: convert strvec tests to use clar
108  + t/unit-tests: implement test driver
109  + Makefile: wire up the clar unit testing framework
110  + Makefile: do not use sparse on third-party sources
111  + Makefile: make hdr-check depend on generated headers
112  + Makefile: fix sparse dependency on GENERATED_H
113  + clar: stop including `shellapi.h` unnecessarily
114  + clar(win32): avoid compile error due to unused `fs_copy()`
115  + clar: avoid compile error with mingw-w64
116  + t/clar: fix compatibility with NonStop
117  + t: import the clar unit testing framework
118  + t: do not pass GIT_TEST_OPTS to unit tests with prove
120  Import clar unit tests framework libgit2 folks invented for our
121  use.
122  cf. <d5b1c95b-cbdc-4711-849e-c2cfc67787ee@gmail.com>
123  source: <cover.1725459142.git.ps@pks.im>
125 --------------------------------------------------
126 [Cooking]
128 * jk/diag-unexpected-remote-helper-death (2024-09-14) 1 commit
129   (merged to 'next' on 2024-09-16 at f2aa29beac)
130  + print an error when remote helpers die during capabilities
132  When a remote-helper dies before Git writes to it, SIGPIPE killed
133  Git silently.  We now explain the situation a bit better to the end
134  user in our error message.
136  Will merge to 'master'.
137  source: <20240914064130.GA1284567@coredump.intra.peff.net>
140 * ak/typofixes (2024-09-16) 3 commits
141   (merged to 'next' on 2024-09-16 at 4bbdd5ce45)
142  + cbtree: fix a typo
143  + bloom: fix a typo
144  + attr: fix a typo
146  Trivial typofixes.
148  Will merge to 'master'.
149  source: <20240915230522.129253-1-algonell@gmail.com>
152 * jk/jump-quickfix-fixes (2024-09-16) 2 commits
153   (merged to 'next' on 2024-09-16 at 53aa9e5b22)
154  + git-jump: ignore deleted files in diff mode
155  + git-jump: always specify column 1 for diff entries
157  A few usability fixes to "git jump" (in contrib/).
159  Will merge to 'master'.
160  source: <20240915111119.GA2017770@coredump.intra.peff.net>
163 * jk/t9001-deflake (2024-09-16) 1 commit
164   (merged to 'next' on 2024-09-16 at 285ebc4223)
165  + t9001: use a more distinct fake BugID
167  Test fix.
169  Will merge to 'master'.
170  source: <20240915113115.GA2019070@coredump.intra.peff.net>
173 * ps/apply-leakfix (2024-09-17) 6 commits
174   (merged to 'next' on 2024-09-18 at 99e318345e)
175  + apply: refactor `struct image` to use a `struct strbuf`
176  + apply: rename members that track line count and allocation length
177  + apply: refactor code to drop `line_allocated`
178  + apply: introduce macro and function to init images
179  + apply: rename functions operating on `struct image`
180  + apply: reorder functions to move image-related things together
182  "git apply" had custom buffer management code that predated before
183  use of strbuf got widespread, which has been updated to use strbuf,
184  which also plugged some memory leaks.
186  Will merge to 'master'.
187  source: <cover.1726567217.git.ps@pks.im>
190 * ps/leakfixes-part-7 (2024-09-16) 24 commits
191  - diffcore-break: fix leaking filespecs when merging broken pairs
192  - revision: fix leaking parents when simplifying commits
193  - builtin/maintenance: fix leak in `get_schedule_cmd()`
194  - builtin/maintenance: fix leaking config string
195  - promisor-remote: fix leaking partial clone filter
196  - grep: fix leaking grep pattern
197  - submodule: fix leaking submodule ODB paths
198  - trace2: destroy context stored in thread-local storage
199  - builtin/difftool: plug several trivial memory leaks
200  - builtin/repack: fix leaking configuration
201  - diffcore-order: fix leaking buffer when parsing orderfiles
202  - parse-options: free previous value of `OPTION_FILENAME`
203  - diff: fix leaking orderfile option
204  - builtin/pull: fix leaking "ff" option
205  - dir: fix off by one errors for ignored and untracked entries
206  - builtin/submodule--helper: fix leaking remote ref on errors
207  - t/helper: fix leaking subrepo in nested submodule config helper
208  - builtin/submodule--helper: fix leaking error buffer
209  - builtin/submodule--helper: clear child process when not running it
210  - submodule: fix leaking update strategy
211  - git: fix leaking argv when handling builtins
212  - builtin/help: fix leaking `html_path` when reading config multiple times
213  - builtin/help: fix dangling reference to `html_path`
214  - Merge branch 'ps/leakfixes-part-6' into ps/leakfixes-part-7
215  (this branch uses ps/leakfixes-part-6.)
217  More leak-fixes.
219  Needs review.
220  source: <cover.1726484308.git.ps@pks.im>
223 * ps/reftable-alloc-failures (2024-09-16) 24 commits
224  - reftable: handle trivial allocation failures
225  - reftable/tree: handle allocation failures
226  - reftable/pq: handle allocation failures when adding entries
227  - reftable/block: handle allocation failures
228  - reftable/blocksource: handle allocation failures
229  - reftable/iter: handle allocation failures when creating indexed table iter
230  - reftable/stack: handle allocation failures in auto compaction
231  - reftable/stack: handle allocation failures in `stack_compact_range()`
232  - reftable/stack: handle allocation failures in `reftable_new_stack()`
233  - reftable/stack: handle allocation failures on reload
234  - reftable/reader: handle allocation failures in `reader_init_iter()`
235  - reftable/reader: handle allocation failures for unindexed reader
236  - reftable/merged: handle allocation failures in `merged_table_init_iter()`
237  - reftable/writer: handle allocation failures in `reftable_new_writer()`
238  - reftable/writer: handle allocation failures in `writer_index_hash()`
239  - reftable/record: handle allocation failures when decoding records
240  - reftable/record: handle allocation failures on copy
241  - reftable/basics: handle allocation failures in `parse_names()`
242  - reftable/basics: handle allocation failures in `reftable_calloc()`
243  - reftable: introduce `reftable_strdup()`
244  - reftable/basics: merge "publicbasics" into "basics"
245  - reftable/error: introduce out-of-memory error code
246  - Merge branch 'ps/reftable-exclude' into ps/reftable-alloc-failures
247  - Merge branch 'cp/unit-test-reftable-stack' into ps/reftable-alloc-failures
248  (this branch uses ps/reftable-exclude.)
250  The reftable library is now prepared to expect that the memory
251  allocation function given to it may fail to allocate and to deal
252  with such an error.
254  Needs review.
255  source: <cover.1726489647.git.ps@pks.im>
258 * bb/unicode-width-table-16 (2024-09-12) 1 commit
259   (merged to 'next' on 2024-09-13 at 87dc391469)
260  + unicode: update the width tables to Unicode 16
262  Update the character width table for Unicode 16.
264  Will merge to 'master'.
265  source: <20240912204047.1020213-1-dev+git@drbeat.li>
268 * jc/strbuf-commented-something (2024-09-12) 2 commits
269  - strbuf: retire strbuf_commented_lines()
270  - strbuf: retire strbuf_commented_addf()
272  Update two functions whose callers always pass the same global
273  variable to omit the redundant parameter and use the global in the
274  callee themselves.
276  On hold.
277  source: <20240912205301.1809355-1-gitster@pobox.com>
280 * jk/git-pm-bare-repo-fix (2024-09-13) 2 commits
281   (merged to 'next' on 2024-09-13 at 7f9bb8501c)
282  + Git.pm: use "rev-parse --absolute-git-dir" rather than perl code
283  + Git.pm: fix bare repository search with Directory option
285  In Git 2.39, Git.pm stopped working in a bare repository, which has
286  been corrected.
288  Will merge to 'master'.
289  source: <20240912223413.GA649897@coredump.intra.peff.net>
292 * jc/t5512-sigpipe-fix (2024-09-13) 1 commit
293   (merged to 'next' on 2024-09-16 at 96075b5dd1)
294  + t5512.40 sometimes dies by SIGPIPE
296  Test fix.
298  Will merge to 'master'.
299  source: <xmqqmskbwe1a.fsf@gitster.g>
302 * jk/interop-test-build-options (2024-09-12) 1 commit
303   (merged to 'next' on 2024-09-13 at 0ab66e77a1)
304  + t/interop: allow per-version make options
306  The support to customize build options to adjust for older versions
307  and/or older systems for the interop tests has been improved.
309  Will merge to 'master'.
310  source: <20240911061009.GA1538383@coredump.intra.peff.net>
313 * jk/no-openssl-with-openssl-sha1 (2024-09-12) 1 commit
314   (merged to 'next' on 2024-09-13 at 07f5e4856d)
315  + imap-send: handle NO_OPENSSL even when openssl exists
317  The "imap-send" now allows to be compiled with NO_OPENSSL and
318  OPENSSL_SHA1 defined together.
320  Will merge to 'master'.
321  source: <20240911061257.GA1538490@coredump.intra.peff.net>
324 * ma/test-libcurl-prereq (2024-09-11) 2 commits
325   (merged to 'next' on 2024-09-13 at 6d4ad6b054)
326  + t0211: add missing LIBCURL prereq
327  + t1517: add missing LIBCURL prereq
329  Test portability fix.
331  Will merge to 'master'.
332  source: <cover.1726049108.git.martin.agren@gmail.com>
335 * cc/promisor-remote-capability (2024-09-10) 4 commits
336  - promisor-remote: check advertised name or URL
337  - Add 'promisor-remote' capability to protocol v2
338  - strbuf: refactor strbuf_trim_trailing_ch()
339  - version: refactor strbuf_sanitize()
341  The v2 protocol learned to allow the server to advertise possible
342  promisor remotes, and the client to respond with what promissor
343  remotes it uses, so that the server side can omit objects that the
344  client can lazily obtain from these other promissor remotes.
346  Comments?
347  source: <20240910163000.1985723-1-christian.couder@gmail.com>
350 * ds/pack-name-hash-tweak (2024-09-09) 4 commits
351  - p5313: add size comparison test
352  - p5314: add a size test for name-hash collisions
353  - git-repack: update usage to match docs
354  - pack-objects: add --full-name-hash option
356  In a repository with too many (more than --window size) similarly
357  named files, "git repack" would not find good delta-base candidate
358  and worse, it may not use a blob from exactly the same path as a
359  good delta-base candidate.  Optionally replace the name hash so
360  that only blobs at the same path and nothing else are used as
361  delta-base candidate.
363  Needs review.
364  source: <pull.1785.git.1725890210.gitgitgadget@gmail.com>
367 * ps/reftable-exclude (2024-09-16) 7 commits
368   (merged to 'next' on 2024-09-18 at 1f00fce314)
369  + refs/reftable: wire up support for exclude patterns
370  + reftable/reader: make table iterator reseekable
371  + t/unit-tests: introduce reftable library
372  + Makefile: stop listing test library objects twice
373  + builtin/receive-pack: fix exclude patterns when announcing refs
374  + refs: properly apply exclude patterns to namespaced refs
375  + Merge branch 'cp/unit-test-reftable-stack' into ps/reftable-exclude
376  (this branch is used by jc/cmake-unit-test-updates and ps/reftable-alloc-failures.)
378  The reftable backend learned to more efficiently handle exclude
379  patterns while enumerating the refs.
381  Will merge to 'master'.
382  source: <cover.1726476401.git.ps@pks.im>
385 * pw/rebase-autostash-fix (2024-09-03) 1 commit
386   (merged to 'next' on 2024-09-13 at 6b41d66efd)
387  + rebase: apply and cleanup autostash when rebase fails to start
389  "git rebase --autostash" failed to resurrect the autostashed
390  changes when the command gets aborted after giving back control
391  asking for hlep in conflict resolution.
393  Will merge to 'master'.
394  source: <pull.1772.v2.git.1725289979450.gitgitgadget@gmail.com>
397 * jc/pass-repo-to-builtins (2024-09-13) 4 commits
398   (merged to 'next' on 2024-09-16 at 7711bb0214)
399  + add: pass in repo variable instead of global the_repository
400  + builtin: remove USE_THE_REPOSITORY for those without the_repository
401  + builtin: remove USE_THE_REPOSITORY_VARIABLE from builtin.h
402  + builtin: add a repository parameter for builtin functions
404  The convention to calling into built-in command implementation has
405  been updated to pass the repository, if known, together with the
406  prefix value.
408  Will merge to 'master'.
409  source: <pull.1778.v3.git.git.1726262177.gitgitgadget@gmail.com>
412 * tb/weak-sha1-for-tail-sum (2024-09-06) 9 commits
413  - csum-file.c: use fast SHA-1 implementation when available
414  - Makefile: allow specifying a SHA-1 for non-cryptographic uses
415  - hash.h: scaffolding for _fast hashing variants
416  - sha1: do not redefine `platform_SHA_CTX` and friends
417  - i5500-git-daemon.sh: use compile-able version of Git without OpenSSL
418  - pack-objects: use finalize_object_file() to rename pack/idx/etc
419  - finalize_object_file(): implement collision check
420  - finalize_object_file(): refactor unlink_or_warn() placement
421  - finalize_object_file(): check for name collision before renaming
423  The checksum at the tail of files are now computed without
424  collision detection protection.
426  Expecting a reroll.
427  cf. <ZugMUv1xbnjYH-el@pks.im>
428  source: <cover.1725651952.git.me@ttaylorr.com>
431 * ps/environ-wo-the-repository (2024-09-12) 21 commits
432   (merged to 'next' on 2024-09-16 at c08e3eb6b8)
433  + environment: stop storing "core.notesRef" globally
434  + environment: stop storing "core.warnAmbiguousRefs" globally
435  + environment: stop storing "core.preferSymlinkRefs" globally
436  + environment: stop storing "core.logAllRefUpdates" globally
437  + refs: stop modifying global `log_all_ref_updates` variable
438  + branch: stop modifying `log_all_ref_updates` variable
439  + repo-settings: track defaults close to `struct repo_settings`
440  + repo-settings: split out declarations into a standalone header
441  + environment: guard state depending on a repository
442  + environment: reorder header to split out `the_repository`-free section
443  + environment: move `set_git_dir()` and related into setup layer
444  + environment: make `get_git_namespace()` self-contained
445  + environment: move object database functions into object layer
446  + config: make dependency on repo in `read_early_config()` explicit
447  + config: document `read_early_config()` and `read_very_early_config()`
448  + environment: make `get_git_work_tree()` accept a repository
449  + environment: make `get_graft_file()` accept a repository
450  + environment: make `get_index_file()` accept a repository
451  + environment: make `get_object_directory()` accept a repository
452  + environment: make `get_git_common_dir()` accept a repository
453  + environment: make `get_git_dir()` accept a repository
455  Code clean-up.
457  Will merge to 'master'.
458  source: <cover.1726139990.git.ps@pks.im>
461 * gt/unit-test-oidset (2024-08-25) 1 commit
462  - unit-tests: add tests for oidset.h
464  Another unit-test.
466  Expecting a reroll.
467  source: <20240824172028.39419-1-shyamthakkar001@gmail.com>
470 * ps/leakfixes-part-6 (2024-09-05) 22 commits
471   (merged to 'next' on 2024-09-13 at 9be3125b10)
472  + builtin/repack: fix leaking keep-pack list
473  + merge-ort: fix two leaks when handling directory rename modifications
474  + match-trees: fix leaking prefixes in `shift_tree()`
475  + builtin/fmt-merge-msg: fix leaking buffers
476  + builtin/grep: fix leaking object context
477  + builtin/pack-objects: plug leaking list of keep-packs
478  + builtin/repack: fix leaking line buffer when packing promisors
479  + negotiator/skipping: fix leaking commit entries
480  + shallow: fix leaking members of `struct shallow_info`
481  + shallow: free grafts when unregistering them
482  + object: clear grafts when clearing parsed object pool
483  + gpg-interface: fix misdesigned signing key interfaces
484  + send-pack: fix leaking push cert nonce
485  + remote: fix leak in reachability check of a remote-tracking ref
486  + remote: fix leaking tracking refs
487  + builtin/submodule--helper: fix leaking refs on push-check
488  + submodule: fix leaking fetch task data
489  + upload-pack: fix leaking child process data on reachability checks
490  + builtin/push: fix leaking refspec query result
491  + send-pack: fix leaking common object IDs
492  + fetch-pack: fix memory leaks on fetch negotiation
493  + t/test-lib: allow skipping leak checks for passing tests
494  (this branch is used by ps/leakfixes-part-7.)
496  More leakfixes.
498  Will merge to 'master'.
499  source: <cover.1725530720.git.ps@pks.im>
502 * sj/ref-contents-check (2024-09-18) 5 commits
503  - ref: add symlink ref content check for files backend
504  - ref: add symref content check for files backend
505  - ref: add more strict checks for regular refs
506  - ref: port git-fsck(1) regular refs check for files backend
507  - ref: initialize "fsck_ref_report" with zero
509  "git fsck" learned to issue warnings on "curiously formatted" ref
510  contents that have always been taken valid but something Git
511  wouldn't have written itself (e.g., missing terminating end-of-line
512  after the full object name).
514  Needs review.
515  source: <ZuRzCyjQFilGhj8j@ArchLinux>
518 * tb/incremental-midx-part-2 (2024-08-28) 16 commits
519  - fixup! midx: implement writing incremental MIDX bitmaps
520  - midx: implement writing incremental MIDX bitmaps
521  - pack-bitmap.c: use `ewah_or_iterator` for type bitmap iterators
522  - pack-bitmap.c: keep track of each layer's type bitmaps
523  - ewah: implement `struct ewah_or_iterator`
524  - pack-bitmap.c: apply pseudo-merge commits with incremental MIDXs
525  - pack-bitmap.c: compute disk-usage with incremental MIDXs
526  - pack-bitmap.c: teach `rev-list --test-bitmap` about incremental MIDXs
527  - pack-bitmap.c: support bitmap pack-reuse with incremental MIDXs
528  - pack-bitmap.c: teach `show_objects_for_type()` about incremental MIDXs
529  - pack-bitmap.c: teach `bitmap_for_commit()` about incremental MIDXs
530  - pack-bitmap.c: open and store incremental bitmap layers
531  - pack-revindex: prepare for incremental MIDX bitmaps
532  - Documentation: describe incremental MIDX bitmaps
533  - Merge branch 'tb/pseudo-merge-bitmap-fixes' into tb/incremental-midx-part-2
534  - Merge branch 'tb/incremental-midx-part-1' into tb/incremental-midx-part-2
536  Incremental updates of multi-pack index files.
538  Needs review.
539  source: <cover.1723760847.git.me@ttaylorr.com>
542 * js/libgit-rust (2024-09-09) 7 commits
543  . SQUASH???
544  . Makefile: add option to build and test libgit-rs and libgit-rs-sys
545  . libgit: add higher-level libgit crate
546  . config: add git_configset_alloc() and git_configset_clear_and_free()
547  . libgit-sys: add repo initialization and config access
548  . libgit-sys: introduce Rust wrapper for libgit.a
549  . common-main: split init and exit code into new files
551  An rust binding to libgit.a functions has been introduced.
553  Expecting a reroll.
554  cf. <xmqqv7z8tjd7.fsf@gitster.g>
555  source: <20240906221853.257984-1-calvinwan@google.com>
558 * jc/too-many-arguments (2024-08-06) 4 commits
559  - miscellaneous: avoid "too many arguments"
560  - notes: avoid "too many arguments"
561  - cat-file: avoid "too many arguments"
562  - refs: avoid "too many arguments"
564  Error message clarification.
566  On hold.
567  source: <20240806003539.3292562-1-gitster@pobox.com>
570 * ja/doc-synopsis-markup (2024-09-05) 3 commits
571   (merged to 'next' on 2024-09-16 at d471154a0b)
572  + doc: apply synopsis simplification on git-clone and git-init
573  + doc: update the guidelines to reflect the current formatting rules
574  + doc: introduce a synopsis typesetting
576  The way AsciiDoc is used for SYNOPSIS part of the manual pages has
577  been revamped.  The sources, at least for the simple cases, got
578  vastly pleasant to work with.
580  Will merge to 'master'.
581  source: <pull.1766.v4.git.1725573126.gitgitgadget@gmail.com>
584 * ew/cat-file-optim (2024-08-25) 10 commits
585  - cat-file: use writev(2) if available
586  - cat-file: batch_write: use size_t for length
587  - cat-file: batch-command uses content_limit
588  - object_info: content_limit only applies to blobs
589  - packfile: packed_object_info avoids packed_to_object_type
590  - cat-file: use delta_base_cache entries directly
591  - packfile: inline cache_or_unpack_entry
592  - packfile: fix off-by-one in content_limit comparison
593  - packfile: allow content-limit for cat-file
594  - packfile: move sizep computation
596  "git cat-file --batch" has been optimized.
598  Waiting for review responses.
599  source: <20240823224630.1180772-1-e@80x24.org>