What's cooking (2024/03 #04)

Junio C Hamano committed Mar 15, 2024 at 16:31 UTC 42910d7ec9111b56e3768b3a2425fcda93da76da
1 file changed +410 -313
whats-cooking.txt
+410 -313
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 -Subject: What's cooking in git.git (Mar 2024, #03; Mon, 11)
3 -X-master-at: 945115026aa63df4ab849ab14a04da31623abece
4 -X-next-at: 1203cff8ae1e19af27c286764313c3e3f54ef01e
2 +Subject: What's cooking in git.git (Mar 2024, #04; Fri, 15)
3 +X-master-at: 2953d95d402b6bff1a59c4712f4d46f1b9ea137f
4 +X-next-at: cdc2e80fe5f5dd8f872f21cdcd608126da6ccc7e
5 Bcc: lwn@lwn.net, gitster@pobox.com
6
7 -What's cooking in git.git (Mar 2024, #03; Mon, 11)
7 +What's cooking in git.git (Mar 2024, #04; Fri, 15)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking in my tree. Commits
@@ -17,8 +17,6 @@ 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 2.44 maintenance track.
21 -
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.
@@ -50,80 +48,367 @@ Release tarballs are available at:
48 --------------------------------------------------
49 [Graduated to 'master']
50
53 -* es/config-doc-sort-sections (2024-02-29) 1 commit
54 - (merged to 'next' on 2024-03-04 at 0752144ed7)
55 - + docs: sort configuration variable groupings alphabetically
51 +* ag/t0010-modernize (2024-03-05) 1 commit
52 + (merged to 'next' on 2024-03-07 at 38339abc2d)
53 + + tests: modernize the test script t0010-racy-git.sh
54 +
55 + GSoC practice to modernize a test script.
56 + source: <pull.1675.v3.git.1709676557639.gitgitgadget@gmail.com>
57 +
58 +
59 +* as/option-names-in-messages (2024-03-05) 4 commits
60 + (merged to 'next' on 2024-03-07 at 73ab51faba)
61 + + revision.c: trivial fix to message
62 + + builtin/clone.c: trivial fix of message
63 + + builtin/remote.c: trivial fix of error message
64 + + transport-helper.c: trivial fix of error message
65 +
66 + Error message updates.
67 + source: <20240216101647.28837-1-ash@kambanaria.org>
68 +
69 +
70 +* gt/core-bare-in-templates (2024-03-04) 1 commit
71 + (merged to 'next' on 2024-03-06 at e54ac5acf9)
72 + + setup: remove unnecessary variable
73 +
74 + Code simplification.
75 + source: <20240304151811.511780-1-shyamthakkar001@gmail.com>
76 +
77 +
78 +* hd/config-mak-os390 (2024-03-06) 1 commit
79 + (merged to 'next' on 2024-03-07 at 289d3ab691)
80 + + build: support z/OS (OS/390).
81 +
82 + Platform specific tweaks for OS/390 has been added to
83 + config.mak.uname.
84 + source: <pull.1663.v4.git.git.1709703857881.gitgitgadget@gmail.com>
85 +
86 +
87 +* jc/test-i18ngrep (2024-03-02) 1 commit
88 + (merged to 'next' on 2024-03-06 at 2c57ebc706)
89 + + test_i18ngrep: hard deprecate and forbid its use
90 +
91 + With release 2.44 we got rid of all uses of test_i18ngrep and there
92 + is no in-flight topic that adds a new use of it. Make a call to
93 + test_i18ngrep a hard failure, so that we can remove it at the end
94 + of this release cycle.
95 + source: <xmqq5xy4zhdc.fsf@gitster.g>
96 +
97 +
98 +* jc/xwrite-cleanup (2024-03-02) 3 commits
99 + (merged to 'next' on 2024-03-07 at 43e66f7e4d)
100 + + repack: check error writing to pack-objects subprocess
101 + + sideband: avoid short write(2)
102 + + unpack: replace xwrite() loop with write_in_full()
103 +
104 + Uses of xwrite() helper have been audited and updated for better
105 + error checking and simpler code.
106 + source: <20240302190348.3946569-1-gitster@pobox.com>
107 +
108 +
109 +* jh/fsmonitor-icase-corner-case-fix (2024-03-06) 14 commits
110 + (merged to 'next' on 2024-03-06 at 356eafea7e)
111 + + fsmonitor: support case-insensitive events
112 + + fsmonitor: refactor bit invalidation in refresh callback
113 + + fsmonitor: trace the new invalidated cache-entry count
114 + + fsmonitor: return invalidated cache-entry count on non-directory event
115 + + fsmonitor: remove custom loop from non-directory path handler
116 + + fsmonitor: return invalidated cache-entry count on directory event
117 + + fsmonitor: move untracked-cache invalidation into helper functions
118 + + fsmonitor: refactor untracked-cache invalidation
119 + + dir: create untracked_cache_invalidate_trimmed_path()
120 + + fsmonitor: refactor refresh callback for non-directory events
121 + + fsmonitor: clarify handling of directory events in callback helper
122 + + fsmonitor: refactor refresh callback on directory events
123 + + t7527: add case-insensitve test for FSMonitor
124 + + name-hash: add index_dir_find()
125 +
126 + FSMonitor client code was confused when FSEvents were given in a
127 + different case on a case-insensitive filesystem, which has been
128 + corrected.
129 +
130 + Acked-by: Patrick Steinhardt <ps@pks.im>
131 + cf. <ZehofMaSZyUq8S1N@tanuki>
132 + source: <pull.1662.v3.git.1708983565.gitgitgadget@gmail.com>
133 +
134 +
135 +* kh/branch-ref-syntax-advice (2024-03-05) 5 commits
136 + (merged to 'next' on 2024-03-07 at 914f01967b)
137 + + branch: advise about ref syntax rules
138 + + advice: use double quotes for regular quoting
139 + + advice: use backticks for verbatim
140 + + advice: make all entries stylistically consistent
141 + + t3200: improve test style
142 +
143 + When git refuses to create a branch because the proposed branch
144 + name is not a valid refname, an advice message is given to refer
145 + the user to exact naming rules.
146 + source: <cover.1709670287.git.code@khaugsbakk.name>
147 +
148 +
149 +* kh/doc-commentchar-is-a-byte (2024-03-05) 1 commit
150 + (merged to 'next' on 2024-03-06 at 5941655c04)
151 + + config: document `core.commentChar` as ASCII-only
152 +
153 + The "core.commentChar" configuration variable only allows an ASCII
154 + character, which was not clearly documented, which has been
155 + corrected.
156 + source: <9633f9be5ddd9ab3df4b79ee934e1ed47e90bd1d.1709656683.git.code@khaugsbakk.name>
157 +
158 +
159 +* la/trailer-api (2024-03-01) 9 commits
160 + (merged to 'next' on 2024-03-06 at f119923ff6)
161 + + format_trailers_from_commit(): indirectly call trailer_info_get()
162 + + format_trailer_info(): move "fast path" to caller
163 + + format_trailers(): use strbuf instead of FILE
164 + + trailer_info_get(): reorder parameters
165 + + trailer: move interpret_trailers() to interpret-trailers.c
166 + + trailer: reorder format_trailers_from_commit() parameters
167 + + trailer: rename functions to use 'trailer'
168 + + shortlog: add test for de-duplicating folded trailers
169 + + trailer: free trailer_info _after_ all related usage
170 +
171 + Trailer API updates.
172 +
173 + Acked-by: Christian Couder <christian.couder@gmail.com>
174 + cf. <CAP8UFD1Zd+9q0z1JmfOf60S2vn5-sD3SafDvAJUzRFwHJKcb8A@mail.gmail.com>
175 + source: <pull.1632.v6.git.1709252086.gitgitgadget@gmail.com>
176
57 - Doc updates.
58 - source: <20240229190229.20222-1-ericsunshine@charter.net>
177
178 +* ps/reftable-iteration-perf-part2 (2024-03-04) 13 commits
179 + (merged to 'next' on 2024-03-06 at e8ba314585)
180 + + refs/reftable: precompute prefix length
181 + + reftable: allow inlining of a few functions
182 + + reftable/record: decode keys in place
183 + + reftable/record: reuse refname when copying
184 + + reftable/record: reuse refname when decoding
185 + + reftable/merged: avoid duplicate pqueue emptiness check
186 + + reftable/merged: circumvent pqueue with single subiter
187 + + reftable/merged: handle subiter cleanup on close only
188 + + reftable/merged: remove unnecessary null check for subiters
189 + + reftable/merged: make subiters own their records
190 + + reftable/merged: advance subiter on subsequent iteration
191 + + reftable/merged: make `merged_iter` structure private
192 + + reftable/pq: use `size_t` to track iterator index
193 + (this branch is used by ps/reftable-reflog-iteration-perf.)
194
61 -* js/merge-base-with-missing-commit (2024-03-09) 13 commits
62 - (merged to 'next' on 2024-03-09 at caa7a7baaa)
63 - + merge-ort/merge-recursive: do report errors in `merge_submodule()`
64 - + merge-recursive: prepare for `merge_submodule()` to report errors
65 - (merged to 'next' on 2024-03-01 at 3e3eabaee9)
66 - + commit-reach(repo_get_merge_bases_many_dirty): pass on errors
67 - + commit-reach(repo_get_merge_bases_many): pass on "missing commits" errors
68 - + commit-reach(get_octopus_merge_bases): pass on "missing commits" errors
69 - + commit-reach(repo_get_merge_bases): pass on "missing commits" errors
70 - + commit-reach(get_merge_bases_many_0): pass on "missing commits" errors
71 - + commit-reach(merge_bases_many): pass on "missing commits" errors
72 - + commit-reach(paint_down_to_common): start reporting errors
73 - + commit-reach(paint_down_to_common): prepare for handling shallow commits
74 - + commit-reach(repo_in_merge_bases_many): report missing commits
75 - + commit-reach(repo_in_merge_bases_many): optionally expect missing commits
76 - + commit-reach(paint_down_to_common): plug two memory leaks
195 + The code to iterate over refs with the reftable backend has seen
196 + some optimization.
197 + source: <cover.1709548907.git.ps@pks.im>
198
78 - Originally merged to 'next' on 2024-02-29
199
80 - Make sure failure return from merge_bases_many() is properly caught.
81 - source: <pull.1657.v4.git.1709113457.gitgitgadget@gmail.com>
82 - source: <pull.1686.git.1709993397.gitgitgadget@gmail.com>
200 +* rj/complete-reflog (2024-03-03) 5 commits
201 + (merged to 'next' on 2024-03-06 at 0f1a25debc)
202 + + completion: reflog subcommands and options
203 + + completion: factor out __git_resolve_builtins
204 + + completion: introduce __git_find_subcommand
205 + + completion: reflog show <log-options>
206 + + completion: reflog with implicit "show"
207 +
208 + The command line completion script (in contrib/) learned to
209 + complete "git reflog" better.
210 + source: <ea6c8890-9ff3-46c9-b933-6a52083b1001@gmail.com>
211
212
85 -* kh/doc-dashed-commands-have-not-worked-for-a-long-time (2024-03-01) 1 commit
86 - (merged to 'next' on 2024-03-04 at 7e070c67f9)
87 - + gitcli: drop mention of “non-dashed form”
213 +* rj/complete-worktree-paths-fix (2024-02-27) 1 commit
214 + (merged to 'next' on 2024-03-06 at b6ba949383)
215 + + completion: fix __git_complete_worktree_paths
216
89 - Doc update.
90 - source: <5b34bc4e22816f7f19bd26c15a08fe4c749b72f8.1709316230.git.code@khaugsbakk.name>
217 + The logic to complete the command line arguments to "git worktree"
218 + subcommand (in contrib/) has been updated to correctly honor things
219 + like "git -C dir" etc.
220 + source: <b8f09e20-d0d3-4e0b-afe2-31affeb61052@gmail.com>
221
222
93 -* rs/t-ctype-simplify (2024-03-03) 4 commits
94 - (merged to 'next' on 2024-03-04 at 9bd84a8877)
95 - + t-ctype: avoid duplicating class names
96 - + t-ctype: align output of i
97 - + t-ctype: simplify EOF check
98 - + t-ctype: allow NUL anywhere in the specification string
223 +* so/clean-dry-run-without-force (2024-03-04) 2 commits
224 + (merged to 'next' on 2024-03-06 at ccf2e123be)
225 + + clean: further clean-up of implementation around "--force"
226 + + clean: improve -n and -f implementation and documentation
227
100 - Code simplification to one unit-test program.
101 - source: <20240303101330.20187-1-l.s.r@web.de>
228 + The implementation in "git clean" that makes "-n" and "-i" ignore
229 + clean.requireForce has been simplified, together with the
230 + documentation.
231 + source: <87le6ziqzb.fsf_-_@osv.gnss.ru>
232 + source: <20240303220600.2491792-1-gitster@pobox.com>
233
234
104 -* sj/t9117-path-is-file (2024-03-04) 1 commit
105 - (merged to 'next' on 2024-03-04 at de5f6a74cb)
106 - + t9117: prefer test_path_* helper functions
235 +* vm/t7301-use-test-path-helpers (2024-03-06) 1 commit
236 + (merged to 'next' on 2024-03-07 at e638654635)
237 + + t7301: use test_path_is_(missing|file)
238
239 GSoC practice to replace "test -f" with "test_path_is_file".
109 - source: <20240304095436.56399-2-shejialuo@gmail.com>
240 + source: <20240304171732.64457-2-vincenzo.mezzela@gmail.com>
241
242 --------------------------------------------------
243 [New Topics]
244
245 +* bb/iso-strict-utc (2024-03-13) 1 commit
246 + (merged to 'next' on 2024-03-14 at d2ac616873)
247 + + date: make "iso-strict" conforming for the UTC timezone
248 +
249 + The output format for dates "iso-strict" has been tweaked to show
250 + a time in the Zulu timezone with "Z" suffix, instead of "+00:00".
251 +
252 + Will merge to 'master'.
253 + source: <20240313225423.11373-1-dev+git@drbeat.li>
254 +
255 +
256 +* dg/user-manual-hash-example (2024-03-12) 1 commit
257 + (merged to 'next' on 2024-03-14 at 767800d3a7)
258 + + Documentation/user-manual.txt: example for generating object hashes
259 +
260 + User manual (the original one) update.
261 +
262 + Will merge to 'master'.
263 + source: <20240312104238.4920-2-dirk@gouders.net>
264 +
265 +
266 +* jc/show-untracked-false (2024-03-13) 2 commits
267 + - status: allow --untracked=false and friends
268 + - status: unify parsing of --untracked= and status.showUntrackedFiles
269 +
270 + The status.showUntrackedFiles configuration variable had a name
271 + that tempts users to set a Boolean value expressed in our usual
272 + "false", "off", and "0", but it only took "no". This has been
273 + corrected so "true" and its synonyms are taken as "normal", while
274 + "false" and its synonyms are taken as "no".
275 +
276 + Will merge to 'next'?
277 + source: <20240313173214.962532-1-gitster@pobox.com>
278 +
279 +
280 +* js/bugreport-no-suffix-fix (2024-03-14) 1 commit
281 + - bugreport.c: fix a crash in `git bugreport` with `--no-suffix` option
282 +
283 + "git bugreport --no-suffix" was not supported and instead
284 + segfaulted, which has been corrected.
285 +
286 + Will merge to 'next'?
287 + source: <9c6f3f5203ae26c501a5711e2610573130bfd550.1710388817.git.gitgitgadget@gmail.com>
288 +
289 +
290 +* jw/doc-show-untracked-files-fix (2024-03-13) 1 commit
291 + (merged to 'next' on 2024-03-14 at 091f64ad6c)
292 + + doc: status.showUntrackedFiles does not take "false"
293 +
294 + The status.showUntrackedFiles configuration variable was
295 + incorrectly documented to accept "false", which has been corrected.
296 +
297 + Will merge to 'master'.
298 + source: <pull.1686.git.git.1710279251901.gitgitgadget@gmail.com>
299 +
300 +
301 +* ph/diff-src-dst-prefix-config (2024-03-15) 1 commit
302 + - diff: add diff.srcPrefix and diff.dstPrefix configuration variables
303 +
304 + "git diff" and friends learned two extra configuration variables.
305 +
306 + What's the status of this thing?
307 + source: <20240315010310.GA1901653@quokka>
308 +
309 +
310 +* ps/clone-with-includeif-onbranch (2024-03-12) 1 commit
311 + - t5601: exercise clones with "includeIf.*.onbranch"
312 +
313 + An additional test to demonstrate something I am not sure what.
314 +
315 + Waiting for a review response.
316 + cf. <xmqqo7bjjid9.fsf@gitster.g>
317 + source: <0bede59a53862585c49bc635f82e44e983144a7f.1710246859.git.ps@pks.im>
318 +
319 +
320 +* bb/t0006-negative-tz-offset (2024-03-14) 1 commit
321 + (merged to 'next' on 2024-03-14 at 3f4751b6b2)
322 + + t0006: add more tests with a negative TZ offset
323 +
324 + More tests on showing time with negative TZ offset.
325 +
326 + Will merge to 'master'.
327 + source: <20240314085512.1827031-1-dev+git@drbeat.li>
328 +
329 +
330 +* rj/restore-plug-leaks (2024-03-14) 1 commit
331 + (merged to 'next' on 2024-03-15 at ac10ae7892)
332 + + checkout: plug some leaks in git-restore
333 +
334 + Leaks from "git restore" have been plugged.
335 +
336 + Will merge to 'master'.
337 + source: <64c1c3cc-51d7-4168-9731-4389889e1449@gmail.com>
338 +
339 +
340 +* bt/fuzz-config-parse (2024-03-15) 1 commit
341 + - fuzz: add fuzzer for config parsing
342 +
343 + A new fuzz target that exercises config parsing code.
344 +
345 + Will merge to 'next'?
346 + source: <pull.1692.v2.git.1710481652130.gitgitgadget@gmail.com>
347 +
348 +
349 +* ds/doc-config-reflow (2024-03-14) 1 commit
350 + - config.txt: perform some minor reformatting
351 +
352 + Reflow a paragraph in the documentation source without any effect
353 + to the formatted text.
354 +
355 + Comments?
356 + source: <97bdaf075bf5a68554cca1731eca78aff2662907.1710444774.git.dsimic@manjaro.org>
357 +
358 +
359 +* jc/index-pack-fsck-levels (2024-03-15) 1 commit
360 + - t5300: fix test_with_bad_commit()
361 +
362 + Test fix.
363 +
364 + Will merge to 'next'.
365 + source: <pull.1688.git.git.1710478646776.gitgitgadget@gmail.com>
366 +
367 +
368 +* la/format-trailer-info (2024-03-15) 5 commits
369 + - trailer: finish formatting unification
370 + - trailer: begin formatting unification
371 + - format_trailer_info(): append newline for non-trailer lines
372 + - format_trailer_info(): drop redundant unfold_value()
373 + - format_trailer_info(): use trailer_item objects
374 +
375 + The code to format trailers have been cleaned up.
376 +
377 + Comments?
378 + source: <pull.1694.git.1710485706.gitgitgadget@gmail.com>
379 +
380 +
381 +* rs/config-comment (2024-03-15) 3 commits
382 + - config: allow tweaking whitespace between value and comment
383 + - config: fix --comment formatting
384 + - config: add --comment option to add a comment
385 +
386 + "git config" learned "--comment=<message>" option to leave a
387 + comment immediately after the "variable = value" on the same line
388 + in the configuration file.
389 +
390 + Waiting for review response.
391 + cf. <xmqq8r2jp2eq.fsf@gitster.g>
392 + source: <pull.1681.v2.git.1709824540636.gitgitgadget@gmail.com>
393 +
394 +--------------------------------------------------
395 +[Cooking]
396 +
397 * jc/safe-implicit-bare (2024-03-11) 1 commit
115 - - setup: notice more types of implicit bare repositories
398 + (merged to 'next' on 2024-03-14 at e8bdbed1a4)
399 + + setup: notice more types of implicit bare repositories
400
401 Users with safe.bareRepository=explicit can still work from within
402 $GIT_DIR of a seconary worktree (which resides at .git/worktrees/$name/)
403 of the primary worktree without explicitly specifying the $GIT_DIR
404 environment variable or the --git-dir=<path> option.
405
122 - Will merge to 'next'.
406 + Will merge to 'master'.
407 source: <xmqq5xxv0ywi.fsf_-_@gitster.g>
408
409
126 -* pw/checkout-conflict-errorfix (2024-03-08) 4 commits
410 +* pw/checkout-conflict-errorfix (2024-03-14) 5 commits
411 + - checkout: fix interaction between --conflict and --merge
412 - checkout: cleanup --conflict=<style> parsing
413 - merge options: add a conflict style member
414 - merge-ll: introduce LL_MERGE_OPTIONS_INIT
@@ -133,9 +418,8 @@ Release tarballs are available at:
418 were given to a configuration variable; it has been corrected to
419 report that the command line option is bad.
420
136 - Expecting a reroll.
137 - cf. <1fb1c84a-b6b3-4e3e-896f-5fb93cff57a6@gmail.com>
138 - source: <pull.1684.git.1709907270.gitgitgadget@gmail.com>
421 + Will merge to 'next'?
422 + source: <pull.1684.v2.git.1710435907.gitgitgadget@gmail.com>
423
424
425 * bl/cherry-pick-empty (2024-03-11) 7 commits
@@ -147,23 +431,39 @@ Release tarballs are available at:
431 - docs: clean up `--empty` formatting in git-rebase(1) and git-am (1)
432 - docs: address inaccurate `--empty` default with `--exec`
433
434 + "cherry-pick" told to keep redundant commits needs to be allowed to
435 + create empty commits to do its job, but it required the user to
436 + give the --allow-empty option, which was unnecessary. Its UI has
437 + also been tweaked a bit.
438 +
439 + Comments?
440 source: <20240119060721.3734775-2-brianmlyles@gmail.com>
441
442
443 * ie/config-includeif-hostname (2024-03-10) 1 commit
444 - config: learn the "hostname:" includeIf condition
445
446 + The conditional inclusion mechanism for configuration files learned
447 + to switch on the hostname.
448 +
449 + Expecting a reroll.
450 + cf. <fda3e8f4-fd9e-4a43-a307-c6607d982436@iencinas.com>
451 source: <20240309181828.45496-2-ignacio@iencinas.com>
452
453
454 * ja/doc-markup-fixes (2024-03-11) 6 commits
160 - - doc: git-clone: format placeholders
161 - - doc: git-clone: format verbatim words
162 - - doc: git-init: rework config item init.templateDir
163 - - doc: git-init: rework definition lists
164 - - doc: git-init: format placeholders
165 - - doc: git-init: format verbatim parts
455 + (merged to 'next' on 2024-03-14 at 4d1c26143f)
456 + + doc: git-clone: format placeholders
457 + + doc: git-clone: format verbatim words
458 + + doc: git-init: rework config item init.templateDir
459 + + doc: git-init: rework definition lists
460 + + doc: git-init: format placeholders
461 + + doc: git-init: format verbatim parts
462
463 + Mark-ups used in the documentation has been improved for
464 + consistency.
465 +
466 + Will merge to 'master'.
467 source: <pull.1687.git.1710097830.gitgitgadget@gmail.com>
468
469
@@ -171,49 +471,39 @@ Release tarballs are available at:
471 - doc/gitremote-helpers: match object-format option docs to code
472 - t5801: fix object-format handling in git-remote-testgit
473
474 + The implementation and documentation of "object-format" option
475 + exchange between the Git itself and its remote helpers did not
476 + quite match.
477 +
478 + What's the conclusion of this one???
479 + cf. <20240312074513.GA47852@coredump.intra.peff.net>
480 + cf. <87ttl99e0b.fsf@gmail.froward.int.ebiederm.org>
481 source: <20240307084735.GA2072130@coredump.intra.peff.net>
482
483
484 * pb/ci-win-artifact-names-fix (2024-03-11) 1 commit
178 - - ci(github): make Windows test artifacts name unique
179 -
180 - source: <pull.1688.git.1710101097072.gitgitgadget@gmail.com>
485 + (merged to 'next' on 2024-03-14 at 5076389536)
486 + + ci(github): make Windows test artifacts name unique
487
182 ---------------------------------------------------
183 -[Cooking]
184 -
185 -* ag/t0010-modernize (2024-03-05) 1 commit
186 - (merged to 'next' on 2024-03-07 at 38339abc2d)
187 - + tests: modernize the test script t0010-racy-git.sh
188 -
189 - GSoC practice to modernize a test script.
488 + CI update.
489
490 Will merge to 'master'.
192 - source: <pull.1675.v3.git.1709676557639.gitgitgadget@gmail.com>
491 + source: <pull.1688.git.1710101097072.gitgitgadget@gmail.com>
492
493
494 * fs/find-end-of-log-message-fix (2024-03-07) 1 commit
196 - - wt-status: don't find scissors line beyond buf len
495 + (merged to 'next' on 2024-03-13 at 2bed63caaf)
496 + + wt-status: don't find scissors line beyond buf len
497
498 The code to find the effective end of log message can fall into an
499 endless loop, which has been corrected.
500
201 - Waiting for review response.
202 - source: <20240307183743.219951-1-flosch@nutanix.com>
203 -
204 -
205 -* hd/config-mak-os390 (2024-03-06) 1 commit
206 - (merged to 'next' on 2024-03-07 at 289d3ab691)
207 - + build: support z/OS (OS/390).
208 -
209 - Platform specific tweaks for OS/390 has been added to
210 - config.mak.uname.
211 -
501 Will merge to 'master'.
213 - source: <pull.1663.v4.git.git.1709703857881.gitgitgadget@gmail.com>
502 + cf. <08b9b37d-f0f8-4c1a-b72e-194202ff3d9f@nutanix.com>
503 + source: <20240307183743.219951-1-flosch@nutanix.com>
504
505
216 -* jk/core-comment-string (2024-03-07) 15 commits
506 +* jk/core-comment-string (2024-03-12) 16 commits
507 - config: allow multi-byte core.commentChar
508 - environment: drop comment_line_char compatibility macro
509 - wt-status: drop custom comment-char stringification
@@ -229,12 +519,14 @@ Release tarballs are available at:
519 - commit: refactor base-case of adjust_comment_line_char()
520 - strbuf: avoid static variables in strbuf_add_commented_lines()
521 - strbuf: simplify comment-handling in add_lines() helper
522 + - config: forbid newline as core.commentChar
523
524 core.commentChar used to be limited to a single byte, but has been
525 updated to allow an arbitrary multi-byte sequence.
526
236 - Will merge to 'next'?
237 - source: <20240307091407.GA2072522@coredump.intra.peff.net>
527 + Waiting for the discussion to settle.
528 + cf. <20240315081041.GA1753560@coredump.intra.peff.net>
529 + source: <20240312091013.GA95442@coredump.intra.peff.net>
530
531
532 * jk/doc-remote-helpers-markup-fix (2024-03-07) 1 commit
@@ -260,57 +552,30 @@ Release tarballs are available at:
552 source: <cover.1709673020.git.steadmon@google.com>
553
554
263 -* kh/branch-ref-syntax-advice (2024-03-05) 5 commits
264 - (merged to 'next' on 2024-03-07 at 914f01967b)
265 - + branch: advise about ref syntax rules
266 - + advice: use double quotes for regular quoting
267 - + advice: use backticks for verbatim
268 - + advice: make all entries stylistically consistent
269 - + t3200: improve test style
270 -
271 - When git refuses to create a branch because the proposed branch
272 - name is not a valid refname, an advice message is given to refer
273 - the user to exact naming rules.
274 -
275 - Will merge to 'master'.
276 - source: <cover.1709670287.git.code@khaugsbakk.name>
277 -
278 -
279 -* kh/doc-commentchar-is-a-byte (2024-03-05) 1 commit
280 - (merged to 'next' on 2024-03-06 at 5941655c04)
281 - + config: document `core.commentChar` as ASCII-only
282 -
283 - The "core.commentChar" configuration variable only allows an ASCII
284 - character, which was not clearly documented, which has been
285 - corrected.
286 -
287 - Will merge to 'master'.
288 - source: <9633f9be5ddd9ab3df4b79ee934e1ed47e90bd1d.1709656683.git.code@khaugsbakk.name>
289 -
290 -
555 * ps/reftable-block-search-fix (2024-03-07) 2 commits
292 - - reftable/block: fix binary search over restart counter
293 - - reftable/record: fix memory leak when decoding object records
556 + (merged to 'next' on 2024-03-13 at 34938e24ab)
557 + + reftable/block: fix binary search over restart counter
558 + + reftable/record: fix memory leak when decoding object records
559
560 The reftable code has its own custom binary search function whose
561 comparison callback has an unusual interface, which caused the
562 binary search to degenerate into a linear search, which has been
563 corrected.
564
300 - Will merge to 'next'?
565 + Will merge to 'master'.
566 source: <cover.1709843663.git.ps@pks.im>
567
568
569 * ps/reftable-reflog-iteration-perf (2024-03-05) 8 commits
305 - - refs/reftable: track last log record name via strbuf
306 - - reftable/record: use scratch buffer when decoding records
307 - - reftable/record: reuse message when decoding log records
308 - - reftable/record: reuse refnames when decoding log records
309 - - reftable/record: avoid copying author info
310 - - reftable/record: convert old and new object IDs to arrays
311 - - refs/reftable: reload correct stack when creating reflog iter
312 - - Merge branch 'ps/reftable-iteration-perf-part2' into ps/reftable-reflog-iteration-perf
313 - (this branch uses ps/reftable-iteration-perf-part2.)
570 + (merged to 'next' on 2024-03-14 at 72465c29be)
571 + + refs/reftable: track last log record name via strbuf
572 + + reftable/record: use scratch buffer when decoding records
573 + + reftable/record: reuse message when decoding log records
574 + + reftable/record: reuse refnames when decoding log records
575 + + reftable/record: avoid copying author info
576 + + reftable/record: convert old and new object IDs to arrays
577 + + refs/reftable: reload correct stack when creating reflog iter
578 + + Merge branch 'ps/reftable-iteration-perf-part2' into ps/reftable-reflog-iteration-perf
579
580 The code to iterate over reflogs in the reftable has been optimized
581 to reduce memory allocation and deallocation.
@@ -318,7 +583,7 @@ Release tarballs are available at:
583 Reviewed-by: Josh Steadmon <steadmon@google.com>
584 cf. <Ze9eX-aaWoVaqsPP@google.com>
585
321 - Will merge to 'next'?
586 + Will merge to 'master'.
587 source: <cover.1709640322.git.ps@pks.im>
588
589
@@ -331,56 +596,6 @@ Release tarballs are available at:
596 source: <pull.1682.v2.git.git.1709756493673.gitgitgadget@gmail.com>
597
598
334 -* jc/xwrite-cleanup (2024-03-02) 3 commits
335 - (merged to 'next' on 2024-03-07 at 43e66f7e4d)
336 - + repack: check error writing to pack-objects subprocess
337 - + sideband: avoid short write(2)
338 - + unpack: replace xwrite() loop with write_in_full()
339 -
340 - Uses of xwrite() helper have been audited and updated for better
341 - error checking and simpler code.
342 -
343 - Will merge to 'master'.
344 - source: <20240302190348.3946569-1-gitster@pobox.com>
345 -
346 -
347 -* jc/test-i18ngrep (2024-03-02) 1 commit
348 - (merged to 'next' on 2024-03-06 at 2c57ebc706)
349 - + test_i18ngrep: hard deprecate and forbid its use
350 -
351 - With release 2.44 we got rid of all uses of test_i18ngrep and there
352 - is no in-flight topic that adds a new use of it. Make a call to
353 - test_i18ngrep a hard failure, so that we can remove it at the end
354 - of this release cycle.
355 -
356 - Will merge to 'master'.
357 - source: <xmqq5xy4zhdc.fsf@gitster.g>
358 -
359 -
360 -* gt/core-bare-in-templates (2024-03-04) 1 commit
361 - (merged to 'next' on 2024-03-06 at e54ac5acf9)
362 - + setup: remove unnecessary variable
363 -
364 - Code simplification.
365 -
366 - Will merge to 'master'.
367 - source: <20240304151811.511780-1-shyamthakkar001@gmail.com>
368 -
369 -
370 -* so/clean-dry-run-without-force (2024-03-04) 2 commits
371 - (merged to 'next' on 2024-03-06 at ccf2e123be)
372 - + clean: further clean-up of implementation around "--force"
373 - + clean: improve -n and -f implementation and documentation
374 -
375 - The implementation in "git clean" that makes "-n" and "-i" ignore
376 - clean.requireForce has been simplified, together with the
377 - documentation.
378 -
379 - Will merge to 'master'.
380 - source: <87le6ziqzb.fsf_-_@osv.gnss.ru>
381 - source: <20240303220600.2491792-1-gitster@pobox.com>
382 -
383 -
599 * jh/trace2-missing-def-param-fix (2024-03-07) 3 commits
600 (merged to 'next' on 2024-03-08 at a797cfea3c)
601 + trace2: emit 'def_param' set with 'cmd_name' event
@@ -398,42 +613,37 @@ Release tarballs are available at:
613
614
615 * ps/reftable-stack-tempfile (2024-03-07) 4 commits
401 - - reftable/stack: register compacted tables as tempfiles
402 - - reftable/stack: register lockfiles during compaction
403 - - reftable/stack: register new tables as tempfiles
404 - - lockfile: report when rollback fails
616 + (merged to 'next' on 2024-03-13 at dcfb0cde8c)
617 + + reftable/stack: register compacted tables as tempfiles
618 + + reftable/stack: register lockfiles during compaction
619 + + reftable/stack: register new tables as tempfiles
620 + + lockfile: report when rollback fails
621
622 The code in reftable backend that creates new table files works
623 better with the tempfile framework to avoid leaving cruft after a
624 failure.
625
410 - Will merge to 'next'?
626 + Will merge to 'master'.
627 source: <cover.1709816483.git.ps@pks.im>
628
629
630 * rs/opt-parse-long-fixups (2024-03-03) 6 commits
415 - - parse-options: rearrange long_name matching code
416 - - parse-options: normalize arg and long_name before comparison
417 - - parse-options: detect ambiguous self-negation
418 - - parse-options: factor out register_abbrev() and struct parsed_option
419 - - parse-options: set arg of abbreviated option lazily
420 - - parse-options: recognize abbreviated negated option with arg
631 + (merged to 'next' on 2024-03-13 at 3755b50794)
632 + + parse-options: rearrange long_name matching code
633 + + parse-options: normalize arg and long_name before comparison
634 + + parse-options: detect ambiguous self-negation
635 + + parse-options: factor out register_abbrev() and struct parsed_option
636 + + parse-options: set arg of abbreviated option lazily
637 + + parse-options: recognize abbreviated negated option with arg
638
639 The parse-options code that deals with abbreviated long option
640 names have been cleaned up.
641
425 - Needs review.
426 - source: <20240303121944.20627-1-l.s.r@web.de>
427 -
428 -
429 -* vm/t7301-use-test-path-helpers (2024-03-06) 1 commit
430 - (merged to 'next' on 2024-03-07 at e638654635)
431 - + t7301: use test_path_is_(missing|file)
432 -
433 - GSoC practice to replace "test -f" with "test_path_is_file".
642 + Reviewed-by: Josh Steadmon <steadmon@google.com>
643 + cf. <ZfDM5Or3EKw7Q9SA@google.com>
644
645 Will merge to 'master'.
436 - source: <20240304171732.64457-2-vincenzo.mezzela@gmail.com>
646 + source: <20240303121944.20627-1-l.s.r@web.de>
647
648
649 * cw/git-std-lib (2024-02-28) 4 commits
@@ -448,18 +658,6 @@ Release tarballs are available at:
658 source: <cover.1696021277.git.jonathantanmy@google.com>
659
660
451 -* rj/complete-worktree-paths-fix (2024-02-27) 1 commit
452 - (merged to 'next' on 2024-03-06 at b6ba949383)
453 - + completion: fix __git_complete_worktree_paths
454 -
455 - The logic to complete the command line arguments to "git worktree"
456 - subcommand (in contrib/) has been updated to correctly honor things
457 - like "git -C dir" etc.
458 -
459 - Will merge to 'master'.
460 - source: <b8f09e20-d0d3-4e0b-afe2-31affeb61052@gmail.com>
461 -
462 -
661 * pw/rebase-i-ignore-cherry-pick-help-environment (2024-02-27) 1 commit
662 (merged to 'next' on 2024-03-08 at e806ee9493)
663 + rebase -i: stop setting GIT_CHERRY_PICK_HELP
@@ -471,71 +669,6 @@ Release tarballs are available at:
669 source: <pull.1678.git.1709042783847.gitgitgadget@gmail.com>
670
671
474 -* as/option-names-in-messages (2024-03-05) 4 commits
475 - (merged to 'next' on 2024-03-07 at 73ab51faba)
476 - + revision.c: trivial fix to message
477 - + builtin/clone.c: trivial fix of message
478 - + builtin/remote.c: trivial fix of error message
479 - + transport-helper.c: trivial fix of error message
480 -
481 - Error message updates.
482 -
483 - Will merge to 'master'.
484 - source: <20240216101647.28837-1-ash@kambanaria.org>
485 -
486 -
487 -* jh/fsmonitor-icase-corner-case-fix (2024-03-06) 14 commits
488 - (merged to 'next' on 2024-03-06 at 356eafea7e)
489 - + fsmonitor: support case-insensitive events
490 - + fsmonitor: refactor bit invalidation in refresh callback
491 - + fsmonitor: trace the new invalidated cache-entry count
492 - + fsmonitor: return invalidated cache-entry count on non-directory event
493 - + fsmonitor: remove custom loop from non-directory path handler
494 - + fsmonitor: return invalidated cache-entry count on directory event
495 - + fsmonitor: move untracked-cache invalidation into helper functions
496 - + fsmonitor: refactor untracked-cache invalidation
497 - + dir: create untracked_cache_invalidate_trimmed_path()
498 - + fsmonitor: refactor refresh callback for non-directory events
499 - + fsmonitor: clarify handling of directory events in callback helper
500 - + fsmonitor: refactor refresh callback on directory events
501 - + t7527: add case-insensitve test for FSMonitor
502 - + name-hash: add index_dir_find()
503 -
504 - FSMonitor client code was confused when FSEvents were given in a
505 - different case on a case-insensitive filesystem, which has been
506 - corrected.
507 -
508 - Acked-by: Patrick Steinhardt <ps@pks.im>
509 - cf. <ZehofMaSZyUq8S1N@tanuki>
510 -
511 - Will merge to 'master'.
512 - source: <pull.1662.v3.git.1708983565.gitgitgadget@gmail.com>
513 -
514 -
515 -* ps/reftable-iteration-perf-part2 (2024-03-04) 13 commits
516 - (merged to 'next' on 2024-03-06 at e8ba314585)
517 - + refs/reftable: precompute prefix length
518 - + reftable: allow inlining of a few functions
519 - + reftable/record: decode keys in place
520 - + reftable/record: reuse refname when copying
521 - + reftable/record: reuse refname when decoding
522 - + reftable/merged: avoid duplicate pqueue emptiness check
523 - + reftable/merged: circumvent pqueue with single subiter
524 - + reftable/merged: handle subiter cleanup on close only
525 - + reftable/merged: remove unnecessary null check for subiters
526 - + reftable/merged: make subiters own their records
527 - + reftable/merged: advance subiter on subsequent iteration
528 - + reftable/merged: make `merged_iter` structure private
529 - + reftable/pq: use `size_t` to track iterator index
530 - (this branch is used by ps/reftable-reflog-iteration-perf.)
531 -
532 - The code to iterate over refs with the reftable backend has seen
533 - some optimization.
534 -
535 - Will merge to 'master'.
536 - source: <cover.1709548907.git.ps@pks.im>
537 -
538 -
672 * js/cmake-with-test-tool (2024-02-23) 2 commits
673 - cmake: let `test-tool` run the unit tests, too
674 - Merge branch 'js/unit-test-suite-runner' into js/cmake-with-test-tool
@@ -565,21 +698,6 @@ Release tarballs are available at:
698 source: <cover.1708728717.git.steadmon@google.com>
699
700
568 -* rj/complete-reflog (2024-03-03) 5 commits
569 - (merged to 'next' on 2024-03-06 at 0f1a25debc)
570 - + completion: reflog subcommands and options
571 - + completion: factor out __git_resolve_builtins
572 - + completion: introduce __git_find_subcommand
573 - + completion: reflog show <log-options>
574 - + completion: reflog with implicit "show"
575 -
576 - The command line completion script (in contrib/) learned to
577 - complete "git reflog" better.
578 -
579 - Will merge to 'master'.
580 - source: <ea6c8890-9ff3-46c9-b933-6a52083b1001@gmail.com>
581 -
582 -
701 * bk/complete-dirname-for-am-and-format-patch (2024-01-12) 1 commit
702 - completion: dir-type optargs for am, format-patch
703
@@ -605,27 +723,6 @@ Release tarballs are available at:
723 source: <a718b5ee-afb0-44bd-a299-3208fac43506@smtp-relay.sendinblue.com>
724
725
608 -* la/trailer-api (2024-03-01) 9 commits
609 - (merged to 'next' on 2024-03-06 at f119923ff6)
610 - + format_trailers_from_commit(): indirectly call trailer_info_get()
611 - + format_trailer_info(): move "fast path" to caller
612 - + format_trailers(): use strbuf instead of FILE
613 - + trailer_info_get(): reorder parameters
614 - + trailer: move interpret_trailers() to interpret-trailers.c
615 - + trailer: reorder format_trailers_from_commit() parameters
616 - + trailer: rename functions to use 'trailer'
617 - + shortlog: add test for de-duplicating folded trailers
618 - + trailer: free trailer_info _after_ all related usage
619 -
620 - Trailer API updates.
621 -
622 - Acked-by: Christian Couder <christian.couder@gmail.com>
623 - cf. <CAP8UFD1Zd+9q0z1JmfOf60S2vn5-sD3SafDvAJUzRFwHJKcb8A@mail.gmail.com>
624 -
625 - Will merge to 'master'.
626 - source: <pull.1632.v6.git.1709252086.gitgitgadget@gmail.com>
627 -
628 -
726 * tb/path-filter-fix (2024-01-31) 16 commits
727 - bloom: introduce `deinit_bloom_filters()`
728 - commit-graph: reuse existing Bloom filters where possible