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>