1 To: git@vger.kernel.org
2 Subject: What's cooking in git.git (Nov 2023, #03; Tue, 7)
3 X-master-at: 8be77c5de65442b331a28d63802c7a3b94a06c5a
4 X-next-at: 63f67c610266b225d783c4c488463ff26ad58572
5 Bcc: lwn@lwn.net, gitster@pobox.com
7 What's cooking in git.git (Nov 2023, #03; Tue, 7)
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-vcs/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 * ar/submitting-patches-doc-update (2023-10-24) 1 commit
52 (merged to 'next' on 2023-10-30 at e140009eb6)
53 + SubmittingPatches: call gitk's command "Copy commit reference"
56 source: <20231024195123.911431-1-rybak.a.v@gmail.com>
59 * es/bugreport-no-extra-arg (2023-10-29) 2 commits
60 (merged to 'next' on 2023-11-01 at 4ca0a9c77c)
61 + bugreport: reject positional arguments
62 + t0091-bugreport: stop using i18ngrep
64 "git bugreport" learned to complain when it received a command line
65 argument that it will not use.
66 source: <20231026155459.2234929-1-nasamuffin@google.com>
69 * jc/grep-f-relative-to-cwd (2023-10-12) 1 commit
70 (merged to 'next' on 2023-10-31 at 0d32547b18)
71 + grep: -f <path> is relative to $cwd
73 "cd sub && git grep -f patterns" tried to read "patterns" file at
74 the top level of the working tree; it has been corrected to read
75 "sub/patterns" instead.
76 cf. <ZUAnEVk65VQQE263@nand.local>
77 source: <xmqqedhzg37z.fsf@gitster.g>
80 * js/my-first-contribution-update (2023-10-28) 1 commit
81 (merged to 'next' on 2023-11-01 at 94590ee724)
82 + Include gettext.h in MyFirstContribution tutorial
85 source: <20231017041503.3249-1-jacob@initialcommit.io>
88 * ms/send-email-validate-fix (2023-10-26) 1 commit
89 (merged to 'next' on 2023-11-01 at f9dd32186b)
90 + send-email: move validation code below process_address_list
92 "git send-email" did not have certain pieces of data computed yet
93 when it tried to validate the outging messages and its recipient
94 addresses, which has been sorted out.
95 source: <ddd4bfdd-ed14-44f4-89d3-192332bbc1c4@amd.com>
98 * rc/trace-upload-pack (2023-10-30) 1 commit
99 (merged to 'next' on 2023-11-01 at 90892b5cf0)
100 + upload-pack: add tracing for fetches
103 source: <pull.1598.v2.git.1697577168128.gitgitgadget@gmail.com>
106 * rs/fix-arghelp (2023-10-29) 1 commit
107 (merged to 'next' on 2023-11-01 at cd923d3362)
108 + am, rebase: fix arghelp syntax of --empty
111 source: <10e09b2d-15d7-4af1-b24c-217f9e2f457a@web.de>
114 * rs/parse-options-cmdmode (2023-10-29) 2 commits
115 (merged to 'next' on 2023-11-01 at b83328f1e7)
116 + am: simplify --show-current-patch handling
117 + parse-options: make CMDMODE errors more precise
119 parse-options improvements for OPT_CMDMODE options.
120 source: <4520156b-9418-493c-a50c-e61b42e805b3@web.de>
123 * rs/reflog-expire-single-worktree-fix (2023-10-29) 1 commit
124 (merged to 'next' on 2023-11-01 at 6b4dab2cd2)
125 + reflog: fix expire --single-worktree
127 "git reflog expire --single-worktree" has been broken for the past
128 20 months or so, which has been corrected.
129 source: <63eade0e-bf2c-4906-8b4c-689797cff737@web.de>
131 --------------------------------------------------
134 * ps/leakfixes (2023-11-07) 4 commits
135 - setup: fix leaking repository format
136 - setup: refactor `upgrade_repository_format()` to have common exit
137 - shallow: fix memory leak when registering shallow roots
138 - test-bloom: stop setting up Git directory twice
142 Will merge to 'next' and then to 'master'.
143 source: <cover.1699267422.git.ps@pks.im>
146 * tb/rev-list-unpacked-fix (2023-11-07) 2 commits
147 - pack-bitmap: drop --unpacked non-commit objects from results
148 - list-objects: drop --unpacked non-commit objects from results
150 "git rev-list --unpacked --objects" failed to exclude packed
151 non-commit objects, which has been corrected.
153 Will merge to 'next' and then to 'master'.
154 source: <cover.1699311386.git.me@ttaylorr.com>
157 * vd/for-each-ref-unsorted-optimization (2023-11-07) 9 commits
158 - t/perf: add perf tests for for-each-ref
159 - for-each-ref: add option to fully dereference tags
160 - ref-filter.c: filter & format refs in the same callback
161 - ref-filter.c: refactor to create common helper functions
162 - ref-filter.h: add functions for filter/format & format-only
163 - ref-filter.h: move contains caches into filter
164 - ref-filter.h: add max_count and omit_empty to ref_format
165 - for-each-ref: clarify interaction of --omit-empty & --count
166 - ref-filter.c: really don't sort when using --no-sort
168 "git for-each-ref --no-sort" still sorted the refs alphabetically
169 which paid non-trivial cost. It has been redefined to show output
170 in an unspecified order, to allow certain optimizations to take
174 cf. <dbcbcf0e-aeee-4bb9-9e39-e2e85194d083@github.com>
175 source: <pull.1609.git.1699320361.gitgitgadget@gmail.com>
177 --------------------------------------------------
180 * pw/rebase-sigint (2023-09-07) 1 commit
181 - rebase -i: ignore signals when forking subprocesses
183 If the commit log editor or other external programs (spawned via
184 "exec" insn in the todo list) receive internactive signal during
185 "git rebase -i", it caused not just the spawned program but the
186 "Git" process that spawned them, which is often not what the end
187 user intended. "git" learned to ignore SIGINT and SIGQUIT while
188 waiting for these subprocesses.
191 cf. <12c956ea-330d-4441-937f-7885ab519e26@gmail.com>
192 source: <pull.1581.git.1694080982621.gitgitgadget@gmail.com>
195 * tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
196 - cherry-pick: refuse cherry-pick sequence if index is dirty
198 "git cherry-pick A" that replays a single commit stopped before
199 clobbering local modification, but "git cherry-pick A..B" did not,
200 which has been corrected.
203 cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
204 source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>
207 * jc/diff-cached-fsmonitor-fix (2023-09-15) 3 commits
208 - diff-lib: fix check_removed() when fsmonitor is active
209 - Merge branch 'jc/fake-lstat' into jc/diff-cached-fsmonitor-fix
210 - Merge branch 'js/diff-cached-fsmonitor-fix' into jc/diff-cached-fsmonitor-fix
211 (this branch uses jc/fake-lstat.)
213 The optimization based on fsmonitor in the "diff --cached"
214 codepath is resurrected with the "fake-lstat" introduced earlier.
216 It is unknown if the optimization is worth resurrecting, but in case...
217 source: <xmqqr0n0h0tw.fsf@gitster.g>
219 --------------------------------------------------
222 * jw/git-add-attr-pathspec (2023-11-04) 1 commit
223 - attr: enable attr pathspec magic for git-add and git-stash
225 "git add" and "git stash" learned to support the ":(attr:...)"
228 Will merge to 'next'?
229 source: <20231103163449.1578841-1-jojwang@google.com>
232 * la/strvec-header-fix (2023-11-03) 1 commit
233 (merged to 'next' on 2023-11-03 at db23d8a911)
234 + strvec: drop unnecessary include of hex.h
238 Will merge to 'master'.
239 source: <pull.1608.git.1698958277454.gitgitgadget@gmail.com>
242 * jk/chunk-bounds (2023-11-04) 1 commit
243 (merged to 'next' on 2023-11-06 at ae9fbc1700)
244 + t: avoid perl's pack/unpack "Q" specifier
246 Test portability fix.
248 Will merge to 'master'.
249 source: <20231103162019.GB1470570@coredump.intra.peff.net>
252 * js/ci-use-macos-13 (2023-11-03) 1 commit
253 (merged to 'next' on 2023-11-06 at f7406347cd)
254 + ci: upgrade to using macos-13
256 Replace macos-12 used at GitHub CI with macos-13.
258 Will merge to 'master'.
259 source: <pull.1607.git.1698996455218.gitgitgadget@gmail.com>
262 * jc/strbuf-comment-line-char (2023-11-01) 4 commits
263 - strbuf: move env-using functions to environment.c
264 - strbuf: make add_lines() public
265 - strbuf_add_commented_lines(): drop the comment_line_char parameter
266 - strbuf_commented_addf(): drop the comment_line_char parameter
269 source: <cover.1698791220.git.jonathantanmy@google.com>
272 * ps/show-ref (2023-11-01) 12 commits
273 (merged to 'next' on 2023-11-02 at 987bb117f5)
274 + t: use git-show-ref(1) to check for ref existence
275 + builtin/show-ref: add new mode to check for reference existence
276 + builtin/show-ref: explicitly spell out different modes in synopsis
277 + builtin/show-ref: ensure mutual exclusiveness of subcommands
278 + builtin/show-ref: refactor options for patterns subcommand
279 + builtin/show-ref: stop using global vars for `show_one()`
280 + builtin/show-ref: stop using global variable to count matches
281 + builtin/show-ref: refactor `--exclude-existing` options
282 + builtin/show-ref: fix dead code when passing patterns
283 + builtin/show-ref: fix leaking string buffer
284 + builtin/show-ref: split up different subcommands
285 + builtin/show-ref: convert pattern to a local variable
286 (this branch is used by ps/ref-tests-update.)
288 Teach "git show-ref" a mode to check the existence of a ref.
290 Will merge to 'master'.
291 source: <cover.1698739941.git.ps@pks.im>
294 * bc/merge-file-object-input (2023-11-02) 2 commits
295 (merged to 'next' on 2023-11-02 at ccbba9416c)
296 + merge-file: add an option to process object IDs
297 + git-merge-file doc: drop "-file" from argument placeholders
299 "git merge-file" learns a mode to read three contents to be merged
302 Will merge to 'master'.
303 source: <20231101192419.794162-1-sandals@crustytoothpaste.net>
306 * jc/test-i18ngrep (2023-11-02) 2 commits
307 (merged to 'next' on 2023-11-03 at 78406f8d94)
308 + tests: teach callers of test_i18ngrep to use test_grep
309 + test framework: further deprecate test_i18ngrep
311 Another step to deprecate test_i18ngrep.
313 Will merge to 'master'.
314 source: <20231031052330.3762989-1-gitster@pobox.com>
317 * an/clang-format-typofix (2023-11-01) 1 commit
318 (merged to 'next' on 2023-11-02 at 7f639690ab)
319 + clang-format: fix typo in comment
323 Will merge to 'master'.
324 source: <pull.1602.v2.git.git.1698759629166.gitgitgadget@gmail.com>
327 * jk/tree-name-and-depth-limit (2023-11-02) 1 commit
328 (merged to 'next' on 2023-11-06 at 041423344c)
329 + max_tree_depth: lower it for MSVC to avoid stack overflows
331 Further limit tree depth max to avoid Windows build running out of
334 Will merge to 'master'.
335 source: <pull.1604.v2.git.1698843810814.gitgitgadget@gmail.com>
338 * ps/ci-gitlab (2023-11-02) 8 commits
339 - ci: add support for GitLab CI
340 - ci: install test dependencies for linux-musl
341 - ci: squelch warnings when testing with unusable Git repo
342 - ci: unify setup of some environment variables
343 - ci: split out logic to set up failed test artifacts
344 - ci: group installation of Docker dependencies
345 - ci: make grouping setup more generic
346 - ci: reorder definitions for grouping functions
348 Add support for GitLab CI.
351 source: <cover.1698843660.git.ps@pks.im>
354 * ps/ref-tests-update (2023-11-03) 10 commits
355 - t: mark several tests that assume the files backend with REFFILES
356 - t7900: assert the absence of refs via git-for-each-ref(1)
357 - t7300: assert exact states of repo
358 - t4207: delete replace references via git-update-ref(1)
359 - t1450: convert tests to remove worktrees via git-worktree(1)
360 - t: convert tests to not access reflog via the filesystem
361 - t: convert tests to not access symrefs via the filesystem
362 - t: convert tests to not write references via the filesystem
363 - t: allow skipping expected object ID in `ref-store update-ref`
364 - Merge branch 'ps/show-ref' into ps/ref-tests-update
365 (this branch uses ps/show-ref.)
367 Update ref-related tests.
369 Will merge to 'next'?
370 source: <cover.1698914571.git.ps@pks.im>
373 * jx/fetch-atomic-error-message-fix (2023-10-19) 2 commits
374 - fetch: no redundant error message for atomic fetch
375 - t5574: test porcelain output of atomic fetch
377 "git fetch --atomic" issued an unnecessary empty error message,
378 which has been corrected.
381 source: <ced46baeb1c18b416b4b4cc947f498bea2910b1b.1697725898.git.zhiyou.jx@alibaba-inc.com>
384 * js/bugreport-in-the-same-minute (2023-10-16) 1 commit
385 - bugreport: include +i in outfile suffix as needed
387 Instead of auto-generating a filename that is already in use for
388 output and fail the command, `git bugreport` learned to fuzz the
389 filename to avoid collisions with existing files.
392 cf. <ZTtZ5CbIGETy1ucV.jacob@initialcommit.io>
393 source: <20231016214045.146862-2-jacob@initialcommit.io>
396 * kh/t7900-cleanup (2023-10-17) 9 commits
397 - t7900: fix register dependency
398 - t7900: factor out packfile dependency
399 - t7900: fix `print-args` dependency
400 - t7900: fix `pfx` dependency
401 - t7900: factor out common schedule setup
402 - t7900: factor out inheritance test dependency
403 - t7900: create commit so that branch is born
404 - t7900: setup and tear down clones
405 - t7900: remove register dependency
410 cf. <655ca147-c214-41be-919d-023c1b27b311@app.fastmail.com>
411 source: <cover.1697319294.git.code@khaugsbakk.name>
414 * tb/merge-tree-write-pack (2023-10-23) 5 commits
415 - builtin/merge-tree.c: implement support for `--write-pack`
416 - bulk-checkin: introduce `index_tree_bulk_checkin_incore()`
417 - bulk-checkin: introduce `index_blob_bulk_checkin_incore()`
418 - bulk-checkin: generify `stream_blob_to_pack()` for arbitrary types
419 - bulk-checkin: extract abstract `bulk_checkin_source`
421 "git merge-tree" learned "--write-pack" to record its result
422 without creating loose objects.
424 Will merge to 'next'?
425 source: <cover.1698101088.git.me@ttaylorr.com>
428 * tb/format-pack-doc-update (2023-11-01) 2 commits
429 (merged to 'next' on 2023-11-02 at 538991fe9b)
430 + Documentation/gitformat-pack.txt: fix incorrect MIDX documentation
431 + Documentation/gitformat-pack.txt: fix typo
435 Will merge to 'master'.
436 source: <cover.1698780244.git.me@ttaylorr.com>
439 * ps/do-not-trust-commit-graph-blindly-for-existence (2023-11-01) 2 commits
440 (merged to 'next' on 2023-11-01 at 06037376ee)
441 + commit: detect commits that exist in commit-graph but not in the ODB
442 + commit-graph: introduce envvar to disable commit existence checks
443 (this branch is used by kn/rev-list-missing-fix.)
445 The codepath to traverse the commit-graph learned to notice that a
446 commit is missing (e.g., corrupt repository lost an object), even
447 though it knows something about the commit (like its parents) from
448 what is in commit-graph.
450 Will merge to 'master'.
451 source: <cover.1698736363.git.ps@pks.im>
454 * tb/pair-chunk-expect-size (2023-10-14) 8 commits
455 - midx: read `OOFF` chunk with `pair_chunk_expect()`
456 - midx: read `OIDL` chunk with `pair_chunk_expect()`
457 - midx: read `OIDF` chunk with `pair_chunk_expect()`
458 - commit-graph: read `BIDX` chunk with `pair_chunk_expect()`
459 - commit-graph: read `GDAT` chunk with `pair_chunk_expect()`
460 - commit-graph: read `CDAT` chunk with `pair_chunk_expect()`
461 - commit-graph: read `OIDF` chunk with `pair_chunk_expect()`
462 - chunk-format: introduce `pair_chunk_expect()` helper
464 Code clean-up for jk/chunk-bounds topic.
467 source: <45cac29403e63483951f7766c6da3c022c68d9f0.1697225110.git.me@ttaylorr.com>
468 source: <cover.1697225110.git.me@ttaylorr.com>
471 * tb/path-filter-fix (2023-10-18) 17 commits
472 - bloom: introduce `deinit_bloom_filters()`
473 - commit-graph: reuse existing Bloom filters where possible
474 - object.h: fix mis-aligned flag bits table
475 - commit-graph: drop unnecessary `graph_read_bloom_data_context`
476 - commit-graph.c: unconditionally load Bloom filters
477 - bloom: prepare to discard incompatible Bloom filters
478 - bloom: annotate filters with hash version
479 - commit-graph: new filter ver. that fixes murmur3
480 - repo-settings: introduce commitgraph.changedPathsVersion
481 - t4216: test changed path filters with high bit paths
482 - t/helper/test-read-graph: implement `bloom-filters` mode
483 - bloom.h: make `load_bloom_filter_from_graph()` public
484 - t/helper/test-read-graph.c: extract `dump_graph_info()`
485 - gitformat-commit-graph: describe version 2 of BDAT
486 - commit-graph: ensure Bloom filters are read with consistent settings
487 - revision.c: consult Bloom filters for root commits
488 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`
490 The Bloom filter used for path limited history traversal was broken
491 on systems whose "char" is unsigned; update the implementation and
492 bump the format version to 2.
494 Needs (hopefully final and quick) review.
495 source: <cover.1697653929.git.me@ttaylorr.com>
498 * kn/rev-list-missing-fix (2023-11-01) 4 commits
499 (merged to 'next' on 2023-11-02 at 2469dfc402)
500 + rev-list: add commit object support in `--missing` option
501 + rev-list: move `show_commit()` to the bottom
502 + revision: rename bit to `do_not_die_on_missing_objects`
503 + Merge branch 'ps/do-not-trust-commit-graph-blindly-for-existence' into kn/rev-list-missing-fix
504 (this branch uses ps/do-not-trust-commit-graph-blindly-for-existence.)
506 "git rev-list --missing" did not work for missing commit objects,
507 which has been corrected.
509 Will merge to 'master'.
510 source: <20231026101109.43110-1-karthik.188@gmail.com>
513 * cc/git-replay (2023-11-03) 14 commits
514 - replay: stop assuming replayed branches do not diverge
515 - replay: add --contained to rebase contained branches
516 - replay: add --advance or 'cherry-pick' mode
517 - replay: use standard revision ranges
518 - replay: make it a minimal server side command
519 - replay: remove HEAD related sanity check
520 - replay: remove progress and info output
521 - replay: add an important FIXME comment about gpg signing
522 - replay: change rev walking options
523 - replay: introduce pick_regular_commit()
524 - replay: die() instead of failing assert()
525 - replay: start using parse_options API
526 - replay: introduce new builtin
527 - t6429: remove switching aspects of fast-rebase
529 Introduce "git replay", a tool meant on the server side without
530 working tree to recreate a history.
532 Will merge to 'next'?
533 source: <20231102135151.843758-1-christian.couder@gmail.com>
536 * ak/color-decorate-symbols (2023-10-23) 7 commits
537 - log: add color.decorate.pseudoref config variable
538 - refs: exempt pseudorefs from pattern prefixing
539 - refs: add pseudorefs array and iteration functions
540 - log: add color.decorate.ref config variable
541 - log: add color.decorate.symbol config variable
542 - log: use designated inits for decoration_colors
543 - config: restructure color.decorate documentation
545 A new config for coloring.
548 source: <20231023221143.72489-1-andy.koppe@gmail.com>
551 * js/update-urls-in-doc-and-comment (2023-09-26) 4 commits
552 - doc: refer to internet archive
553 - doc: update links for andre-simon.de
554 - doc: update links to current pages
555 - doc: switch links to https
557 Stale URLs have been updated to their current counterparts (or
558 archive.org) and HTTP links are replaced with working HTTPS links.
561 source: <pull.1589.v2.git.1695553041.gitgitgadget@gmail.com>
564 * la/trailer-cleanups (2023-10-20) 3 commits
565 - trailer: use offsets for trailer_start/trailer_end
566 - trailer: find the end of the log message
567 - commit: ignore_non_trailer computes number of bytes to ignore
571 Will merge to 'next'?
572 source: <pull.1563.v5.git.1697828495.gitgitgadget@gmail.com>
575 * eb/hash-transition (2023-10-02) 30 commits
576 - t1016-compatObjectFormat: add tests to verify the conversion between objects
577 - t1006: test oid compatibility with cat-file
578 - t1006: rename sha1 to oid
579 - test-lib: compute the compatibility hash so tests may use it
580 - builtin/ls-tree: let the oid determine the output algorithm
581 - object-file: handle compat objects in check_object_signature
582 - tree-walk: init_tree_desc take an oid to get the hash algorithm
583 - builtin/cat-file: let the oid determine the output algorithm
584 - rev-parse: add an --output-object-format parameter
585 - repository: implement extensions.compatObjectFormat
586 - object-file: update object_info_extended to reencode objects
587 - object-file-convert: convert commits that embed signed tags
588 - object-file-convert: convert commit objects when writing
589 - object-file-convert: don't leak when converting tag objects
590 - object-file-convert: convert tag objects when writing
591 - object-file-convert: add a function to convert trees between algorithms
592 - object: factor out parse_mode out of fast-import and tree-walk into in object.h
593 - cache: add a function to read an OID of a specific algorithm
594 - tag: sign both hashes
595 - commit: export add_header_signature to support handling signatures on tags
596 - commit: convert mergetag before computing the signature of a commit
597 - commit: write commits for both hashes
598 - object-file: add a compat_oid_in parameter to write_object_file_flags
599 - object-file: update the loose object map when writing loose objects
600 - loose: compatibilty short name support
601 - loose: add a mapping between SHA-1 and SHA-256 for loose objects
602 - repository: add a compatibility hash algorithm
603 - object-names: support input of oids in any supported hash
604 - oid-array: teach oid-array to handle multiple kinds of oids
605 - object-file-convert: stubs for converting from one object format to another
607 Teach a repository to work with both SHA-1 and SHA-256 hash algorithms.
610 source: <878r8l929e.fsf@gmail.froward.int.ebiederm.org>
613 * jx/remote-archive-over-smart-http (2023-10-04) 4 commits
614 - archive: support remote archive from stateless transport
615 - transport-helper: call do_take_over() in connect_helper
616 - transport-helper: call do_take_over() in process_connect
617 - transport-helper: no connection restriction in connect_helper
619 "git archive --remote=<remote>" learned to talk over the smart
620 http (aka stateless) transport.
623 source: <cover.1696432593.git.zhiyou.jx@alibaba-inc.com>
626 * jx/sideband-chomp-newline-fix (2023-10-04) 3 commits
627 - pkt-line: do not chomp newlines for sideband messages
628 - pkt-line: memorize sideband fragment in reader
629 - test-pkt-line: add option parser for unpack-sideband
631 Sideband demultiplexer fixes.
634 source: <cover.1696425168.git.zhiyou.jx@alibaba-inc.com>
637 * js/config-parse (2023-09-21) 5 commits
638 - config-parse: split library out of config.[c|h]
639 - config.c: accept config_parse_options in git_config_from_stdin
640 - config: report config parse errors using cb
641 - config: split do_event() into start and flush operations
642 - config: split out config_parse_options
644 The parsing routines for the configuration files have been split
645 into a separate file.
648 source: <cover.1695330852.git.steadmon@google.com>
651 * jc/fake-lstat (2023-09-15) 1 commit
652 - cache: add fake_lstat()
653 (this branch is used by jc/diff-cached-fsmonitor-fix.)
655 A new helper to let us pretend that we called lstat() when we know
656 our cache_entry is up-to-date via fsmonitor.
659 source: <xmqqcyykig1l.fsf@gitster.g>
662 * js/doc-unit-tests (2023-11-02) 3 commits
663 - ci: run unit tests in CI
664 - unit tests: add TAP unit test framework
665 - unit tests: add a project plan document
666 (this branch is used by js/doc-unit-tests-with-cmake.)
668 Process to add some form of low-level unit tests has started.
670 Will merge to 'next'?
671 source: <cover.1698881249.git.steadmon@google.com>
674 * js/doc-unit-tests-with-cmake (2023-11-02) 7 commits
675 - cmake: handle also unit tests
676 - cmake: use test names instead of full paths
677 - cmake: fix typo in variable name
678 - artifacts-tar: when including `.dll` files, don't forget the unit-tests
679 - unit-tests: do show relative file paths
680 - unit-tests: do not mistake `.pdb` files for being executable
681 - cmake: also build unit tests
682 (this branch uses js/doc-unit-tests.)
684 Update the base topic to work with CMake builds.
686 Will merge to 'next'?
687 source: <pull.1579.v3.git.1695640836.gitgitgadget@gmail.com>
690 * jc/rerere-cleanup (2023-08-25) 4 commits
691 - rerere: modernize use of empty strbuf
692 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
693 - rerere: fix comment on handle_file() helper
694 - rerere: simplify check_one_conflict() helper function
698 Not ready to be reviewed yet.
699 source: <20230824205456.1231371-1-gitster@pobox.com>
702 * rj/status-bisect-while-rebase (2023-10-16) 1 commit
703 - status: fix branch shown when not only bisecting
705 "git status" is taught to show both the branch being bisected and
706 being rebased when both are in effect at the same time.
709 source: <2e24ca9b-9c5f-f4df-b9f8-6574a714dfb2@gmail.com>