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
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
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
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 --------------------------------------------------
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
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
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.
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.
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
292 Will merge to 'next'.
293 source: <cover.1712656576.git.ps@pks.im>
295 --------------------------------------------------
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
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.
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
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
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
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)
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
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 `
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.
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
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,
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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
827 Not ready to be reviewed yet.
828 source: <20230824205456.1231371-1-gitster@pobox.com>