What's cooking (2024/04 #04)
[alt-git.git] / whats-cooking.txt
blobd9f8660b4c238e3f791ced7014ab73236dea8f0e
1 To: git@vger.kernel.org
2 Subject: What's cooking in git.git (Apr 2024, #04; Tue, 9)
3 X-master-at: 91ec36f2cca02d33ab0ed6e87195c6fe801debae
4 X-next-at: 1a5e3faff75d1d3622627d3820bc57b4c2728bc5
5 Bcc: lwn@lwn.net, gitster@pobox.com
7 What's cooking in git.git (Apr 2024, #04; Tue, 9)
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 [Graduated to 'master']
51 * dg/myfirstobjectwalk-updates (2024-03-27) 5 commits
52   (merged to 'next' on 2024-04-02 at effa6a98a6)
53  + MyFirstObjectWalk: add stderr to pipe processing
54  + MyFirstObjectWalk: fix description for counting omitted objects
55  + MyFirstObjectWalk: fix filtered object walk
56  + MyFirstObjectWalk: fix misspelled "builtins/"
57  + MyFirstObjectWalk: use additional arg in config_fn_t
59  Update a more recent tutorial doc.
60  source: <cover.1711537370.git.dirk@gouders.net>
63 * es/test-cron-safety (2024-03-31) 1 commit
64   (merged to 'next' on 2024-04-02 at e383c8cfb2)
65  + test-lib: fix non-functioning GIT_TEST_MAINT_SCHEDULER fallback
67  The test script had an incomplete and ineffective attempt to avoid
68  clobbering the testing user's real crontab (and its equivalents),
69  which has been completed.
70  source: <20240329222703.9343-1-ericsunshine@charter.net>
73 * ja/doc-markup-updates (2024-03-29) 5 commits
74   (merged to 'next' on 2024-04-02 at 69b015d7ce)
75  + doc: git-clone: do not autoreference the manpage in itself
76  + doc: git-clone: apply new documentation formatting guidelines
77  + doc: git-init: apply new documentation formatting guidelines
78  + doc: allow literal and emphasis format in doc vs help tests
79  + doc: rework CodingGuidelines with new formatting rules
81  Documentation rules has been explicitly described how to mark-up
82  literal parts and a few manual pages have been updated as examples.
83  source: <pull.1702.v2.git.1711711181.gitgitgadget@gmail.com>
86 * jc/advice-sans-trailing-whitespace (2024-03-29) 1 commit
87   (merged to 'next' on 2024-04-02 at 3cb0fda1bf)
88  + advice: omit trailing whitespace
90  The "hint:" messages given by the advice mechanism, when given a
91  message with a blank line, left a line with trailing whitespace,
92  which has been cleansed.
93  source: <xmqq4jcooddp.fsf@gitster.g>
96 * jc/apply-parse-diff-git-header-names-fix (2024-03-29) 3 commits
97   (merged to 'next' on 2024-04-02 at d1fa726c41)
98  + t4126: fix "funny directory name" test on Windows (again)
99   (merged to 'next' on 2024-03-28 at a35de15836)
100  + t4126: make sure a directory with SP at the end is usable
101   (merged to 'next' on 2024-03-27 at d586367985)
102  + apply: parse names out of "diff --git" more carefully
104  "git apply" failed to extract the filename the patch applied to,
105  when the change was about an empty file created in or deleted from
106  a directory whose name ends with a SP, which has been corrected.
107  source: <xmqqfrwlltjn.fsf@gitster.g>
108  source: <xmqqh6gqt674.fsf_-_@gitster.g>
109  source: <xmqq5xx50x8p.fsf_-_@gitster.g>
112 * mg/editorconfig-makefile (2024-03-23) 1 commit
113   (merged to 'next' on 2024-04-02 at 907b55579e)
114  + editorconfig: add Makefiles to "text files"
116  The .editorconfig file has been taught that a Makefile uses HT
117  indentation.
118  source: <20240322221813.13019-1-mg@max.gautier.name>
121 * ps/pack-refs-auto (2024-03-25) 16 commits
122   (merged to 'next' on 2024-04-02 at 1d76dc3648)
123  + builtin/gc: pack refs when using `git maintenance run --auto`
124  + builtin/gc: forward git-gc(1)'s `--auto` flag when packing refs
125  + t6500: extract objects with "17" prefix
126  + builtin/gc: move `struct maintenance_run_opts`
127  + builtin/pack-refs: introduce new "--auto" flag
128  + builtin/pack-refs: release allocated memory
129  + refs/reftable: expose auto compaction via new flag
130  + refs: remove `PACK_REFS_ALL` flag
131  + refs: move `struct pack_refs_opts` to where it's used
132  + t/helper: drop pack-refs wrapper
133  + refs/reftable: print errors on compaction failure
134  + reftable/stack: gracefully handle failed auto-compaction due to locks
135  + reftable/stack: use error codes when locking fails during compaction
136  + reftable/error: discern locked/outdated errors
137  + reftable/stack: fix error handling in `reftable_stack_init_addition()`
138  + Merge branch 'ps/reftable-stack-tempfile' into ps/pack-refs-auto
139  (this branch is used by jt/reftable-geometric-compaction.)
141  "git pack-refs" learned the "--auto" option, which is a useful
142  addition to be triggered from "git gc --auto".
144  Acked-by: Karthik Nayak <karthik.188@gmail.com>
145  cf. <CAOLa=ZRAEA7rSUoYL0h-2qfEELdbPHbeGpgBJRqesyhHi9Q6WQ@mail.gmail.com>
146  source: <cover.1711360631.git.ps@pks.im>
149 * rj/add-p-explicit-reshow (2024-03-29) 2 commits
150   (merged to 'next' on 2024-04-02 at 05c7e930af)
151  + add-patch: do not print hunks repeatedly
152  + add-patch: introduce 'p' in interactive-patch
154  "git add -p" and other "interactive hunk selection" UI has learned to
155  skip showing the hunk immediately after it has already been shown, and
156  an additional action to explicitly ask to reshow the current hunk.
157  source: <a9c515fe-6664-4b5d-abca-d88fdd32a883@gmail.com>
160 * rj/use-adv-if-enabled (2024-03-30) 3 commits
161   (merged to 'next' on 2024-04-02 at 31d4453035)
162  + add: use advise_if_enabled for ADVICE_ADD_EMBEDDED_REPO
163  + add: use advise_if_enabled for ADVICE_ADD_EMPTY_PATHSPEC
164  + add: use advise_if_enabled for ADVICE_ADD_IGNORED_FILE
166  Use advice_if_enabled() API to rewrite a simple pattern to
167  call advise() after checking advice_enabled().
168  source: <46fba030-d7aa-49d2-88fa-e506850f7b6a@gmail.com>
170 --------------------------------------------------
171 [New Topics]
173 * rs/date-mode-pass-by-value (2024-04-05) 1 commit
174  - date: make DATE_MODE thread-safe
176  The codepaths that reach date_mode_from_type() have been updated to
177  pass "struct date_mode" by value to make them thread safe.
179  Will merge to 'next'.
180  source: <c6cb255a-72f0-4ac2-81a2-1d8e95570a81@web.de>
183 * rs/usage-fallback-to-show-message-format (2024-04-05) 1 commit
184  - usage: report vsnprintf(3) failure
186  vreportf(), which is usede by error() and friends, has been taught
187  to give the error message printf-format string when its vsnprintf()
188  call fails, instead of showing nothing useful to identify the
189  nature of the error.
191  Will merge to 'next'.
192  source: <3da13298-b6a6-4391-b8e8-5dae9a28b860@web.de>
195 * jc/local-extern-shell-rules (2024-04-05) 8 commits
196  - t1016: local VAR="VAL" fix
197  - t0610: local VAR="VAL" fix
198  - t: teach lint that RHS of 'local VAR=VAL' needs to be quoted
199  - t: local VAR="VAL" (quote ${magic-reference})
200  - t: local VAR="VAL" (quote command substitution)
201  - t: local VAR="VAL" (quote positional parameters)
202  - CodingGuidelines: quote assigned value in 'local var=$val'
203  - CodingGuidelines: describe "export VAR=VAL" rule
205  Document and apply workaround for a buggy version of dash that
206  mishandles "local var=val" construct.
208  Will merge to 'next'.
209  source: <20240406000902.3082301-1-gitster@pobox.com>
212 * jc/unleak-core-excludesfile (2024-04-08) 1 commit
213  - config: do not leak excludes_file
215  The variable that holds the value read from the core.excludefile
216  configuration variable used to leak, which has been corrected.
218  Will merge to 'next'.
219  source: <xmqqttkeicov.fsf@gitster.g>
222 * la/doc-use-of-contacts-when-contributing (2024-04-05) 8 commits
223  - SubmittingPatches: demonstrate using git-contacts with git-send-email
224  - SubmittingPatches: add heading for format-patch and send-email
225  - SubmittingPatches: dedupe discussion of security patches
226  - SubmittingPatches: discuss reviewers first
227  - SubmittingPatches: quote commands
228  - SubmittingPatches: mention GitGitGadget
229  - SubmittingPatches: make 'git contacts' grep-friendly
230  - MyFirstContribution: mention contrib/contacts/git-contacts
232  Advertise "git contacts", a tool for newcomers to find people to
233  ask review for their patches, a bit more in our developer
234  documentation.
236  Expecting a reroll.
237  cf. <owlypluzs5qa.fsf@fine.c.googlers.com>
238  source: <pull.1704.v2.git.1712366536.gitgitgadget@gmail.com>
241 * ps/ci-test-with-jgit (2024-04-08) 12 commits
242  - t0612: add tests to exercise Git/JGit reftable compatibility
243  - t0610: fix non-portable variable assignment
244  - t06xx: always execute backend-specific tests
245  - ci: install JGit dependency
246  - ci: make Perforce binaries executable for all users
247  - ci: merge scripts which install dependencies
248  - ci: merge custom PATH directories
249  - ci: convert "install-dependencies.sh" to use "/bin/sh"
250  - ci: drop duplicate package installation for "linux-gcc-default"
251  - ci: allow skipping sudo on dockerized jobs
252  - ci: expose distro name in dockerized GitHub jobs
253  - ci: rename "runs_on_pool" to "distro"
255  Tests to ensure interoperability between reftable written by jgit
256  and our code have been added and enabled in CI.
258  Comments?
259  source: <cover.1712555682.git.ps@pks.im>
262 * pw/rebase-i-error-message (2024-04-08) 2 commits
263  - rebase -i: improve error message when picking merge
264  - rebase -i: pass struct replay_opts to parse_insn_line()
266  When the user adds to "git rebase -i" instruction to "pick" a merge
267  commit, the error experience is not pleasant.  Such an error is now
268  caught earlier in the process that parses the todo list.
270  Comments?
271  source: <pull.1672.v2.git.1712585787.gitgitgadget@gmail.com>
274 * tb/make-indent-conditional-with-non-spaces (2024-04-08) 2 commits
275  - Makefile(s): do not enforce "all indents must be done with tab"
276  - Makefile(s): avoid recipe prefix in conditional statements
278  Adjust to an upcoming changes to GNU make that breaks our Makefiles.
280  Will merge to 'next'.
281  source: <9d14c08ca6cc06cdf8fb4ba33d2470053dca3966.1712591504.git.me@ttaylorr.com>
284 * ps/t0610-umask-fix (2024-04-09) 2 commits
285  - t0610: execute git-pack-refs(1) with specified umask
286  - t0610: make `--shared=` tests reusable
288  The "shared repository" test in the t0610 reftable test failed
289  under restrictive umask setting (e.g. 007), which has been
290  corrected.
292  Will merge to 'next'.
293  source: <cover.1712656576.git.ps@pks.im>
295 --------------------------------------------------
296 [Cooking]
298 * ma/win32-unix-domain-socket (2024-04-03) 1 commit
299   (merged to 'next' on 2024-04-09 at b98021a65c)
300  + Win32: detect unix socket support at runtime
302  Windows binary used to decide the use of unix-domain socket at
303  build time, but it learned to make the decision at runtime instead.
305  Will merge to 'master'.
306  source: <pull.1708.git.1712158923106.gitgitgadget@gmail.com>
309 * ps/reftable-write-optim (2024-04-08) 11 commits
310  - reftable/block: reuse compressed array
311  - reftable/block: reuse zstream when writing log blocks
312  - reftable/writer: reset `last_key` instead of releasing it
313  - reftable/writer: unify releasing memory
314  - reftable/writer: refactorings for `writer_flush_nonempty_block()`
315  - reftable/writer: refactorings for `writer_add_record()`
316  - refs/reftable: don't recompute committer ident
317  - reftable: remove name checks
318  - refs/reftable: skip duplicate name checks
319  - refs/reftable: perform explicit D/F check when writing symrefs
320  - refs/reftable: fix D/F conflict error message on ref copy
322  Code to write out reftable has seen some optimization and
323  simplification.
324  source: <cover.1712578837.git.ps@pks.im>
327 * ds/send-email-per-message-block (2024-04-08) 3 commits
328  - send-email: separate the confirmation prompts from the messages
329  - send-email: make it easy to discern the messages for each patch
330  - send-email: move newline character out of a translatable string
332  "git send-email" learned to separate its reports on each message it
333  sends out with an extra blank line in between.
335  Comments?
336  source: <cover.1712486910.git.dsimic@manjaro.org>
339 * ds/fetch-config-parse-microfix (2024-04-05) 1 commit
340   (merged to 'next' on 2024-04-09 at 585dcadd63)
341  + fetch: return when parsing submodule.recurse
343  A config parser callback function fell through instead of returning
344  after recognising and processing a variable, wasting cycles, which
345  has been corrected.
347  Will merge to 'master'.
348  source: <pull.1709.git.1712285542303.gitgitgadget@gmail.com>
351 * rs/apply-lift-path-length-limit (2024-04-05) 2 commits
352   (merged to 'next' on 2024-04-09 at 3270d194fd)
353  + path: remove mksnpath()
354  + apply: avoid fixed-size buffer in create_one_file()
356  "git apply" has been updated to lift the hardcoded pathname length
357  limit, which in turn allowed a mksnpath() function that is no
358  longer used.
360  Will merge to 'master'.
361  source: <df774306-f29b-4a75-a282-59db89812b9a@web.de>
364 * rs/apply-reject-fd-leakfix (2024-04-05) 1 commit
365   (merged to 'next' on 2024-04-09 at 11efa0543c)
366  + apply: don't leak fd on fdopen() error
368  A file descriptor leak in an error codepath, used when "git apply
369  --reject" fails to create the *.rej file, has been corrected.
371  Will merge to 'master'.
372  source: <5ba55ee4-94c7-4094-a744-584fc623b391@web.de>
375 * kn/clarify-update-ref-doc (2024-04-02) 2 commits
376   (merged to 'next' on 2024-04-02 at d1b9c5aa67)
377  + githooks: use {old,new}-oid instead of {old,new}-value
378  + update-ref: use {old,new}-oid instead of {old,new}value
380  Doc update, as a preparation to enhance "git update-ref --stdin".
382  Will merge to 'master'.
383  source: <20240402064915.191104-1-knayak@gitlab.com>
386 * vs/complete-with-set-u-fix (2024-04-01) 2 commits
387   (merged to 'next' on 2024-04-02 at d8f6a511e8)
388  + completion: protect prompt against unset SHOWUPSTREAM in nounset mode
389  + completion: fix prompt with unset SHOWCONFLICTSTATE in nounset mode
391  Another "set -u" fix for the bash prompt (in contrib/) script.
393  Will merge to 'master'.
394  source: <20240401190751.8676-1-ville.skytta@iki.fi>
397 * ba/osxkeychain-updates (2024-04-01) 4 commits
398  - osxkeychain: store new attributes
399  - osxkeychain: erase matching passwords only
400  - osxkeychain: erase all matching credentials
401  - osxkeychain: replace deprecated SecKeychain API
403  Update osxkeychain backend with features required for the recent
404  credential subsystem.
406  Will merge to 'next'?
407  source: <pull.1667.git.1708212896.gitgitgadget@gmail.com>
410 * rs/imap-send-use-xsnprintf (2024-04-02) 1 commit
411   (merged to 'next' on 2024-04-04 at 789ad853e1)
412  + imap-send: use xsnprintf to format command
414  Code clean-up and duplicate reduction.
416  Will merge to 'master'.
417  source: <f9ad9f41-5b9b-474e-9818-f91fc937daae@web.de>
420 * tb/midx-write (2024-04-01) 5 commits
421   (merged to 'next' on 2024-04-05 at b4870116f7)
422  + midx-write.c: use `--stdin-packs` when repacking
423  + midx-write.c: check count of packs to repack after grouping
424  + midx-write.c: factor out common want_included_pack() routine
425  + midx-write: move writing-related functions from midx.c
426  + Merge branch 'rs/midx-use-strvec-pushf' into tb/midx-write
428  Code clean-up by splitting code responsible for writing midx files
429  into its own file.
431  Will merge to 'master'.
432  source: <cover.1712006190.git.me@ttaylorr.com>
435 * jc/t2104-style-update (2024-04-02) 1 commit
436   (merged to 'next' on 2024-04-03 at 0449835479)
437  + t2104: style fixes
439  Coding style fixes.
441  Will merge to 'master'.
442  source: <xmqqmsqb4ngg.fsf@gitster.g>
445 * rs/t-prio-queue-cleanup (2024-04-02) 1 commit
446   (merged to 'next' on 2024-04-04 at 7961c838ac)
447  + t-prio-queue: simplify using compound literals
449  t-prio-queue test has been cleaned up by using C99 compound
450  literals; this is meant to also serve as a weather-balloon to smoke
451  out folks with compilers who have trouble compiling code that uses
452  the feature.
454  Will merge to 'master'.
455  source: <520da361-1b80-4ba3-87b2-86d6fdfc18b5@web.de>
458 * jk/libcurl-8.7-regression-workaround (2024-04-05) 3 commits
459  - remote-curl: add Transfer-Encoding header only for older curl
460  - INSTALL: bump libcurl version to 7.21.3
461  - http: reset POSTFIELDSIZE when clearing curl handle
463  Fix was added to work around a regression in libcURL 8.7.0 (which has
464  already been fixed in their tip of the tree).
466  Will merge to 'next'.
467  source: <20240402200254.GA874754@coredump.intra.peff.net>
470 * tb/t7700-fixup (2024-04-03) 1 commit
471  - t/t7700-repack.sh: fix test breakages with `GIT_TEST_MULTI_PACK_INDEX=1 `
473  Test fix.
475  Will merge to 'next'.
476  source: <7e8d435d58eea19d2aae0be366720f5956d29a5d.1712075189.git.me@ttaylorr.com>
479 * gt/add-u-commit-i-pathspec-check (2024-04-03) 3 commits
480   (merged to 'next' on 2024-04-09 at 1a0c757907)
481  + builtin/add: error out when passing untracked path with -u
482  + builtin/commit: error out when passing untracked path with -i
483  + revision: optionally record matches with pathspec elements
485  "git add -u <pathspec>" and "git commit [-i] <pathspec>" did not
486  diagnose a pathspec element that did not match any files in certain
487  situations, unlike "git add <pathspec>" did.
489  Will merge to 'master'.
490  source: <20240402213640.139682-2-shyamthakkar001@gmail.com>
493 * jt/reftable-geometric-compaction (2024-04-08) 4 commits
494  - reftable/stack: use geometric table compaction
495  - reftable/stack: add env to disable autocompaction
496  - reftable/stack: expose option to disable auto-compaction
497  - Merge branch 'ps/pack-refs-auto' into jt/reftable-geometric-compaction
499  The strategy to compact multiple tables of reftables after many
500  operations accumulate many entries has been improved to avoid
501  accumulating too many tables uncollected.
503  Comments?
504  source: <pull.1683.v6.git.1712593016.gitgitgadget@gmail.com>
507 * ds/typofix-core-config-doc (2024-03-31) 1 commit
508   (merged to 'next' on 2024-04-02 at 79496fcfc4)
509  + config: fix some small capitalization issues, as spotted
511  Typofix.
513  Will merge to 'master'.
514  source: <26135b06c48565ee8ac6dcfc1ef5431511e6202c.1711918168.git.dsimic@manjaro.org>
517 * jc/checkout-detach-wo-tracking-report (2024-03-30) 1 commit
518   (merged to 'next' on 2024-04-04 at 161eca247d)
519  + checkout: omit "tracking" information on a detached HEAD
521  "git checkout/switch --detach foo", after switching to the detached
522  HEAD state, gave the tracking information for the 'foo' branch,
523  which was pointless.
525  Tested-by: M Hickford <mirth.hickford@gmail.com>
526  cf. <CAGJzqsmE9FDEBn=u3ge4LA3ha4fDbm4OWiuUbMaztwjELBd7ug@mail.gmail.com>
528  Will merge to 'master'.
529  source: <xmqqa5mfl7ud.fsf@gitster.g>
532 * rs/mem-pool-size-t-safety (2024-03-31) 1 commit
533   (merged to 'next' on 2024-04-02 at 3517d48210)
534  + mem-pool: use st_add() in mem_pool_strvfmt()
536  size_t arithmetic safety.
538  Will merge to 'master'.
539  source: <bbe00b9e-64d8-4ec8-a2b9-2c6917c72dbd@web.de>
542 * ew/khash-to-khashl (2024-03-28) 3 commits
543  - khashl: fix ensemble lookups on empty table
544  - treewide: switch to khashl for memory savings
545  - list-objects-filter: use kh_size API
547  The hashtable library "khash.h" has been replaced with "khashl.h"
548  that has better memory usage characteristics.
550  Needs review.
551  source: <20240328101356.300374-1-e@80x24.org>
554 * ps/reftable-block-iteration-optim (2024-03-27) 9 commits
555  - reftable/block: reuse `zstream` state on inflation
556  - reftable/block: open-code call to `uncompress2()`
557  - reftable/block: reuse uncompressed blocks
558  - reftable/reader: iterate to next block in place
559  - reftable/block: move ownership of block reader into `struct table_iter`
560  - reftable/block: introduce `block_reader_release()`
561  - reftable/block: better grouping of functions
562  - reftable/block: merge `block_iter_seek()` and `block_reader_seek()`
563  - reftable/block: rename `block_reader_start()`
565  The code to iterate over reftable blocks has seen some optimization
566  to reduce memory allocation and deallocation.
568  Needs review.
569  source: <cover.1711519925.git.ps@pks.im>
572 * bc/credential-scheme-enhancement (2024-03-27) 12 commits
573  . credential: add support for multistage credential rounds
574  . t5563: refactor for multi-stage authentication
575  . docs: set a limit on credential line length
576  . credential: enable state capability
577  . credential: add an argument to keep state
578  . http: add support for authtype and credential
579  . docs: indicate new credential protocol fields
580  . credential: gate new fields on capability
581  . credential: add a field for pre-encoded credentials
582  . http: use new headers for each object request
583  . remote-curl: reset headers on new request
584  . credential: add an authtype field
586  The credential helper protocol, together with the HTTP layer, have
587  been enhanced to support authentication schemes different from
588  username & password pair, like Bearer and NTLM.
590  Expecting a reroll.
591  cf. <ZgSQ5o_KyqDaxz1m@tapette.crustytoothpaste.net>
592  source: <20240324011301.1553072-1-sandals@crustytoothpaste.net>
595 * ps/reftable-binsearch-updates (2024-04-03) 7 commits
596   (merged to 'next' on 2024-04-04 at 40e6d5a36b)
597  + reftable/block: avoid decoding keys when searching restart points
598  + reftable/record: extract function to decode key lengths
599  + reftable/block: fix error handling when searching restart points
600  + reftable/block: refactor binary search over restart points
601  + reftable/refname: refactor binary search over refnames
602  + reftable/basics: improve `binsearch()` test
603  + reftable/basics: fix return type of `binsearch()` to be `size_t`
605  Reftable code clean-up and some bugfixes.
607  Will merge to 'master'.
608  source: <cover.1712123093.git.ps@pks.im>
611 * tb/pseudo-merge-reachability-bitmap (2024-03-20) 24 commits
612  - t/perf: implement performace tests for pseudo-merge bitmaps
613  - pseudo-merge: implement support for finding existing merges
614  - ewah: `bitmap_equals_ewah()`
615  - pack-bitmap: extra trace2 information
616  - pack-bitmap.c: use pseudo-merges during traversal
617  - t/test-lib-functions.sh: support `--date` in `test_commit_bulk()`
618  - pack-bitmap: implement test helpers for pseudo-merge
619  - ewah: implement `ewah_bitmap_popcount()`
620  - pseudo-merge: implement support for reading pseudo-merge commits
621  - pack-bitmap.c: read pseudo-merge extension
622  - pseudo-merge: scaffolding for reads
623  - pack-bitmap: extract `read_bitmap()` function
624  - pack-bitmap-write.c: write pseudo-merge table
625  - pack-bitmap-write.c: select pseudo-merge commits
626  - pseudo-merge: implement support for selecting pseudo-merge commits
627  - pack-bitmap: make `bitmap_writer_push_bitmapped_commit()` public
628  - pack-bitmap: implement `bitmap_writer_has_bitmapped_object_id()`
629  - pack-bitmap-write: support storing pseudo-merge commits
630  - pseudo-merge.ch: initial commit
631  - pack-bitmap: move some initialization to `bitmap_writer_init()`
632  - pack-bitmap: drop unused `max_bitmaps` parameter
633  - ewah: implement `ewah_bitmap_is_subset()`
634  - config: repo_config_get_expiry()
635  - Documentation/technical: describe pseudo-merge bitmaps format
637  The pack-bitmap machinery learned to write pseudo-merge bitmaps,
638  which act as imaginary octopus merges covering un-bitmapped
639  reference tips. This enhances bitmap coverage, and thus,
640  performance, for repositories with many references using bitmaps.
642  Expecting a reroll.
643  cf. <ZfyxCLpjbaScIdWA@nand.local>
644  source: <cover.1710972293.git.me@ttaylorr.com>
647 * la/hide-trailer-info (2024-03-16) 7 commits
648  - trailer: retire trailer_info_get() from API
649  - trailer: make trailer_info struct private
650  - trailer: make parse_trailers() return trailer_info pointer
651  - interpret-trailers: access trailer_info with new helpers
652  - sequencer: use the trailer iterator
653  - trailer: teach iterator about non-trailer lines
654  - Merge branch 'la/format-trailer-info' into la/hide-trailer-info
655  (this branch uses la/format-trailer-info.)
657  The trailer API has been reshuffled a bit.
659  Needs review.
660  source: <pull.1696.git.1710570428.gitgitgadget@gmail.com>
663 * ds/doc-config-reflow (2024-03-14) 1 commit
664  - config.txt: perform some minor reformatting
666  Reflow a paragraph in the documentation source without any effect
667  to the formatted text.
669  Will discard.
670  source: <97bdaf075bf5a68554cca1731eca78aff2662907.1710444774.git.dsimic@manjaro.org>
673 * la/format-trailer-info (2024-03-15) 5 commits
674  - trailer: finish formatting unification
675  - trailer: begin formatting unification
676  - format_trailer_info(): append newline for non-trailer lines
677  - format_trailer_info(): drop redundant unfold_value()
678  - format_trailer_info(): use trailer_item objects
679  (this branch is used by la/hide-trailer-info.)
681  The code to format trailers have been cleaned up.
683  Comments?
684  source: <pull.1694.git.1710485706.gitgitgadget@gmail.com>
687 * ie/config-includeif-hostname (2024-03-19) 2 commits
688  - config: learn the "hostname:" includeIf condition
689  - t: add a test helper for getting hostname
691  The conditional inclusion mechanism for configuration files learned
692  to switch on the hostname.
694  Expecting a reroll.
695  cf. <20240319210428.GC1159535@coredump.intra.peff.net>
696  cf. <20240320001934.GA903718@coredump.intra.peff.net>
697  source: <20240319183722.211300-1-ignacio@iencinas.com>
700 * js/build-fuzz-more-often (2024-03-05) 3 commits
701  - SQUASH???
702  - fuzz: link fuzz programs with `make all` on Linux
703  - ci: also define CXX environment variable
705  In addition to building the objects needed, try to link the objects
706  that are used in fuzzer tests, to make sure at least they build
707  without bitrot, in Linux CI runs.
709  Stalled.
710  cf. <xmqq1q7w8xx6.fsf@gitster.g>
711  source: <cover.1709673020.git.steadmon@google.com>
714 * sj/userdiff-c-sharp (2024-04-05) 1 commit
715  - userdiff: better method/property matching for C#
717  The userdiff patterns for C# has been updated.
719  Acked-by: Johannes Sixt <j6t@kdbg.org>
720  cf. <c2154457-3f2f-496e-9b8b-c8ea7257027b@kdbg.org>
722  Will merge to 'next'.
723  source: <pull.1682.v5.git.git.1712180564927.gitgitgadget@gmail.com>
726 * cw/git-std-lib (2024-02-28) 4 commits
727  - SQUASH??? get rid of apparent debugging crufts
728  - test-stdlib: show that git-std-lib is independent
729  - git-std-lib: introduce Git Standard Library
730  - pager: include stdint.h because uintmax_t is used
732  Split libgit.a out to a separate git-std-lib tor easier reuse.
734  Expecting a reroll.
735  source: <cover.1696021277.git.jonathantanmy@google.com>
738 * js/cmake-with-test-tool (2024-02-23) 2 commits
739  - cmake: let `test-tool` run the unit tests, too
740  - Merge branch 'js/unit-test-suite-runner' into js/cmake-with-test-tool
741  (this branch uses js/unit-test-suite-runner.)
743  "test-tool" is now built in CMake build to also run the unit tests.
745  May want to roll it into the base topic.
746  source: <pull.1666.git.1708038924522.gitgitgadget@gmail.com>
749 * js/unit-test-suite-runner (2024-02-23) 8 commits
750  - ci: use test-tool as unit test runner on Windows
751  - t/Makefile: run unit tests alongside shell tests
752  - unit tests: add rule for running with test-tool
753  - test-tool run-command testsuite: support unit tests
754  - test-tool run-command testsuite: remove hardcoded filter
755  - test-tool run-command testsuite: get shell from env
756  - t0080: turn t-basic unit test into a helper
757  - Merge branch 'jk/unit-tests-buildfix' into js/unit-test-suite-runner
758  (this branch is used by js/cmake-with-test-tool.)
760  The "test-tool" has been taught to run testsuite tests in parallel,
761  bypassing the need to use the "prove" tool.
763  Needs review.
764  source: <cover.1708728717.git.steadmon@google.com>
767 * bk/complete-dirname-for-am-and-format-patch (2024-01-12) 1 commit
768  - completion: dir-type optargs for am, format-patch
770  Command line completion support (in contrib/) has been
771  updated for a few commands to complete directory names where a
772  directory name is expected.
774  Expecting a reroll.
775  cf. <40c3a824-a961-490b-94d4-4eb23c8f713d@gmail.com>
776  cf. <6683f24e-7e56-489d-be2d-8afe1fc38d2b@gmail.com>
777  source: <d37781c3-6af2-409b-95a8-660a9b92d20b@smtp-relay.sendinblue.com>
780 * bk/complete-send-email (2024-01-12) 1 commit
781  - completion: don't complete revs when --no-format-patch
783  Command line completion support (in contrib/) has been taught to
784  avoid offering revision names as candidates to "git send-email" when
785  the command is used to send pre-generated files.
787  Expecting a reroll.
788  cf. <CAC4O8c88Z3ZqxH2VVaNPpEGB3moL5dJcg3cOWuLWwQ_hLrJMtA@mail.gmail.com>
789  source: <a718b5ee-afb0-44bd-a299-3208fac43506@smtp-relay.sendinblue.com>
792 * tb/path-filter-fix (2024-01-31) 16 commits
793  - bloom: introduce `deinit_bloom_filters()`
794  - commit-graph: reuse existing Bloom filters where possible
795  - object.h: fix mis-aligned flag bits table
796  - commit-graph: new Bloom filter version that fixes murmur3
797  - commit-graph: unconditionally load Bloom filters
798  - bloom: prepare to discard incompatible Bloom filters
799  - bloom: annotate filters with hash version
800  - repo-settings: introduce commitgraph.changedPathsVersion
801  - t4216: test changed path filters with high bit paths
802  - t/helper/test-read-graph: implement `bloom-filters` mode
803  - bloom.h: make `load_bloom_filter_from_graph()` public
804  - t/helper/test-read-graph.c: extract `dump_graph_info()`
805  - gitformat-commit-graph: describe version 2 of BDAT
806  - commit-graph: ensure Bloom filters are read with consistent settings
807  - revision.c: consult Bloom filters for root commits
808  - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`
810  The Bloom filter used for path limited history traversal was broken
811  on systems whose "char" is unsigned; update the implementation and
812  bump the format version to 2.
814  Waiting for a final ack?
815  cf. <ZcFjkfbsBfk7JQIH@nand.local>
816  source: <cover.1706741516.git.me@ttaylorr.com>
819 * jc/rerere-cleanup (2023-08-25) 4 commits
820  - rerere: modernize use of empty strbuf
821  - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
822  - rerere: fix comment on handle_file() helper
823  - rerere: simplify check_one_conflict() helper function
825  Code clean-up.
827  Not ready to be reviewed yet.
828  source: <20230824205456.1231371-1-gitster@pobox.com>