What's cooking (2024/06 #03)

Junio C Hamano committed Jun 11, 2024 at 16:47 UTC c870c83c74df05703e4c34f12ef6489530d7bc02
1 file changed +425 -203
whats-cooking.txt
+425 -203
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 -Subject: What's cooking in git.git (Jun 2024, #02; Thu, 6)
3 -X-master-at: 7b0defb3915eaa0bd118f0996e8c00b4eb2dc1ca
4 -X-next-at: dd2eb8cad419143d6806239019fa87cfc179dfe2
2 +Subject: What's cooking in git.git (Jun 2024, #03; Tue, 11)
3 +X-master-at: 8d94cfb54504f2ec9edc7ca3eb5c29a3dd3675ae
4 +X-next-at: 995854087836ed4a61d3a38cc5e5fc7639b27baa
5 Bcc: lwn@lwn.net, gitster@pobox.com
6
7 -What's cooking in git.git (Jun 2024, #02; Thu, 6)
7 +What's cooking in git.git (Jun 2024, #03; Tue, 11)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking in my tree. Commits
@@ -45,36 +45,343 @@ Release tarballs are available at:
45
46 https://www.kernel.org/pub/software/scm/git/
47
48 +--------------------------------------------------
49 +[Graduated to 'master']
50 +
51 +* iw/trace-argv-on-alias (2024-05-31) 3 commits
52 + (merged to 'next' on 2024-06-03 at 190af38284)
53 + + run-command: show prepared command
54 + + Documentation: alias: add notes on shell expansion
55 + + Documentation: alias: rework notes into points
56 +
57 + The alias-expanded command lines are logged to the trace output.
58 + source: <20240525234454.1489598-1-iwienand@redhat.com>
59 +
60 +
61 +* jk/leakfixes (2024-05-30) 6 commits
62 + (merged to 'next' on 2024-06-03 at 1e8a6276a1)
63 + + mv: replace src_dir with a strvec
64 + + mv: factor out empty src_dir removal
65 + + mv: move src_dir cleanup to end of cmd_mv()
66 + + t-strvec: mark variable-arg helper with LAST_ARG_MUST_BE_NULL
67 + + t-strvec: use va_end() to match va_start()
68 + + Merge branch 'ps/leakfixes' into jk/leakfixes
69 + (this branch is used by jk/sparse-leakfix.)
70 +
71 + Memory leaks in "git mv" has been plugged.
72 + source: <20240530063857.GA1942535@coredump.intra.peff.net>
73 +
74 +
75 +* mt/openindiana-scalar (2024-05-17) 1 commit
76 + (merged to 'next' on 2024-05-30 at 190d4465cf)
77 + + scalar: make enlistment delete to work on all POSIX platforms
78 +
79 + Avoid removing the $(cwd) for portability.
80 + source: <Zkds81OB7C5bTCl_@telcontar>
81 +
82 +
83 +* ps/leakfixes (2024-05-27) 19 commits
84 + (merged to 'next' on 2024-05-29 at e75dcb3beb)
85 + + builtin/mv: fix leaks for submodule gitfile paths
86 + + builtin/mv: refactor to use `struct strvec`
87 + + builtin/mv duplicate string list memory
88 + + builtin/mv: refactor `add_slash()` to always return allocated strings
89 + + strvec: add functions to replace and remove strings
90 + + submodule: fix leaking memory for submodule entries
91 + + commit-reach: fix memory leak in `ahead_behind()`
92 + + builtin/credential: clear credential before exit
93 + + config: plug various memory leaks
94 + + config: clarify memory ownership in `git_config_string()`
95 + + builtin/log: stop using globals for format config
96 + + builtin/log: stop using globals for log config
97 + + convert: refactor code to clarify ownership of check_roundtrip_encoding
98 + + diff: refactor code to clarify memory ownership of prefixes
99 + + config: clarify memory ownership in `git_config_pathname()`
100 + + http: refactor code to clarify memory ownership
101 + + checkout: clarify memory ownership in `unique_tracking_name()`
102 + + strbuf: fix leak when `appendwholeline()` fails with EOF
103 + + transport-helper: fix leaking helper name
104 + (this branch is used by jk/imap-send-plug-all-msgs-leak, jk/leakfixes, jk/sparse-leakfix, ps/leakfixes-more and ps/no-writable-strings.)
105 +
106 + Leakfixes.
107 + source: <cover.1716810168.git.ps@pks.im>
108 +
109 +
110 +* rs/difftool-env-simplify (2024-05-27) 1 commit
111 + (merged to 'next' on 2024-05-29 at 4d3776a989)
112 + + difftool: add env vars directly in run_file_diff()
113 +
114 + Code simplification.
115 + source: <c7c843b9-0ccf-4bcb-a036-d794729a99d6@web.de>
116 +
117 +
118 +* tb/midx-write-cleanup (2024-05-30) 8 commits
119 + (merged to 'next' on 2024-05-31 at 03f3d27e4f)
120 + + pack-bitmap.c: reimplement `midx_bitmap_filename()` with helper
121 + + midx: replace `get_midx_rev_filename()` with a generic helper
122 + + midx-write.c: support reading an existing MIDX with `packs_to_include`
123 + + midx-write.c: extract `fill_packs_from_midx()`
124 + + midx-write.c: extract `should_include_pack()`
125 + + midx-write.c: pass `start_pack` to `compute_sorted_entries()`
126 + + midx-write.c: reduce argument count for `get_sorted_entries()`
127 + + midx-write.c: tolerate `--preferred-pack` without bitmaps
128 +
129 + Code clean-up around writing the .midx files.
130 + source: <cover.1717023301.git.me@ttaylorr.com>
131 +
132 +
133 +* th/quiet-lazy-fetch-from-promisor (2024-05-26) 1 commit
134 + (merged to 'next' on 2024-05-29 at bb12492199)
135 + + promisor-remote: add promisor.quiet configuration option
136 +
137 + The promisor.quiet configuration knob can be set to true to make
138 + lazy fetching from promisor remotes silent.
139 + source: <20240525100927.2949808-1-tom@compton.nu>
140 +
141 --------------------------------------------------
142 [New Topics]
143
144 +* jk/am-retry (2024-06-06) 2 commits
145 + (merged to 'next' on 2024-06-10 at 4d62361bc7)
146 + + test-terminal: drop stdin handling
147 + + am: add explicit "--retry" option
148 +
149 + "git am" has a safety feature to prevent it from starting a new
150 + session when there already is a session going. It reliably
151 + triggers when a mbox is given on the command line, but it has to
152 + rely on the tty-ness of the standard input. Add an explicit way to
153 + opt out of this safety with a command line option.
154 +
155 + Will merge to 'master'.
156 + source: <20240606081724.GA1166769@coredump.intra.peff.net>
157 +
158 +
159 +* ps/ci-fix-detection-of-ubuntu-20 (2024-06-06) 1 commit
160 + (merged to 'next' on 2024-06-10 at 2d6725a946)
161 + + ci: fix check for Ubuntu 20.04
162 +
163 + Fix for an embarrassing typo that prevented running Python2 tests
164 + anywhere.
165 +
166 + Will merge to 'master'.
167 + source: <f91004a4382c95b1b87bf3d1aafc018af2b7b92e.1717662814.git.ps@pks.im>
168 +
169 +
170 +* tb/pseudo-merge-reachability-bitmap-fixes (2024-06-06) 2 commits
171 + - pack-bitmap.c: ensure pseudo-merge offset reads are bounded
172 + - Documentation/technical/bitmap-format.txt: add missing position table
173 + (this branch uses tb/pseudo-merge-reachability-bitmap.)
174 +
175 + Two rather straight-forward fixes to the base topic that is cooking
176 + in 'next'. Once people find it satisfactory, I plan to merge them
177 + into the base topic.
178 +
179 + Comments?
180 + source: <cover.1716499565.git.me@ttaylorr.com>
181 +
182 +
183 +* db/date-underflow-fix (2024-06-08) 2 commits
184 + - SQUASH???
185 + - date: detect underflow/overflow when parsing dates with timezone offset
186 +
187 + date parser updates to be more careful about underflowing epoch
188 + based timestamp.
189 +
190 + Expecting a reroll.
191 + cf. <xmqq1q58ejnw.fsf@gitster.g>
192 + cf. <xmqqtthzrraw.fsf@gitster.g>
193 + source: <pull.1726.v3.git.git.1717719428510.gitgitgadget@gmail.com>
194 +
195 +
196 +* tb/commit-graph-use-tempfile (2024-06-07) 2 commits
197 + - server-info.c: remove temporary info files on exit
198 + - commit-graph.c: remove temporary graph layers on exit
199 +
200 + "git update-server-info" and "git commit-graph --write" have been
201 + updated to use the tempfile API to avoid leaving cruft after
202 + failing.
203 +
204 + Comments?
205 + cf. <xmqqfrtog2rd.fsf@gitster.g>
206 + source: <cover.1717712358.git.me@ttaylorr.com>
207 +
208 +
209 +* tb/incremental-midx-part-1 (2024-06-07) 19 commits
210 + - midx: implement support for writing incremental MIDX chains
211 + - t/t5313-pack-bounds-checks.sh: prepare for sub-directories
212 + - t: retire 'GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAP'
213 + - midx: implement verification support for incremental MIDXs
214 + - midx: support reading incremental MIDX chains
215 + - midx: teach `midx_fanout_add_midx_fanout()` about incremental MIDXs
216 + - midx: teach `midx_preferred_pack()` about incremental MIDXs
217 + - midx: teach `midx_contains_pack()` about incremental MIDXs
218 + - midx: remove unused `midx_locate_pack()`
219 + - midx: teach `fill_midx_entry()` about incremental MIDXs
220 + - midx: teach `nth_midxed_offset()` about incremental MIDXs
221 + - midx: teach `bsearch_midx()` about incremental MIDXs
222 + - midx: introduce `bsearch_one_midx()`
223 + - midx: teach `nth_bitmapped_pack()` about incremental MIDXs
224 + - midx: teach `nth_midxed_object_oid()` about incremental MIDXs
225 + - midx: teach `prepare_midx_pack()` about incremental MIDXs
226 + - midx: teach `nth_midxed_pack_int_id()` about incremental MIDXs
227 + - midx: add new fields for incremental MIDX chains
228 + - Documentation: describe incremental MIDX format
229 +
230 + Incremental updates of multi-pack index files.
231 +
232 + Needs review.
233 + source: <cover.1717715060.git.me@ttaylorr.com>
234 +
235 +
236 +* ds/doc-add-interactive-singlekey (2024-06-07) 1 commit
237 + - doc: interactive.singleKey is disabled by default
238 +
239 + Doc update.
240 +
241 + Will merge to 'next'.
242 + source: <xmqq4ja4e6d6.fsf@gitster.g>
243 +
244 +
245 +* gt/unit-test-oidtree (2024-06-10) 1 commit
246 + - t/: migrate helper/test-oidtree.c to unit-tests/t-oidtree.c
247 +
248 + "oidtree" tests were rewritten to use the unit test framework.
249 +
250 + Expecting a reroll.
251 + cf. <7o6fuymnfn6b6buyw3yyctjd4dlwlrazspv3xgxvys6djjivxh@qbhyurorgbtt>
252 + source: <20240608165731.29467-1-shyamthakkar001@gmail.com>
253 +
254 +
255 +* jc/varargs-attributes (2024-06-10) 4 commits
256 + (merged to 'next' on 2024-06-10 at a9c55c0f89)
257 + + __attribute__: add a few missing format attributes
258 + + __attribute__: mark some functions with LAST_ARG_MUST_BE_NULL
259 + + __attribute__: remove redundant attribute declaration for git_die_config()
260 + + __attribute__: trace2_region_enter_printf() is like "printf"
261 +
262 + Varargs functions that are unannotated as printf-like or execl-like
263 + have been annotated as such.
264 +
265 + Will merge to 'master'.
266 + source: <20240608183747.2084294-1-gitster@pobox.com>
267 +
268 +
269 +* jc/worktree-git-path (2024-06-08) 1 commit
270 + - worktree_git_path(): move the declaration to path.h
271 +
272 + Code cleanup.
273 +
274 + Comments?
275 + source: <20240608183901.2084546-1-gitster@pobox.com>
276 +
277 +
278 +* ds/ahead-behind-fix (2024-06-11) 1 commit
279 + - commit-graph: increment progress indicator
280 +
281 + Fix for a progress bar.
282 +
283 + Will merge to 'next'.
284 + source: <pull.1743.git.1718118555197.gitgitgadget@gmail.com>
285 +
286 +
287 +* ps/abbrev-length-before-setup-fix (2024-06-11) 2 commits
288 + - object-name: don't try to abbreviate to lengths greater than hexsz
289 + - config: fix segfault when parsing "core.abbrev" without repo
290 +
291 + Setting core.abbrev too early before the repository set-up
292 + (typically in "git clone") caused segfault, which as been
293 + corrected.
294 +
295 + source: <CAO_smVimsHAPbMxy09mcYZY8apFgCbpnS9eSF7UOL6_BLqntNw@mail.gmail.com>
296 +
297 +
298 +* ps/make-append-to-cflags (2024-06-11) 1 commit
299 + - Makefile: add ability to append to CFLAGS and LDFLAGS
300 +
301 + To help developers, the build procedure now allows builders to use
302 + CFLAGS_APPEND to specify additional CFLAGS.
303 +
304 + Will merge to 'next'.
305 + source: <8120ddaf0bdfd50e0fc4cf9a04f833102630b639.1718001244.git.ps@pks.im>
306 +
307 +
308 +* tb/multi-pack-reuse-fix (2024-06-11) 3 commits
309 + - pack-revindex.c: guard against out-of-bounds pack lookups
310 + - pack-bitmap.c: avoid uninitialized `pack_int_id` during reuse
311 + - midx-write.c: do not read existing MIDX with `packs_to_include`
312 +
313 + Assorted fixes to multi-pack-index code paths.
314 +
315 + Will merge to 'next'.
316 + source: <cover.1718126886.git.me@ttaylorr.com>
317 +
318 +
319 +* vd/mktree (2024-06-11) 16 commits
320 + - mktree: remove entries when mode is 0
321 + - mktree: allow deeper paths in input
322 + - mktree: optionally add to an existing tree
323 + - mktree: add directory-file conflict hashmap
324 + - mktree: use iterator struct to add tree entries to index
325 + - mktree: create tree using an in-core index
326 + - mktree: overwrite duplicate entries
327 + - mktree: validate paths more carefully
328 + - mktree: add a --literally option
329 + - mktree: use read_index_info to read stdin lines
330 + - index-info.c: parse object type in provided in read_index_info
331 + - index-info.c: identify empty input lines in read_index_info
332 + - update-index: generalize 'read_index_info'
333 + - mktree: use non-static tree_entry array
334 + - mktree: rename treeent to tree_entry
335 + - mktree: use OPT_BOOL
336 +
337 + "git mktree" has been rewritten, taking advantage of the cache-tree
338 + API.
339 +
340 + source: <pull.1746.git.1718130288.gitgitgadget@gmail.com>
341 +
342 +
343 +* xx/bundie-uri-fixes (2024-06-11) 3 commits
344 + - unbundle: support object verification for fetches
345 + - fetch-pack: expose fsckObjects configuration logic
346 + - bundle-uri: verify oid before writing refs
347 +
348 + When bundleURI interface fetches multiple bundles, Git failed to
349 + take full advantage of all bundles and ended up slurping duplicated
350 + objects.
351 +
352 + Will merge to 'next'?
353 + cf. <xmqqa5jruwkr.fsf@gitster.g>
354 + cf. <xmqqsexjtfcg.fsf@gitster.g>
355 + source: <pull.1730.v6.git.1718109943.gitgitgadget@gmail.com>
356 +
357 +--------------------------------------------------
358 +[Cooking]
359 +
360 * rj/add-p-pager (2024-06-04) 6 commits
52 - - add-patch: introduce the command '|'
53 - - test-terminal: introduce --no-stdin-pty
54 - - pager: introduce setup_custom_pager
55 - - pager: introduce wait_for_pager
56 - - pager: do not close fd 2 unnecessarily
57 - - add-patch: test for 'p' command
361 + . add-patch: introduce the command '|'
362 + . test-terminal: introduce --no-stdin-pty
363 + . pager: introduce setup_custom_pager
364 + . pager: introduce wait_for_pager
365 + . pager: do not close fd 2 unnecessarily
366 + . add-patch: test for 'p' command
367
368 "git add -i" and friends learned a new '|' command that sends the
369 current hunk to the pager, instead of dumping it to the terminal.
370
62 - Expecting a reroll.
63 - cf. <3f085795-79bd-4a56-9df8-659e32179925@gmail.com>
64 - cf. <844704794168f9fcb85c75014c84cde0@manjaro.org>
371 + Expecting a reroll to work well with jk/am-retry
372 source: <1ef0ac3a-3be5-4fc2-93f8-46610f3d1880@gmail.com>
373
374
68 -* ap/credential-clear-fix (2024-06-04) 1 commit
69 - - credential: clear expired c->credential, unify secret clearing
375 +* ap/credential-clear-fix (2024-06-06) 1 commit
376 + (merged to 'next' on 2024-06-07 at 933f06b899)
377 + + credential: clear expired c->credential, unify secret clearing
378
379 Upon expiration event, we forgot to clear in-core authentication
380 material other than password (whose support was added recently),
381 which has been corrected.
382
75 - Expecting a reroll.
76 - cf. <dcbbd00f-1730-41fd-90d3-c7b070c4f17d@nvidia.com>
77 - source: <20240604192929.3252626-1-aplattner@nvidia.com>
383 + Will merge to 'master'.
384 + source: <20240606183516.4077896-2-aplattner@nvidia.com>
385
386
387 * jc/heads-are-branches (2024-06-04) 3 commits
@@ -89,44 +396,48 @@ Release tarballs are available at:
396 source: <20240604220145.3260714-1-gitster@pobox.com>
397
398
92 -* jk/imap-send-plug-all-msgs-leak (2024-06-06) 3 commits
93 - - imap-send: free all_msgs strbuf in "out" label
94 - - Merge branch 'jc/t1517-more' into jk/imap-send-plug-all-msgs-leak
95 - - Merge branch 'ps/no-writable-strings' into jk/imap-send-plug-all-msgs-leak
96 - (this branch uses jc/t1517-more, ps/leakfixes and ps/no-writable-strings.)
399 +* jk/imap-send-plug-all-msgs-leak (2024-06-07) 3 commits
400 + (merged to 'next' on 2024-06-10 at 9b8ec7b97d)
401 + + imap-send: free all_msgs strbuf in "out" label
402 + + Merge branch 'jc/t1517-more' into jk/imap-send-plug-all-msgs-leak
403 + + Merge branch 'ps/no-writable-strings' into jk/imap-send-plug-all-msgs-leak
404 + (this branch uses jc/t1517-more and ps/no-writable-strings.)
405
406 A leak in "git imap-send" that somehow escapes LSan has been
407 plugged.
408
101 - Will merge to 'next'.
409 + Will merge to 'master'.
410 source: <20240605083526.GB2345232@coredump.intra.peff.net>
411
412
413 * ps/check-docs-fix (2024-06-06) 4 commits
106 - - ci/test-documentation: work around SyntaxWarning in Python 3.12
107 - - gitlab-ci: add job to run `make check-docs`
108 - - Documentation/lint-manpages: bubble up errors
109 - - Makefile: extract script to lint missing/extraneous manpages
414 + (merged to 'next' on 2024-06-10 at 12570afc8e)
415 + + ci/test-documentation: work around SyntaxWarning in Python 3.12
416 + + gitlab-ci: add job to run `make check-docs`
417 + + Documentation/lint-manpages: bubble up errors
418 + + Makefile: extract script to lint missing/extraneous manpages
419
420 "make check-docs" noticed problems and reported to its output but
421 failed to signal its findings with its exit status, which has been
422 corrected.
423
115 - Will merge to 'next'.
424 + Will merge to 'master'.
425 source: <cover.1717660597.git.ps@pks.im>
426
427
119 -* rj/format-patch-auto-cover-with-interdiff (2024-06-05) 2 commits
120 - - SQUASH???
428 +* rj/format-patch-auto-cover-with-interdiff (2024-06-07) 2 commits
429 - format-patch: assume --cover-letter for diff in multi-patch series
430 + - t4014: cleanups in a few tests
431
432 "git format-patch --interdiff" for multi-patch series learned to
433 turn on cover letters automatically (unless told never to enable
434 cover letter with "--no-cover-letter" and such).
126 - source: <cb6b6d54-959f-477d-83e5-027c81ae85de@gmail.com>
435 +
436 + Will merge to 'next'?
437 + source: <9f520828-f87e-49b1-aa4b-c00ec6bb0133@gmail.com>
438
439
129 -* rs/diff-exit-code-with-external-diff (2024-06-05) 3 commits
440 +* rs/diff-exit-code-with-external-diff (2024-06-10) 3 commits
441 - diff: let external diffs report that changes are uninteresting
442 - userdiff: add and use struct external_diff
443 - t4020: test exit code with external diffs
@@ -136,9 +447,8 @@ Release tarballs are available at:
447 status of the overall "git diff" invocation when configured to do
448 so.
449
139 - Expecting a bit of documentation updates.
140 - cf. <55389f35-5762-4b86-81bf-b9fe956815d2@web.de>
141 - source: <6fa51a62-5dc1-4865-9f79-eaf7d65189ab@web.de>
450 + Will merge to 'next'.
451 + source: <168fecaa-2ebd-4897-b0ba-3bd2a37c01e7@web.de>
452
453
454 * jc/add-i-retire-usebuiltin-config (2024-06-05) 1 commit
@@ -162,8 +472,6 @@ Release tarballs are available at:
472 Comments?
473 source: <xmqqa5jzqd5k.fsf_-_@gitster.g>
474
165 ---------------------------------------------------
166 -[Cooking]
475
476 * jk/sparse-leakfix (2024-06-05) 14 commits
477 (merged to 'next' on 2024-06-06 at c92e02c528)
@@ -181,7 +489,6 @@ Release tarballs are available at:
489 + sparse-checkout: pass string literals directly to add_pattern()
490 + sparse-checkout: free string list in write_cone_to_file()
491 + Merge branch 'jk/leakfixes' into jk/sparse-leakfix
184 - (this branch uses jk/leakfixes and ps/leakfixes.)
492
493 Many memory leaks in the sparse-checkout code paths have been
494 plugged.
@@ -202,7 +509,7 @@ Release tarballs are available at:
509 source: <xmqqikyowqjj.fsf@gitster.g>
510
511
205 -* ps/leakfixes-more (2024-06-03) 30 commits
512 +* ps/leakfixes-more (2024-06-11) 30 commits
513 - builtin/blame: fix leaking ignore revs files
514 - builtin/blame: fix leaking prefixed paths
515 - blame: fix leaking data for blame scoreboards
@@ -226,19 +533,18 @@ Release tarballs are available at:
533 - builtin/rev-list: fix leaking bitmap index when calculating disk usage
534 - notes: fix memory leak when pruning notes
535 - revision: fix leaking display notes
229 - - merge-recursive: fix leaging rename conflict info
536 + - merge-recursive: fix leaking rename conflict info
537 - biultin/rev-parse: fix memory leaks in `--parseopt` mode
538 - bundle: plug leaks in `create_bundle()`
539 - notes-utils: free note trees when releasing copied notes
540 - parse-options: fix leaks for users of OPT_FILENAME
541 - revision: fix memory leak when reversing revisions
542 - Merge branch 'ps/leakfixes' into ps/leakfixes-more
236 - (this branch uses ps/leakfixes.)
543
544 More memory leaks have been plugged.
545
546 Needs review.
241 - source: <cover.1717402439.git.ps@pks.im>
547 + source: <cover.1718095906.git.ps@pks.im>
548
549
550 * gt/decorate-unit-test (2024-05-28) 1 commit
@@ -263,41 +569,42 @@ Release tarballs are available at:
569 source: <xmqqplt4zjw7.fsf@gitster.g>
570
571
266 -* ps/no-writable-strings (2024-06-06) 28 commits
267 - - config.mak.dev: enable `-Wwrite-strings` warning
268 - - builtin/merge: always store allocated strings in `pull_twohead`
269 - - builtin/rebase: always store allocated string in `options.strategy`
270 - - builtin/rebase: do not assign default backend to non-constant field
271 - - imap-send: fix leaking memory in `imap_server_conf`
272 - - imap-send: drop global `imap_server_conf` variable
273 - - mailmap: always store allocated strings in mailmap blob
274 - - revision: always store allocated strings in output encoding
275 - - remote-curl: avoid assigning string constant to non-const variable
276 - - send-pack: always allocate receive status
277 - - parse-options: cast long name for OPTION_ALIAS
278 - - http: do not assign string constant to non-const field
279 - - compat/win32: fix const-correctness with string constants
280 - - pretty: add casts for decoration option pointers
281 - - object-file: make `buf` parameter of `index_mem()` a constant
282 - - object-file: mark cached object buffers as const
283 - - ident: add casts for fallback name and GECOS
284 - - entry: refactor how we remove items for delayed checkouts
285 - - line-log: always allocate the output prefix
286 - - line-log: stop assigning string constant to file parent buffer
287 - - diff: cast string constant in `fill_textconv()`
288 - - builtin/remote: cast away constness in `get_head_names()`
289 - - refspec: remove global tag refspec structure
290 - - reftable: cast away constness when assigning constants to records
291 - - refs/reftable: stop micro-optimizing refname allocations on copy
292 - - global: convert intentionally-leaking config strings to consts
293 - - global: improve const correctness when assigning string constants
294 - - Merge branch 'ps/leakfixes' into ps/no-writable-strings
295 - (this branch is used by jk/imap-send-plug-all-msgs-leak; uses ps/leakfixes.)
572 +* ps/no-writable-strings (2024-06-07) 28 commits
573 + (merged to 'next' on 2024-06-10 at 9678851a9f)
574 + + config.mak.dev: enable `-Wwrite-strings` warning
575 + + builtin/merge: always store allocated strings in `pull_twohead`
576 + + builtin/rebase: always store allocated string in `options.strategy`
577 + + builtin/rebase: do not assign default backend to non-constant field
578 + + imap-send: fix leaking memory in `imap_server_conf`
579 + + imap-send: drop global `imap_server_conf` variable
580 + + mailmap: always store allocated strings in mailmap blob
581 + + revision: always store allocated strings in output encoding
582 + + remote-curl: avoid assigning string constant to non-const variable
583 + + send-pack: always allocate receive status
584 + + parse-options: cast long name for OPTION_ALIAS
585 + + http: do not assign string constant to non-const field
586 + + compat/win32: fix const-correctness with string constants
587 + + pretty: add casts for decoration option pointers
588 + + object-file: make `buf` parameter of `index_mem()` a constant
589 + + object-file: mark cached object buffers as const
590 + + ident: add casts for fallback name and GECOS
591 + + entry: refactor how we remove items for delayed checkouts
592 + + line-log: always allocate the output prefix
593 + + line-log: stop assigning string constant to file parent buffer
594 + + diff: cast string constant in `fill_textconv()`
595 + + builtin/remote: cast away constness in `get_head_names()`
596 + + refspec: remove global tag refspec structure
597 + + reftable: cast away constness when assigning constants to records
598 + + refs/reftable: stop micro-optimizing refname allocations on copy
599 + + global: convert intentionally-leaking config strings to consts
600 + + global: improve const correctness when assigning string constants
601 + + Merge branch 'ps/leakfixes' into ps/no-writable-strings
602 + (this branch is used by jk/imap-send-plug-all-msgs-leak.)
603
604 Building with "-Werror -Wwrite-strings" is now supported.
605
299 - Will merge to 'next'?
300 - source: <cover.1717667854.git.ps@pks.im>
606 + Will merge to 'master'.
607 + source: <cover.1717740365.git.ps@pks.im>
608
609
610 * cp/reftable-unit-test (2024-05-30) 5 commits
@@ -329,22 +636,6 @@ Release tarballs are available at:
636 source: <xmqqwmnajrrk.fsf@gitster.g>
637
638
332 -* jk/leakfixes (2024-05-30) 6 commits
333 - (merged to 'next' on 2024-06-03 at 1e8a6276a1)
334 - + mv: replace src_dir with a strvec
335 - + mv: factor out empty src_dir removal
336 - + mv: move src_dir cleanup to end of cmd_mv()
337 - + t-strvec: mark variable-arg helper with LAST_ARG_MUST_BE_NULL
338 - + t-strvec: use va_end() to match va_start()
339 - + Merge branch 'ps/leakfixes' into jk/leakfixes
340 - (this branch is used by jk/sparse-leakfix; uses ps/leakfixes.)
341 -
342 - Memory leaks in "git mv" has been plugged.
343 -
344 - Will merge to 'master'.
345 - source: <20240530063857.GA1942535@coredump.intra.peff.net>
346 -
347 -
639 * gt/t-hash-unit-test (2024-05-29) 2 commits
640 (merged to 'next' on 2024-06-04 at 86328a5c8c)
641 + t/: migrate helper/test-{sha1, sha256} to unit-tests/t-hash
@@ -363,30 +654,22 @@ Release tarballs are available at:
654 A unit test for code that parses the hunk offset and length from a
655 patch fragment header as been added.
656
366 - Will merge to 'next'.
657 + Expecting a reroll.
658 + cf. <b7eca313-9ea8-4132-ba1d-ed9236e07095@gmail.com>
659 source: <pull.1677.v2.git.git.1716710073910.gitgitgadget@gmail.com>
660
661
370 -* rs/difftool-env-simplify (2024-05-27) 1 commit
371 - (merged to 'next' on 2024-05-29 at 4d3776a989)
372 - + difftool: add env vars directly in run_file_diff()
373 -
374 - Code simplification.
375 -
376 - Will merge to 'master'.
377 - source: <c7c843b9-0ccf-4bcb-a036-d794729a99d6@web.de>
378 -
379 -
662 * jc/format-patch-with-range-diff (2024-05-24) 2 commits
381 - - format-patch: move range/inter diff at the end of a single patch output
382 - - show_log: factor out interdiff/range-diff generation
663 + (merged to 'next' on 2024-06-07 at 394989ee78)
664 + + format-patch: move range/inter diff at the end of a single patch output
665 + + show_log: factor out interdiff/range-diff generation
666
667 Move inter/range-diff output to the end of the patch when
668 format-patch adds it to a single patch, instead of writing it
669 before the patch text, to be consistent with what is done for a
670 cover letter for a multi-patch series.
671
389 - Will merge to 'next'.
672 + Will merge to 'master'.
673 source: <20240523225007.2871766-1-gitster@pobox.com>
674
675
@@ -408,18 +691,6 @@ Release tarballs are available at:
691 source: <20240524163926.2019648-1-christian.couder@gmail.com>
692
693
411 -* iw/trace-argv-on-alias (2024-05-31) 3 commits
412 - (merged to 'next' on 2024-06-03 at 190af38284)
413 - + run-command: show prepared command
414 - + Documentation: alias: add notes on shell expansion
415 - + Documentation: alias: rework notes into points
416 -
417 - Log the alias-expanded command lines to the trace output.
418 -
419 - Will merge to 'master'.
420 - source: <20240525234454.1489598-1-iwienand@redhat.com>
421 -
422 -
694 * ps/document-breaking-changes (2024-06-04) 4 commits
695 - BreakingChanges: document that we do not plan to deprecate git-checkout
696 - BreakingChanges: document removal of grafting
@@ -434,73 +705,29 @@ Release tarballs are available at:
705 source: <cover.1717504292.git.ps@pks.im>
706
707
437 -* ps/leakfixes (2024-05-27) 19 commits
438 - (merged to 'next' on 2024-05-29 at e75dcb3beb)
439 - + builtin/mv: fix leaks for submodule gitfile paths
440 - + builtin/mv: refactor to use `struct strvec`
441 - + builtin/mv duplicate string list memory
442 - + builtin/mv: refactor `add_slash()` to always return allocated strings
443 - + strvec: add functions to replace and remove strings
444 - + submodule: fix leaking memory for submodule entries
445 - + commit-reach: fix memory leak in `ahead_behind()`
446 - + builtin/credential: clear credential before exit
447 - + config: plug various memory leaks
448 - + config: clarify memory ownership in `git_config_string()`
449 - + builtin/log: stop using globals for format config
450 - + builtin/log: stop using globals for log config
451 - + convert: refactor code to clarify ownership of check_roundtrip_encoding
452 - + diff: refactor code to clarify memory ownership of prefixes
453 - + config: clarify memory ownership in `git_config_pathname()`
454 - + http: refactor code to clarify memory ownership
455 - + checkout: clarify memory ownership in `unique_tracking_name()`
456 - + strbuf: fix leak when `appendwholeline()` fails with EOF
457 - + transport-helper: fix leaking helper name
458 - (this branch is used by jk/imap-send-plug-all-msgs-leak, jk/leakfixes, jk/sparse-leakfix, ps/leakfixes-more and ps/no-writable-strings.)
459 -
460 - Leakfixes.
461 -
462 - Will merge to 'master'.
463 - source: <cover.1716810168.git.ps@pks.im>
464 -
465 -
708 * ps/ref-storage-migration (2024-06-06) 14 commits
467 - - builtin/refs: new command to migrate ref storage formats
468 - - refs: implement logic to migrate between ref storage formats
469 - - refs: implement removal of ref storages
470 - - worktree: don't store main worktree twice
471 - - reftable: inline `merged_table_release()`
472 - - refs/files: fix NULL pointer deref when releasing ref store
473 - - refs/files: extract function to iterate through root refs
474 - - refs/files: refactor `add_pseudoref_and_head_entries()`
475 - - refs: allow to skip creation of reflog entries
476 - - refs: pass storage format to `ref_store_init()` explicitly
477 - - refs: convert ref storage format to an enum
478 - - setup: unset ref storage when reinitializing repository version
709 + (merged to 'next' on 2024-06-10 at 81b46b6916)
710 + + builtin/refs: new command to migrate ref storage formats
711 + + refs: implement logic to migrate between ref storage formats
712 + + refs: implement removal of ref storages
713 + + worktree: don't store main worktree twice
714 + + reftable: inline `merged_table_release()`
715 + + refs/files: fix NULL pointer deref when releasing ref store
716 + + refs/files: extract function to iterate through root refs
717 + + refs/files: refactor `add_pseudoref_and_head_entries()`
718 + + refs: allow to skip creation of reflog entries
719 + + refs: pass storage format to `ref_store_init()` explicitly
720 + + refs: convert ref storage format to an enum
721 + + setup: unset ref storage when reinitializing repository version
722 + Merge branch 'ps/pseudo-ref-terminology' into ps/ref-storage-migration
723 + Merge branch 'ps/refs-without-the-repository-updates' into ps/ref-storage-migration
724 + (this branch is used by ps/use-the-repository.)
725
726 Allow migrating a repository that uses the files backend for its
727 ref storage to use the reftable backend, with limitations.
728
485 - Will merge to 'next'.
486 - source: <cover.1717649802.git.ps@pks.im>
487 -
488 -
489 -* tb/midx-write-cleanup (2024-05-30) 8 commits
490 - (merged to 'next' on 2024-05-31 at 03f3d27e4f)
491 - + pack-bitmap.c: reimplement `midx_bitmap_filename()` with helper
492 - + midx: replace `get_midx_rev_filename()` with a generic helper
493 - + midx-write.c: support reading an existing MIDX with `packs_to_include`
494 - + midx-write.c: extract `fill_packs_from_midx()`
495 - + midx-write.c: extract `should_include_pack()`
496 - + midx-write.c: pass `start_pack` to `compute_sorted_entries()`
497 - + midx-write.c: reduce argument count for `get_sorted_entries()`
498 - + midx-write.c: tolerate `--preferred-pack` without bitmaps
499 -
500 - Code clean-up around writing the .midx files.
501 -
729 Will merge to 'master'.
503 - source: <cover.1717023301.git.me@ttaylorr.com>
730 + source: <cover.1717649802.git.ps@pks.im>
731
732
733 * tb/pseudo-merge-reachability-bitmap (2024-05-24) 25 commits
@@ -530,26 +757,17 @@ Release tarballs are available at:
757 + Documentation/gitpacking.txt: describe pseudo-merge bitmaps
758 + Documentation/gitpacking.txt: initial commit
759 + Merge branch 'tb/pack-bitmap-write-cleanups' into tb/pseudo-merge-reachability-bitmap
760 + (this branch is used by tb/pseudo-merge-reachability-bitmap-fixes.)
761
762 The pseudo-merge reachability bitmap to help more efficient storage
535 - of the reachability bitmap in a repository with too many refs.
763 + of the reachability bitmap in a repository with too many refs has
764 + been added.
765
537 - Will merge to 'master'.
766 + On hold until we get comments on the follow-up topic.
767 source: <cover.1716499565.git.me@ttaylorr.com>
768
769
541 -* th/quiet-lazy-fetch-from-promisor (2024-05-26) 1 commit
542 - (merged to 'next' on 2024-05-29 at bb12492199)
543 - + promisor-remote: add promisor.quiet configuration option
544 -
545 - The promisor.quiet configuration knob can be set to true to make
546 - lazy fetching from promisor remotes silent.
547 -
548 - Will merge to 'master'.
549 - source: <20240525100927.2949808-1-tom@compton.nu>
550 -
551 -
552 -* kn/update-ref-symref (2024-06-05) 8 commits
770 +* kn/update-ref-symref (2024-06-07) 8 commits
771 - update-ref: add support for 'symref-update' command
772 - reftable: pick either 'oid' or 'target' for new updates
773 - update-ref: add support for 'symref-create' command
@@ -562,19 +780,8 @@ Release tarballs are available at:
780 "git update-ref --stdin" learned to handle transactional updates of
781 symbolic-refs.
782
565 - Expecting a reroll.
566 - cf. <CAOLa=ZSDRcsmBxje-EgdKNyXCh1OYc4vtzJZKmoHSs94fMxPtw@mail.gmail.com>
567 - source: <20240530120940.456817-1-knayak@gitlab.com>
568 -
569 -
570 -* mt/openindiana-scalar (2024-05-17) 1 commit
571 - (merged to 'next' on 2024-05-30 at 190d4465cf)
572 - + scalar: make enlistment delete to work on all POSIX platforms
573 -
574 - Avoid removing the $(cwd) for portability.
575 -
576 - Will merge to 'master'.
577 - source: <Zkds81OB7C5bTCl_@telcontar>
783 + Will merge to 'next'?
784 + source: <20240607133304.2333280-1-knayak@gitlab.com>
785
786
787 * ts/archive-prefix-with-add-virtual-file (2024-05-17) 1 commit
@@ -720,3 +927,18 @@ Release tarballs are available at:
927
928 Not ready to be reviewed yet.
929 source: <20230824205456.1231371-1-gitster@pobox.com>
930 +
931 +
932 +--------------------------------------------------
933 +[Discarded]
934 +
935 +* ps/ci-use-Og-in-some-jobs (2024-06-10) 2 commits
936 + . ci: compile "linux-gcc-default" job with -Og
937 + . Makefile: add ability to append to CFLAGS and LDFLAGS
938 +
939 + Compile with -Og, which is different from the usual -O2, in one CI
940 + job, to see if we can get more warning coverage.
941 +
942 + Discarded.
943 + False positives in "-Og -Wall -Werror" are too annoying.
944 + source: <cover.1718001244.git.ps@pks.im>