What's cooking (2023/11) #03
[alt-git.git] / whats-cooking.txt
blob47cf05ac6379b861fb0b28ed13a72626d4f08331
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
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-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
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 * 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"
55  Doc update.
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
84  Documentation update.
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
102  Trace2 update.
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
110  Doc and help update.
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 --------------------------------------------------
132 [New Topics]
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
140  Leakfix.
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
171  advantage of.
173  Expecting a reroll.
174  cf. <dbcbcf0e-aeee-4bb9-9e39-e2e85194d083@github.com>
175  source: <pull.1609.git.1699320361.gitgitgadget@gmail.com>
177 --------------------------------------------------
178 [Stalled]
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.
190  Expecting a reroll.
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.
202  Expecting a reroll.
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 --------------------------------------------------
220 [Cooking]
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:...)"
226  magic pathspec.
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
236  Code clean-up.
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
268  Code simplification.
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
300  from blob objects.
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
321  Typofix.
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
332  the stack space.
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.
350  Comments?
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.
380  Needs review.
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.
391  Expecting a reroll.
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
407  Test clean-up.
409  Perhaps discard?
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
433  Doc update.
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.
466  Comments?
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.
547  Needs review.
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.
560  Needs review.
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
569  Code clean-up.
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.
609  Needs review.
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.
622  Needs review.
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.
633  Needs review.
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.
647  Needs review.
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.
658  Needs review.
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
696  Code clean-up.
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.
708  Needs review.
709  source: <2e24ca9b-9c5f-f4df-b9f8-6574a714dfb2@gmail.com>