What's cooking (2023/12 #02)

Junio C Hamano committed Dec 11, 2023 at 12:39 UTC a332d1db1da2359180ff9228e7223916175c6c20
1 file changed +311 -311
whats-cooking.txt
+311 -311
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 -Subject: What's cooking in git.git (Dec 2023, #01; Sat, 9)
3 -X-master-at: 564d0252ca632e0264ed670534a51d18a689ef5d
4 -X-next-at: 3155946c3afb0941e6e01302cf86e4489bffc968
2 +Subject: What's cooking in git.git (Dec 2023, #02; Mon, 11)
3 +X-master-at: 1a87c842ece327d03d08096395969aca5e0a6996
4 +X-next-at: 7e679a4c4d5a908dba9a9861daa4163557cf570c
5 Bcc: lwn@lwn.net, gitster@pobox.com
6
7 -What's cooking in git.git (Dec 2023, #01; Sat, 9)
7 +What's cooking in git.git (Dec 2023, #02; Mon, 11)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking in my tree. Commits
@@ -17,6 +17,18 @@ 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).
19
20 +The 'maint' branch now points at the maintenance track of Git 2.43,
21 +which was released earlier in the month, and the tip of 'next' has
22 +been rewound and rebuilt on top of Git 2.43. I am planning to start
23 +ejecting topics that have been in the "stalled" state for too long.
24 +
25 +The RelNotes symbolic link says we are now working towards Git 2.44.
26 +It may not be a bad idea to reflect on what technical debt and UI
27 +warts we have accumulated so far to see if we have enough of them to
28 +start planning for a breaking Git 3.0 release (or, of course, keep
29 +incrementally improve the system, which is much more preferrable---
30 +continuity and stability is good).
31 +
32 Copies of the source code to Git live in many repositories, and the
33 following is a list of the ones I push into or their mirrors. Some
34 repositories have only a subset of branches.
@@ -45,9 +57,238 @@ Release tarballs are available at:
57
58 https://www.kernel.org/pub/software/scm/git/
59
60 +--------------------------------------------------
61 +[Graduated to 'master']
62 +
63 +* ak/rebase-autosquash (2023-11-16) 3 commits
64 + (merged to 'next' on 2023-11-17 at 3ed6e79445)
65 + + rebase: rewrite --(no-)autosquash documentation
66 + + rebase: support --autosquash without -i
67 + + rebase: fully ignore rebase.autoSquash without -i
68 +
69 + "git rebase --autosquash" is now enabled for non-interactive rebase,
70 + but it is still incompatible with the apply backend.
71 + source: <20231114214339.10925-1-andy.koppe@gmail.com>
72 +
73 +
74 +* jk/chunk-bounds-more (2023-11-09) 9 commits
75 + (merged to 'next' on 2023-11-13 at 3df4b18bea)
76 + + commit-graph: mark chunk error messages for translation
77 + + commit-graph: drop verify_commit_graph_lite()
78 + + commit-graph: check order while reading fanout chunk
79 + + commit-graph: use fanout value for graph size
80 + + commit-graph: abort as soon as we see a bogus chunk
81 + + commit-graph: clarify missing-chunk error messages
82 + + commit-graph: drop redundant call to "lite" verification
83 + + midx: check consistency of fanout table
84 + + commit-graph: handle overflow in chunk_size checks
85 + (this branch is used by tb/pair-chunk-expect.)
86 +
87 + Code clean-up for jk/chunk-bounds topic.
88 + source: <20231109070310.GA2697602@coredump.intra.peff.net>
89 +
90 +
91 +* js/ci-discard-prove-state (2023-11-14) 1 commit
92 + (merged to 'next' on 2023-11-14 at fade3ba143)
93 + + ci: avoid running the test suite _twice_
94 + (this branch uses ps/ci-gitlab.)
95 +
96 + The way CI testing used "prove" could lead to running the test
97 + suite twice needlessly, which has been corrected.
98 + source: <pull.1613.git.1699894837844.gitgitgadget@gmail.com>
99 +
100 +
101 +* js/doc-unit-tests (2023-11-10) 3 commits
102 + (merged to 'next' on 2023-11-10 at 7d00ffd06b)
103 + + ci: run unit tests in CI
104 + + unit tests: add TAP unit test framework
105 + + unit tests: add a project plan document
106 + (this branch is used by js/doc-unit-tests-with-cmake.)
107 +
108 + Process to add some form of low-level unit tests has started.
109 + source: <cover.1699555664.git.steadmon@google.com>
110 +
111 +
112 +* js/doc-unit-tests-with-cmake (2023-11-10) 7 commits
113 + (merged to 'next' on 2023-11-10 at b4503c9c8c)
114 + + cmake: handle also unit tests
115 + + cmake: use test names instead of full paths
116 + + cmake: fix typo in variable name
117 + + artifacts-tar: when including `.dll` files, don't forget the unit-tests
118 + + unit-tests: do show relative file paths
119 + + unit-tests: do not mistake `.pdb` files for being executable
120 + + cmake: also build unit tests
121 + (this branch uses js/doc-unit-tests.)
122 +
123 + Update the base topic to work with CMake builds.
124 + source: <pull.1579.v3.git.1695640836.gitgitgadget@gmail.com>
125 +
126 +
127 +* jw/git-add-attr-pathspec (2023-11-04) 1 commit
128 + (merged to 'next' on 2023-11-13 at b61be94e4d)
129 + + attr: enable attr pathspec magic for git-add and git-stash
130 +
131 + "git add" and "git stash" learned to support the ":(attr:...)"
132 + magic pathspec.
133 + source: <20231103163449.1578841-1-jojwang@google.com>
134 +
135 +
136 +* ps/ban-a-or-o-operator-with-test (2023-11-11) 4 commits
137 + (merged to 'next' on 2023-11-14 at d84471baab)
138 + + Makefile: stop using `test -o` when unlinking duplicate executables
139 + + contrib/subtree: convert subtree type check to use case statement
140 + + contrib/subtree: stop using `-o` to test for number of args
141 + + global: convert trivial usages of `test <expr> -a/-o <expr>`
142 +
143 + Test and shell scripts clean-up.
144 + source: <cover.1699609940.git.ps@pks.im>
145 +
146 +
147 +* ps/ci-gitlab (2023-11-09) 8 commits
148 + (merged to 'next' on 2023-11-10 at ea7ed67945)
149 + + ci: add support for GitLab CI
150 + + ci: install test dependencies for linux-musl
151 + + ci: squelch warnings when testing with unusable Git repo
152 + + ci: unify setup of some environment variables
153 + + ci: split out logic to set up failed test artifacts
154 + + ci: group installation of Docker dependencies
155 + + ci: make grouping setup more generic
156 + + ci: reorder definitions for grouping functions
157 + (this branch is used by js/ci-discard-prove-state.)
158 +
159 + Add support for GitLab CI.
160 + source: <cover.1699514143.git.ps@pks.im>
161 +
162 +
163 +* ps/httpd-tests-on-nixos (2023-11-11) 3 commits
164 + (merged to 'next' on 2023-11-13 at 81bd6f5334)
165 + + t9164: fix inability to find basename(1) in Subversion hooks
166 + + t/lib-httpd: stop using legacy crypt(3) for authentication
167 + + t/lib-httpd: dynamically detect httpd and modules path
168 +
169 + Portability tweak.
170 + source: <cover.1699596457.git.ps@pks.im>
171 +
172 +
173 +* ps/ref-tests-update (2023-11-03) 10 commits
174 + (merged to 'next' on 2023-11-13 at dc26e55d6f)
175 + + t: mark several tests that assume the files backend with REFFILES
176 + + t7900: assert the absence of refs via git-for-each-ref(1)
177 + + t7300: assert exact states of repo
178 + + t4207: delete replace references via git-update-ref(1)
179 + + t1450: convert tests to remove worktrees via git-worktree(1)
180 + + t: convert tests to not access reflog via the filesystem
181 + + t: convert tests to not access symrefs via the filesystem
182 + + t: convert tests to not write references via the filesystem
183 + + t: allow skipping expected object ID in `ref-store update-ref`
184 + + Merge branch 'ps/show-ref' into ps/ref-tests-update
185 +
186 + Update ref-related tests.
187 + source: <cover.1698914571.git.ps@pks.im>
188 +
189 +
190 +* ss/format-patch-use-encode-headers-for-cover-letter (2023-11-10) 1 commit
191 + (merged to 'next' on 2023-11-14 at 1a4bd59e15)
192 + + format-patch: fix ignored encode_email_headers for cover letter
193 +
194 + "git format-patch --encode-email-headers" ignored the option when
195 + preparing the cover letter, which has been corrected.
196 + source: <20231109111950.387219-1-contact@emersion.fr>
197 +
198 +
199 +* tz/send-email-negatable-options (2023-11-17) 2 commits
200 + (merged to 'next' on 2023-11-17 at f09e533e43)
201 + + send-email: avoid duplicate specification warnings
202 + + perl: bump the required Perl version to 5.8.1 from 5.8.0
203 +
204 + Newer versions of Getopt::Long started giving warnings against our
205 + (ab)use of it in "git send-email". Bump the minimum version
206 + requirement for Perl to 5.8.1 (from September 2002) to allow
207 + simplifying our implementation.
208 + source: <20231116193014.470420-1-tmz@pobox.com>
209 +
210 +
211 +* vd/for-each-ref-unsorted-optimization (2023-11-16) 10 commits
212 + (merged to 'next' on 2023-11-17 at ff99420bf6)
213 + + t/perf: add perf tests for for-each-ref
214 + + ref-filter.c: use peeled tag for '*' format fields
215 + + for-each-ref: clean up documentation of --format
216 + + ref-filter.c: filter & format refs in the same callback
217 + + ref-filter.c: refactor to create common helper functions
218 + + ref-filter.c: rename 'ref_filter_handler()' to 'filter_one()'
219 + + ref-filter.h: add functions for filter/format & format-only
220 + + ref-filter.h: move contains caches into filter
221 + + ref-filter.h: add max_count and omit_empty to ref_format
222 + + ref-filter.c: really don't sort when using --no-sort
223 +
224 + "git for-each-ref --no-sort" still sorted the refs alphabetically
225 + which paid non-trivial cost. It has been redefined to show output
226 + in an unspecified order, to allow certain optimizations to take
227 + advantage of.
228 + source: <pull.1609.v2.git.1699991638.gitgitgadget@gmail.com>
229 +
230 --------------------------------------------------
231 [New Topics]
232
233 +* jc/bisect-doc (2023-12-09) 1 commit
234 + - bisect: document "terms" subcommand more fully
235 +
236 + Doc update.
237 +
238 + Needs review.
239 + source: <xmqqzfyjmk02.fsf@gitster.g>
240 +
241 +
242 +* rs/show-ref-incompatible-options (2023-12-11) 1 commit
243 + - show-ref: use die_for_incompatible_opt3()
244 +
245 + source: <e5304253-3347-4900-bbf2-d3c6ee3fb976@web.de>
246 +
247 +--------------------------------------------------
248 +[Stalled]
249 +
250 +* pw/rebase-sigint (2023-09-07) 1 commit
251 + - rebase -i: ignore signals when forking subprocesses
252 +
253 + If the commit log editor or other external programs (spawned via
254 + "exec" insn in the todo list) receive internactive signal during
255 + "git rebase -i", it caused not just the spawned program but the
256 + "Git" process that spawned them, which is often not what the end
257 + user intended. "git" learned to ignore SIGINT and SIGQUIT while
258 + waiting for these subprocesses.
259 +
260 + Expecting a reroll.
261 + cf. <12c956ea-330d-4441-937f-7885ab519e26@gmail.com>
262 + source: <pull.1581.git.1694080982621.gitgitgadget@gmail.com>
263 +
264 +
265 +* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
266 + - cherry-pick: refuse cherry-pick sequence if index is dirty
267 +
268 + "git cherry-pick A" that replays a single commit stopped before
269 + clobbering local modification, but "git cherry-pick A..B" did not,
270 + which has been corrected.
271 +
272 + Expecting a reroll.
273 + cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
274 + source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>
275 +
276 +
277 +* jc/diff-cached-fsmonitor-fix (2023-09-15) 3 commits
278 + - diff-lib: fix check_removed() when fsmonitor is active
279 + - Merge branch 'jc/fake-lstat' into jc/diff-cached-fsmonitor-fix
280 + - Merge branch 'js/diff-cached-fsmonitor-fix' into jc/diff-cached-fsmonitor-fix
281 + (this branch uses jc/fake-lstat.)
282 +
283 + The optimization based on fsmonitor in the "diff --cached"
284 + codepath is resurrected with the "fake-lstat" introduced earlier.
285 +
286 + It is unknown if the optimization is worth resurrecting, but in case...
287 + source: <xmqqr0n0h0tw.fsf@gitster.g>
288 +
289 +--------------------------------------------------
290 +[Cooking]
291 +
292 * jp/use-diff-index-in-pre-commit-sample (2023-12-03) 1 commit
293 - hooks--pre-commit: detect non-ASCII when renaming
294
@@ -199,7 +440,8 @@ Release tarballs are available at:
440 non-default hash function into a repository that uses the reftable
441 backend.
442
202 - Will merge to 'next'?
443 + Fails t5550 under SHA-256 mode.
444 + cf. <xmqq7clmn3w1.fsf@gitster.g>
445 source: <cover.1701863960.git.ps@pks.im>
446
447
@@ -217,58 +459,15 @@ Release tarballs are available at:
459 Will merge to 'next'.
460 source: <20231206115215.94467-1-l.s.r@web.de>
461
220 ---------------------------------------------------
221 -[Stalled]
222 -
223 -* pw/rebase-sigint (2023-09-07) 1 commit
224 - - rebase -i: ignore signals when forking subprocesses
225 -
226 - If the commit log editor or other external programs (spawned via
227 - "exec" insn in the todo list) receive internactive signal during
228 - "git rebase -i", it caused not just the spawned program but the
229 - "Git" process that spawned them, which is often not what the end
230 - user intended. "git" learned to ignore SIGINT and SIGQUIT while
231 - waiting for these subprocesses.
232 -
233 - Expecting a reroll.
234 - cf. <12c956ea-330d-4441-937f-7885ab519e26@gmail.com>
235 - source: <pull.1581.git.1694080982621.gitgitgadget@gmail.com>
236 -
237 -
238 -* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
239 - - cherry-pick: refuse cherry-pick sequence if index is dirty
240 -
241 - "git cherry-pick A" that replays a single commit stopped before
242 - clobbering local modification, but "git cherry-pick A..B" did not,
243 - which has been corrected.
244 -
245 - Expecting a reroll.
246 - cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
247 - source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>
248 -
249 -
250 -* jc/diff-cached-fsmonitor-fix (2023-09-15) 3 commits
251 - - diff-lib: fix check_removed() when fsmonitor is active
252 - - Merge branch 'jc/fake-lstat' into jc/diff-cached-fsmonitor-fix
253 - - Merge branch 'js/diff-cached-fsmonitor-fix' into jc/diff-cached-fsmonitor-fix
254 - (this branch uses jc/fake-lstat.)
255 -
256 - The optimization based on fsmonitor in the "diff --cached"
257 - codepath is resurrected with the "fake-lstat" introduced earlier.
258 -
259 - It is unknown if the optimization is worth resurrecting, but in case...
260 - source: <xmqqr0n0h0tw.fsf@gitster.g>
261 -
262 ---------------------------------------------------
263 -[Cooking]
462
463 * ad/merge-file-diff-algo (2023-11-22) 1 commit
266 - - merge-file: add --diff-algorithm option
464 + (merged to 'next' on 2023-12-11 at ab43a54c43)
465 + + merge-file: add --diff-algorithm option
466
467 "git merge-file" learned to take the "--diff-algorithm" option to
468 use algorithm different from the default "myers" diff.
469
271 - Will merge to 'next'.
470 + Will merge to 'master'.
471 source: <pull.1606.v2.git.git.1700507932937.gitgitgadget@gmail.com>
472
473
@@ -296,33 +495,38 @@ Release tarballs are available at:
495
496
497 * jh/trace2-redact-auth (2023-11-23) 4 commits
299 - - t0212: test URL redacting in EVENT format
300 - - t0211: test URL redacting in PERF format
301 - - trace2: redact passwords from https:// URLs by default
302 - - trace2: fix signature of trace2_def_param() macro
498 + (merged to 'next' on 2023-12-11 at 7e679a4c4d)
499 + + t0212: test URL redacting in EVENT format
500 + + t0211: test URL redacting in PERF format
501 + + trace2: redact passwords from https:// URLs by default
502 + + trace2: fix signature of trace2_def_param() macro
503
504 trace2 streams used to record the URLs that potentially embed
505 authentication material, which has been corrected.
506
307 - Will merge to 'next'.
507 + Will merge to 'master'.
508 source: <pull.1616.git.1700680717.gitgitgadget@gmail.com>
509
510
511 * ps/commit-graph-less-paranoid (2023-11-26) 1 commit
312 - - commit-graph: disable GIT_COMMIT_GRAPH_PARANOIA by default
512 + (merged to 'next' on 2023-12-11 at 618bd08fa1)
513 + + commit-graph: disable GIT_COMMIT_GRAPH_PARANOIA by default
514
515 Earlier we stopped relying on commit-graph that (still) records
516 information about commits that are lost from the object store,
517 which has negative performance implications. The default has been
518 flipped to disable this pessimization.
519
319 - Will merge to 'next'.
520 + Will merge to 'master'.
521 source: <17e08289cd59d20de0de9b4e18f5e6bf77987351.1700823746.git.ps@pks.im>
522
523
323 -* ps/reftable-fixes (2023-11-22) 8 commits
324 - - reftable/stack: fix stale lock when dying
524 +* ps/reftable-fixes (2023-12-11) 11 commits
525 + - reftable/block: reuse buffer to compute record keys
526 + - reftable/block: introduce macro to initialize `struct block_iter`
527 - reftable/merged: reuse buffer to compute record keys
528 + - reftable/stack: fix use of unseeded randomness
529 + - reftable/stack: fix stale lock when dying
530 - reftable/stack: reuse buffers when reloading stack
531 - reftable/stack: perform auto-compaction with transactional interface
532 - reftable/stack: verify that `reftable_stack_add()` uses auto-compaction
@@ -332,8 +536,8 @@ Release tarballs are available at:
536
537 Bunch of small fix-ups to the reftable code.
538
335 - Needs review.
336 - source: <cover.1700549493.git.ps@pks.im>
539 + Will merge to 'next'?
540 + source: <cover.1702285387.git.ps@pks.im>
541
542
543 * en/complete-sparse-checkout (2023-12-03) 4 commits
@@ -351,11 +555,12 @@ Release tarballs are available at:
555
556
557 * jb/reflog-expire-delete-dry-run-options (2023-11-26) 1 commit
354 - - builtin/reflog.c: fix dry-run option short name
558 + (merged to 'next' on 2023-12-11 at c7e9846963)
559 + + builtin/reflog.c: fix dry-run option short name
560
561 Command line parsing fix for "git reflog".
562
358 - Will merge to 'next'.
563 + Will merge to 'master'.
564 source: <20231126000514.85509-1-josh@brob.st>
565
566
@@ -370,43 +575,46 @@ Release tarballs are available at:
575
576
577 * rs/column-leakfix (2023-11-27) 1 commit
373 - - column: release strbuf and string_list after use
578 + (merged to 'next' on 2023-12-11 at 9ac1707337)
579 + + column: release strbuf and string_list after use
580
581 Leakfix.
582
377 - Will merge to 'next'.
583 + Will merge to 'master'.
584 source: <f087137d-a5aa-487e-a1cb-0ad7117b38ed@web.de>
585
586
587 * rs/i18n-cannot-be-used-together (2023-11-27) 1 commit
382 - - i18n: factorize even more 'incompatible options' messages
588 + (merged to 'next' on 2023-12-11 at a44e1c84c9)
589 + + i18n: factorize even more 'incompatible options' messages
590
591 Clean-up code that handles combinations of incompatible options.
592
386 - Will merge to 'next'.
593 + Will merge to 'master'.
594 source: <e6eb12e4-bb63-473c-9c2f-965a4d5981ad@web.de>
595
596
597 * ac/fuzz-show-date (2023-11-20) 1 commit
391 - - fuzz: add new oss-fuzz fuzzer for date.c / date.h
598 + (merged to 'next' on 2023-12-11 at f36795a896)
599 + + fuzz: add new oss-fuzz fuzzer for date.c / date.h
600
601 Subject approxidate() and show_date() machinery to OSS-Fuzz.
602
395 - Will merge to 'next'.
603 + Will merge to 'master'.
604 source: <pull.1612.v4.git.1700243267653.gitgitgadget@gmail.com>
605
606
607 * js/packfile-h-typofix (2023-11-20) 1 commit
400 - - packfile.c: fix a typo in `each_file_in_pack_dir_fn()`'s declaration
608 + (merged to 'next' on 2023-12-11 at 328399439a)
609 + + packfile.c: fix a typo in `each_file_in_pack_dir_fn()`'s declaration
610
611 Typofix.
612
404 - Will merge to 'next'.
613 + Will merge to 'master'.
614 source: <pull.1614.git.1700226915859.gitgitgadget@gmail.com>
615
616
408 -* jw/builtin-objectmode-attr (2023-11-16) 2 commits
409 - - SQUASH???
617 +* jw/builtin-objectmode-attr (2023-12-09) 1 commit
618 - attr: add builtin objectmode values support
619
620 The builtin_objectmode attribute is populated for each path
@@ -414,185 +622,22 @@ Release tarballs are available at:
622 useful in magic pathspec, e.g., ":(attr:builtin_objectmode=100755)"
623 to limit to executables.
624
417 - Will merge to 'next' after squashing the fix-up in?
625 + Will merge to 'next'.
626 source: <20231116054437.2343549-1-jojwang@google.com>
627
628
629 * ps/ref-deletion-updates (2023-11-17) 4 commits
422 - - refs: remove `delete_refs` callback from backends
423 - - refs: deduplicate code to delete references
424 - - refs/files: use transactions to delete references
425 - - t5510: ensure that the packed-refs file needs locking
630 + (merged to 'next' on 2023-12-11 at ca551a0c36)
631 + + refs: remove `delete_refs` callback from backends
632 + + refs: deduplicate code to delete references
633 + + refs/files: use transactions to delete references
634 + + t5510: ensure that the packed-refs file needs locking
635
636 Simplify API implementation to delete references by eliminating
637 duplication.
638
430 - Will merge to 'next'.
431 - source: <cover.1699951815.git.ps@pks.im>
432 -
433 -
434 -* tz/send-email-negatable-options (2023-11-17) 2 commits
435 - (merged to 'next' on 2023-11-17 at f09e533e43)
436 - + send-email: avoid duplicate specification warnings
437 - + perl: bump the required Perl version to 5.8.1 from 5.8.0
438 -
439 - Newer versions of Getopt::Long started giving warnings against our
440 - (ab)use of it in "git send-email". Bump the minimum version
441 - requirement for Perl to 5.8.1 (from September 2002) to allow
442 - simplifying our implementation.
443 -
444 - Will merge to 'master'.
445 - source: <20231116193014.470420-1-tmz@pobox.com>
446 -
447 -
448 -* js/ci-discard-prove-state (2023-11-14) 1 commit
449 - (merged to 'next' on 2023-11-14 at fade3ba143)
450 - + ci: avoid running the test suite _twice_
451 - (this branch uses ps/ci-gitlab.)
452 -
453 - The way CI testing used "prove" could lead to running the test
454 - suite twice needlessly, which has been corrected.
455 -
456 - Will merge to 'master'.
457 - source: <pull.1613.git.1699894837844.gitgitgadget@gmail.com>
458 -
459 -
460 -* jk/chunk-bounds-more (2023-11-09) 9 commits
461 - (merged to 'next' on 2023-11-13 at 3df4b18bea)
462 - + commit-graph: mark chunk error messages for translation
463 - + commit-graph: drop verify_commit_graph_lite()
464 - + commit-graph: check order while reading fanout chunk
465 - + commit-graph: use fanout value for graph size
466 - + commit-graph: abort as soon as we see a bogus chunk
467 - + commit-graph: clarify missing-chunk error messages
468 - + commit-graph: drop redundant call to "lite" verification
469 - + midx: check consistency of fanout table
470 - + commit-graph: handle overflow in chunk_size checks
471 - (this branch is used by tb/pair-chunk-expect.)
472 -
473 - Code clean-up for jk/chunk-bounds topic.
474 -
475 - Will merge to 'master'.
476 - source: <20231109070310.GA2697602@coredump.intra.peff.net>
477 -
478 -
479 -* ps/httpd-tests-on-nixos (2023-11-11) 3 commits
480 - (merged to 'next' on 2023-11-13 at 81bd6f5334)
481 - + t9164: fix inability to find basename(1) in Subversion hooks
482 - + t/lib-httpd: stop using legacy crypt(3) for authentication
483 - + t/lib-httpd: dynamically detect httpd and modules path
484 -
485 - Portability tweak.
486 -
639 Will merge to 'master'.
488 - source: <cover.1699596457.git.ps@pks.im>
489 -
490 -
491 -* ss/format-patch-use-encode-headers-for-cover-letter (2023-11-10) 1 commit
492 - (merged to 'next' on 2023-11-14 at 1a4bd59e15)
493 - + format-patch: fix ignored encode_email_headers for cover letter
494 -
495 - "git format-patch --encode-email-headers" ignored the option when
496 - preparing the cover letter, which has been corrected.
497 -
498 - Will merge to 'master'.
499 - source: <20231109111950.387219-1-contact@emersion.fr>
500 -
501 -
502 -* ps/ban-a-or-o-operator-with-test (2023-11-11) 4 commits
503 - (merged to 'next' on 2023-11-14 at d84471baab)
504 - + Makefile: stop using `test -o` when unlinking duplicate executables
505 - + contrib/subtree: convert subtree type check to use case statement
506 - + contrib/subtree: stop using `-o` to test for number of args
507 - + global: convert trivial usages of `test <expr> -a/-o <expr>`
508 -
509 - Test and shell scripts clean-up.
510 -
511 - Will merge to 'master'.
512 - source: <cover.1699609940.git.ps@pks.im>
513 -
514 -
515 -* ak/rebase-autosquash (2023-11-16) 3 commits
516 - (merged to 'next' on 2023-11-17 at 3ed6e79445)
517 - + rebase: rewrite --(no-)autosquash documentation
518 - + rebase: support --autosquash without -i
519 - + rebase: fully ignore rebase.autoSquash without -i
520 -
521 - "git rebase --autosquash" is now enabled for non-interactive rebase,
522 - but it is still incompatible with the apply backend.
523 -
524 - Will merge to 'master'.
525 - source: <20231114214339.10925-1-andy.koppe@gmail.com>
526 -
527 -
528 -* vd/for-each-ref-unsorted-optimization (2023-11-16) 10 commits
529 - (merged to 'next' on 2023-11-17 at ff99420bf6)
530 - + t/perf: add perf tests for for-each-ref
531 - + ref-filter.c: use peeled tag for '*' format fields
532 - + for-each-ref: clean up documentation of --format
533 - + ref-filter.c: filter & format refs in the same callback
534 - + ref-filter.c: refactor to create common helper functions
535 - + ref-filter.c: rename 'ref_filter_handler()' to 'filter_one()'
536 - + ref-filter.h: add functions for filter/format & format-only
537 - + ref-filter.h: move contains caches into filter
538 - + ref-filter.h: add max_count and omit_empty to ref_format
539 - + ref-filter.c: really don't sort when using --no-sort
540 -
541 - "git for-each-ref --no-sort" still sorted the refs alphabetically
542 - which paid non-trivial cost. It has been redefined to show output
543 - in an unspecified order, to allow certain optimizations to take
544 - advantage of.
545 -
546 - Will merge to 'master'.
547 - source: <pull.1609.v2.git.1699991638.gitgitgadget@gmail.com>
548 -
549 -
550 -* jw/git-add-attr-pathspec (2023-11-04) 1 commit
551 - (merged to 'next' on 2023-11-13 at b61be94e4d)
552 - + attr: enable attr pathspec magic for git-add and git-stash
553 -
554 - "git add" and "git stash" learned to support the ":(attr:...)"
555 - magic pathspec.
556 -
557 - Will merge to 'master'.
558 - source: <20231103163449.1578841-1-jojwang@google.com>
559 -
560 -
561 -* ps/ci-gitlab (2023-11-09) 8 commits
562 - (merged to 'next' on 2023-11-10 at ea7ed67945)
563 - + ci: add support for GitLab CI
564 - + ci: install test dependencies for linux-musl
565 - + ci: squelch warnings when testing with unusable Git repo
566 - + ci: unify setup of some environment variables
567 - + ci: split out logic to set up failed test artifacts
568 - + ci: group installation of Docker dependencies
569 - + ci: make grouping setup more generic
570 - + ci: reorder definitions for grouping functions
571 - (this branch is used by js/ci-discard-prove-state.)
572 -
573 - Add support for GitLab CI.
574 -
575 - Will merge to 'master'.
576 - source: <cover.1699514143.git.ps@pks.im>
577 -
578 -
579 -* ps/ref-tests-update (2023-11-03) 10 commits
580 - (merged to 'next' on 2023-11-13 at dc26e55d6f)
581 - + t: mark several tests that assume the files backend with REFFILES
582 - + t7900: assert the absence of refs via git-for-each-ref(1)
583 - + t7300: assert exact states of repo
584 - + t4207: delete replace references via git-update-ref(1)
585 - + t1450: convert tests to remove worktrees via git-worktree(1)
586 - + t: convert tests to not access reflog via the filesystem
587 - + t: convert tests to not access symrefs via the filesystem
588 - + t: convert tests to not write references via the filesystem
589 - + t: allow skipping expected object ID in `ref-store update-ref`
590 - + Merge branch 'ps/show-ref' into ps/ref-tests-update
591 -
592 - Update ref-related tests.
593 -
594 - Will merge to 'master'.
595 - source: <cover.1698914571.git.ps@pks.im>
640 + source: <cover.1699951815.git.ps@pks.im>
641
642
643 * jx/fetch-atomic-error-message-fix (2023-10-19) 2 commits
@@ -661,7 +706,6 @@ Release tarballs are available at:
706 - commit-graph: read `OIDL` chunk with `pair_chunk_expect()`
707 - chunk-format: introduce `pair_chunk_expect()` helper
708 - Merge branch 'jk/chunk-bounds-more' into HEAD
664 - (this branch uses jk/chunk-bounds-more.)
709
710 Further code clean-up.
711
@@ -697,25 +741,26 @@ Release tarballs are available at:
741
742
743 * cc/git-replay (2023-11-26) 14 commits
700 - - replay: stop assuming replayed branches do not diverge
701 - - replay: add --contained to rebase contained branches
702 - - replay: add --advance or 'cherry-pick' mode
703 - - replay: use standard revision ranges
704 - - replay: make it a minimal server side command
705 - - replay: remove HEAD related sanity check
706 - - replay: remove progress and info output
707 - - replay: add an important FIXME comment about gpg signing
708 - - replay: change rev walking options
709 - - replay: introduce pick_regular_commit()
710 - - replay: die() instead of failing assert()
711 - - replay: start using parse_options API
712 - - replay: introduce new builtin
713 - - t6429: remove switching aspects of fast-rebase
744 + (merged to 'next' on 2023-12-11 at 6f7d123578)
745 + + replay: stop assuming replayed branches do not diverge
746 + + replay: add --contained to rebase contained branches
747 + + replay: add --advance or 'cherry-pick' mode
748 + + replay: use standard revision ranges
749 + + replay: make it a minimal server side command
750 + + replay: remove HEAD related sanity check
751 + + replay: remove progress and info output
752 + + replay: add an important FIXME comment about gpg signing
753 + + replay: change rev walking options
754 + + replay: introduce pick_regular_commit()
755 + + replay: die() instead of failing assert()
756 + + replay: start using parse_options API
757 + + replay: introduce new builtin
758 + + t6429: remove switching aspects of fast-rebase
759
760 Introduce "git replay", a tool meant on the server side without
761 working tree to recreate a history.
762
718 - Will merge to 'next'.
763 + Will merge to 'master'.
764 cf. <6bfe1541-54dd-ca6b-e930-94d3038060f1@gmx.de>
765 source: <20231124111044.3426007-1-christian.couder@gmail.com>
766
@@ -736,15 +781,16 @@ Release tarballs are available at:
781
782
783 * js/update-urls-in-doc-and-comment (2023-11-26) 4 commits
739 - - doc: refer to internet archive
740 - - doc: update links for andre-simon.de
741 - - doc: switch links to https
742 - - doc: update links to current pages
784 + (merged to 'next' on 2023-12-11 at 3cda3f2a03)
785 + + doc: refer to internet archive
786 + + doc: update links for andre-simon.de
787 + + doc: switch links to https
788 + + doc: update links to current pages
789
790 Stale URLs have been updated to their current counterparts (or
791 archive.org) and HTTP links are replaced with working HTTPS links.
792
747 - Will merge to 'next'.
793 + Will merge to 'master'.
794 source: <pull.1589.v3.git.1700796916.gitgitgadget@gmail.com>
795
796
@@ -846,36 +892,6 @@ Release tarballs are available at:
892 source: <xmqqcyykig1l.fsf@gitster.g>
893
894
849 -* js/doc-unit-tests (2023-11-10) 3 commits
850 - (merged to 'next' on 2023-11-10 at 7d00ffd06b)
851 - + ci: run unit tests in CI
852 - + unit tests: add TAP unit test framework
853 - + unit tests: add a project plan document
854 - (this branch is used by js/doc-unit-tests-with-cmake.)
855 -
856 - Process to add some form of low-level unit tests has started.
857 -
858 - Will merge to 'master'.
859 - source: <cover.1699555664.git.steadmon@google.com>
860 -
861 -
862 -* js/doc-unit-tests-with-cmake (2023-11-10) 7 commits
863 - (merged to 'next' on 2023-11-10 at b4503c9c8c)
864 - + cmake: handle also unit tests
865 - + cmake: use test names instead of full paths
866 - + cmake: fix typo in variable name
867 - + artifacts-tar: when including `.dll` files, don't forget the unit-tests
868 - + unit-tests: do show relative file paths
869 - + unit-tests: do not mistake `.pdb` files for being executable
870 - + cmake: also build unit tests
871 - (this branch uses js/doc-unit-tests.)
872 -
873 - Update the base topic to work with CMake builds.
874 -
875 - Will merge to 'master'.
876 - source: <pull.1579.v3.git.1695640836.gitgitgadget@gmail.com>
877 -
878 -
895 * jc/rerere-cleanup (2023-08-25) 4 commits
896 - rerere: modernize use of empty strbuf
897 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
@@ -896,19 +912,3 @@ Release tarballs are available at:
912
913 Needs review.
914 source: <2e24ca9b-9c5f-f4df-b9f8-6574a714dfb2@gmail.com>
899 -
900 ---------------------------------------------------
901 -[Discarded]
902 -
903 -* jc/strbuf-comment-line-char (2023-11-01) 4 commits
904 - . strbuf: move env-using functions to environment.c
905 - . strbuf: make add_lines() public
906 - . strbuf_add_commented_lines(): drop the comment_line_char parameter
907 - . strbuf_commented_addf(): drop the comment_line_char parameter
908 -
909 - Code simplification that goes directly against a past libification
910 - topic. It is hard to judge because the "libification" is done
911 - piecewise without seemingly clear design principle.
912 -
913 - Will discard.
914 - source: <cover.1698791220.git.jonathantanmy@google.com>