What's cooking (2024/06 #09)
Junio C Hamano committed
Jun 28, 2024 at 17:17 UTC
0bc40cbe17491d13fd225772abce1c45360e259a
1 file changed
+391
-434
whats-cooking.txt
+391
-434
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
-Subject: What's cooking in git.git (Jun 2024, #08; Mon, 24)
3
-X-master-at: 1e1586e4ed626bde864339c10570bc0e73f0ab97
4
-X-next-at: ab0bdd149968b12afd2b3f9286d175ab2112b72f
2
+Subject: What's cooking in git.git (Jun 2024, #09; Fri, 28)
3
+X-master-at: 790a17fb19d6eadd16c52e5d284a5c6921744766
4
+X-next-at: a6f4998532677456b59359a9ed4ffb96862a90a1
5
Bcc: lwn@lwn.net, gitster@pobox.com
6
7
-What's cooking in git.git (Jun 2024, #08; Mon, 24)
7
+What's cooking in git.git (Jun 2024, #09; Fri, 28)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking in my tree. Commits
@@ -48,187 +48,12 @@ Release tarballs are available at:
48
--------------------------------------------------
49
[Graduated to 'master']
50
51
-* jc/add-i-retire-usebuiltin-config (2024-06-05) 1 commit
52
- (merged to 'next' on 2024-06-17 at e1fc71db3a)
53
- + add-i: finally retire add.interactive.useBuiltin
54
-
55
- For over a year, setting add.interactive.useBuiltin configuration
56
- variable did nothing but giving a "this does not do anything"
57
- warning. Finally remove it.
58
- source: <xmqqikynqdvq.fsf@gitster.g>
59
-
60
-
61
-* jc/no-default-attr-tree-in-bare (2024-06-05) 1 commit
62
- (merged to 'next' on 2024-06-17 at 6bfacc9102)
63
- + attr.tree: HEAD:.gitattributes is no longer the default in a bare repo
64
-
65
- Earlier we stopped using the tree of HEAD as the default source of
66
- attributes in a bare repository, but failed to document it. This
67
- has been corrected.
68
- source: <xmqqa5jzqd5k.fsf_-_@gitster.g>
69
-
70
-
71
-* jc/worktree-git-path (2024-06-08) 1 commit
72
- (merged to 'next' on 2024-06-17 at a87c318e45)
73
- + worktree_git_path(): move the declaration to path.h
74
-
75
- Code cleanup.
76
- source: <20240608183901.2084546-1-gitster@pobox.com>
77
-
78
-
79
-* kl/attr-read-attr-fromindex-msan-workaround (2024-06-17) 1 commit
80
- (merged to 'next' on 2024-06-18 at eebafb2d71)
81
- + attr: fix msan issue in read_attr_from_index
82
-
83
- Code clarification to avoid an appearance of using an uninitialized
84
- variable.
85
- source: <pull.1747.git.1718654424683.gitgitgadget@gmail.com>
86
-
87
-
88
-* tb/commit-graph-use-tempfile (2024-06-07) 2 commits
89
- (merged to 'next' on 2024-06-17 at e0baebe6b3)
90
- + server-info.c: remove temporary info files on exit
91
- + commit-graph.c: remove temporary graph layers on exit
92
-
93
- "git update-server-info" and "git commit-graph --write" have been
94
- updated to use the tempfile API to avoid leaving cruft after
95
- failing.
96
- source: <cover.1717712358.git.me@ttaylorr.com>
97
-
98
-
99
-* tb/precompose-getcwd (2024-05-31) 1 commit
100
- (merged to 'next' on 2024-06-17 at 7596abec9f)
101
- + macOS: ls-files path fails if path of workdir is NFD
102
-
103
- We forgot to normalize the result of getcwd() to NFC on macOS where
104
- all other paths are normalized, which has been corrected. This still
105
- does not address the case where core.precomposeUnicode configuration
106
- is not defined globally.
107
- source: <20240531193156.28046-1-tboegi@web.de>
108
-
109
-
110
-* tb/pseudo-merge-reachability-bitmap (2024-06-14) 27 commits
111
- (merged to 'next' on 2024-06-14 at 447d99e1c3)
112
- + pack-bitmap.c: ensure pseudo-merge offset reads are bounded
113
- + Documentation/technical/bitmap-format.txt: add missing position table
114
- (merged to 'next' on 2024-06-03 at fcaa39de12)
115
- + t/perf: implement performance tests for pseudo-merge bitmaps
116
- + pseudo-merge: implement support for finding existing merges
117
- + ewah: `bitmap_equals_ewah()`
118
- + pack-bitmap: extra trace2 information
119
- + pack-bitmap.c: use pseudo-merges during traversal
120
- + t/test-lib-functions.sh: support `--notick` in `test_commit_bulk()`
121
- + pack-bitmap: implement test helpers for pseudo-merge
122
- + ewah: implement `ewah_bitmap_popcount()`
123
- + pseudo-merge: implement support for reading pseudo-merge commits
124
- + pack-bitmap.c: read pseudo-merge extension
125
- + pseudo-merge: scaffolding for reads
126
- + pack-bitmap: extract `read_bitmap()` function
127
- + pack-bitmap-write.c: write pseudo-merge table
128
- + pseudo-merge: implement support for selecting pseudo-merge commits
129
- + config: introduce `git_config_double()`
130
- + pack-bitmap: make `bitmap_writer_push_bitmapped_commit()` public
131
- + pack-bitmap: implement `bitmap_writer_has_bitmapped_object_id()`
132
- + pack-bitmap-write: support storing pseudo-merge commits
133
- + pseudo-merge.ch: initial commit
134
- + pack-bitmap: move some initialization to `bitmap_writer_init()`
135
- + ewah: implement `ewah_bitmap_is_subset()`
136
- + Documentation/technical: describe pseudo-merge bitmaps format
137
- + Documentation/gitpacking.txt: describe pseudo-merge bitmaps
138
- + Documentation/gitpacking.txt: initial commit
139
- + Merge branch 'tb/pack-bitmap-write-cleanups' into tb/pseudo-merge-reachability-bitmap
140
-
141
- The pseudo-merge reachability bitmap to help more efficient storage
142
- of the reachability bitmap in a repository with too many refs has
143
- been added.
144
- source: <cover.1716499565.git.me@ttaylorr.com>
145
- source: <cover.1718392943.git.me@ttaylorr.com>
146
-
147
---------------------------------------------------
148
-[New Topics]
149
-
150
-* jc/patch-id (2024-06-21) 5 commits
151
- - patch-id: tighten code to detect the patch header
152
- - patch-id: rewrite code that detects the beginning of a patch
153
- - patch-id: make get_one_patchid() more extensible
154
- - patch-id: call flush_current_id() only when needed
155
- - t4204: patch-id supports various input format
156
-
157
- The patch parser in "git patch-id" has been tightened to avoid
158
- getting confused by lines that look like a patch header in the log
159
- message.
160
-
161
- Needs review.
162
- source: <20240621231826.3280338-1-gitster@pobox.com>
163
-
164
-
165
-* jc/fuzz-sans-curl (2024-06-21) 1 commit
166
- - fuzz: minimum fuzzers environment lacks libcURL
167
-
168
- CI job to build minimum fuzzers learned to pass NO_CURL=NoThanks to
169
- the build procedure, as its build environment does not offer, or
170
- the rest of the build needs, anything cURL.
171
-
172
- Will merge to 'next'.
173
- source: <xmqqwmmhimxx.fsf@gitster.g>
174
-
175
-
176
-* ew/object-convert-leakfix (2024-06-24) 1 commit
177
- - object-file: fix leak on conversion failure
178
-
179
- Leakfix.
180
-
181
- Will merge to 'next'.
182
- source: <20240622043648.M78681@dcvr>
183
-
184
-
185
-* rs/diff-color-moved-w-no-ext-diff-fix (2024-06-24) 1 commit
186
- - diff: allow --color-moved with --no-ext-diff
187
-
188
- "git diff --no-ext-diff" when diff.external is configured ignored
189
- the "--color-moved" option.
190
-
191
- Will merge to 'next'.
192
- source: <fee1815c-80bb-42a4-97f3-d3f8e9b3a6ca@web.de>
193
-
194
---------------------------------------------------
195
-[Cooking]
196
-
197
-* kz/merge-fail-early-upon-refresh-failure (2024-06-18) 1 commit
198
- (merged to 'next' on 2024-06-20 at 01d4bdd019)
199
- + merge: avoid write merge state when unable to write index
200
-
201
- When "git merge" sees that the index cannot be refreshed (e.g. due
202
- to another process doing the same in the background), it died but
203
- after writing MERGE_HEAD etc. files, which was useless for the
204
- purpose to recover from the failure.
205
-
206
- Will merge to 'master'.
207
- source: <pull.1731.v6.git.1718593717745.gitgitgadget@gmail.com>
208
-
209
-
210
-* ds/sparse-lstat-caching (2024-06-20) 5 commits
211
- - sparse-index: improve lstat caching of sparse paths
212
- - sparse-index: count lstat() calls
213
- - sparse-index: use strbuf in path_found()
214
- - sparse-index: refactor path_found()
215
- - sparse-index: refactor skip worktree retry logic
216
-
217
- The code to deal with modified paths that are out-of-cone in a
218
- sparsely checked out working tree has been optimized.
219
-
220
- Needs review.
221
- source: <pull.1754.git.1718899877.gitgitgadget@gmail.com>
222
-
223
-
51
* jk/fetch-pack-fsck-wo-lock-pack (2024-06-20) 1 commit
52
(merged to 'next' on 2024-06-20 at c8c41abe07)
53
+ fetch-pack: fix segfault when fscking without --lock-pack
54
55
"git fetch-pack -k -k" without passing "--lock-pack" (which we
56
never do ourselves) did not work at all, which has been corrected.
230
-
231
- Will merge to 'master'.
57
source: <20240619130256.GA228005@coredump.intra.peff.net>
58
59
@@ -238,8 +63,6 @@ Release tarballs are available at:
63
64
A helper function shared between two tests had a copy-paste bug,
65
which has been corrected.
241
-
242
- Will merge to 'master'.
66
source: <20240619125255.GA346466@coredump.intra.peff.net>
67
68
@@ -249,60 +72,77 @@ Release tarballs are available at:
72
73
An unused extern declaration for mingw has been removed to prevent
74
it from causing build failure.
252
-
253
- Will merge to 'master'.
75
source: <pull.1752.git.1718777398765.gitgitgadget@gmail.com>
76
77
257
-* rb/build-options-w-lib-versions (2024-06-21) 3 commits
258
- - version: teach --build-options to reports zlib version information
259
- - version: teach --build-options to reports libcurl version information
260
- (merged to 'next' on 2024-06-20 at b75df251ae)
261
- + version: --build-options reports OpenSSL version information
78
+* kz/merge-fail-early-upon-refresh-failure (2024-06-18) 1 commit
79
+ (merged to 'next' on 2024-06-20 at 01d4bdd019)
80
+ + merge: avoid write merge state when unable to write index
81
263
- "git version --build-options" reports the version information of
264
- OpenSSL and other libraries (if used) in the build.
82
+ When "git merge" sees that the index cannot be refreshed (e.g. due
83
+ to another process doing the same in the background), it died but
84
+ after writing MERGE_HEAD etc. files, which was useless for the
85
+ purpose to recover from the failure.
86
+ source: <pull.1731.v6.git.1718593717745.gitgitgadget@gmail.com>
87
266
- Will merge to 'next' and then to 'master'.
267
- source: <20240619172421.33548-1-randall.becker@nexbridge.ca>
268
- source: <20240621180947.64419-1-randall.becker@nexbridge.ca>
88
89
+* rs/remove-unused-find-header-mem (2024-06-20) 1 commit
90
+ (merged to 'next' on 2024-06-20 at 068c785d77)
91
+ + commit: remove find_header_mem()
92
271
-* rj/pager-die-upon-exec-failure (2024-06-21) 1 commit
272
- - pager: die when paging to non-existing command
93
+ Code clean-up.
94
+ source: <0d85712c-5beb-4a64-a7f4-797782c26694@web.de>
95
+
96
+--------------------------------------------------
97
+[New Topics]
98
+
99
+* ss/doc-eol-attr-fix (2024-06-24) 1 commit
100
+ (merged to 'next' on 2024-06-26 at 6b96672a5f)
101
+ + doc: fix case error of eol attribute in example
102
+
103
+ Doc update.
104
+
105
+ Will merge to 'master'.
106
+ source: <pull.1736.git.git.1719178817386.gitgitgadget@gmail.com>
107
274
- When GIT_PAGER failed to spawn, depending on the code path taken,
275
- we failed immediately (correct) or just spew the payload to the
276
- standard output (incorrect). The code now always fail immediately
277
- when GIT_PAGER fails.
108
+
109
+* as/describe-broken-refresh-index-fix (2024-06-26) 1 commit
110
+ - describe: refresh the index when 'broken' flag is used
111
+
112
+ "git describe --dirty --broken" forgot to refresh the index before
113
+ seeing if there is any chang, ("git describe --dirty" correctly did
114
+ so), which has been corrected.
115
116
Will merge to 'next'?
280
- source: <0df06a80-723f-4ad7-9f2e-74c8fb5b8283@gmail.com>
117
+ source: <20240626190801.68472-1-abhijeet.nkt@gmail.com>
118
119
283
-* rs/remove-unused-find-header-mem (2024-06-20) 1 commit
284
- (merged to 'next' on 2024-06-20 at 068c785d77)
285
- + commit: remove find_header_mem()
120
+* cb/send-email-sanitize-trailer-addresses (2024-06-28) 1 commit
121
+ - git-send-email: Use sanitized address when reading mbox body
122
287
- Code clean-up.
123
+ Address-looking strings found on the trailer are now placed on the
124
+ Cc: list after running through sanitize_address.
125
289
- Will merge to 'master'.
290
- source: <0d85712c-5beb-4a64-a7f4-797782c26694@web.de>
126
+ Expecting a hopefully small and final reroll.
127
+ cf. <xmqq1q4g3lwh.fsf@gitster.g>
128
+ source: <20240628085018.65076-2-csokas.bence@prolan.hu>
129
130
293
-* ew/cat-file-unbuffered-tests (2024-06-20) 2 commits
294
- (merged to 'next' on 2024-06-24 at d605297495)
295
- + t1006: ensure cat-file info isn't buffered by default
296
- + Git.pm: use array in command_bidi_pipe example
131
+* jk/tests-without-dns (2024-06-26) 3 commits
132
+ - t/lib-bundle-uri: use local fake bundle URLs
133
+ - t5551: do not confirm that bogus url cannot be used
134
+ - t5553: use local url for invalid fetch
135
298
- The output from "git cat-file --batch-check" and "--batch-command
299
- (info)" should not be unbuffered, for which some tests have been
300
- added.
136
+ source: <20240626205355.GA1009060@coredump.intra.peff.net>
137
302
- Will merge to 'master'.
303
- source: <20240617104326.3522535-1-e@80x24.org>
304
- source: <20240618213041.M462972@dcvr>
138
139
+* bc/http-proactive-auth (2024-06-28) 1 commit
140
+ - http: allow authenticating proactively
141
+
142
+ source: <20240628002742.3421311-2-sandals@crustytoothpaste.net>
143
+
144
+--------------------------------------------------
145
+[Stalled]
146
147
* cp/unit-test-reftable-tree (2024-06-13) 5 commits
148
- t-reftable-tree: improve the test for infix_walk()
@@ -318,69 +158,25 @@ Release tarballs are available at:
158
source: <20240612130217.8877-1-chandrapratap3519@gmail.com>
159
160
321
-* ps/use-the-repository (2024-06-14) 22 commits
322
- (merged to 'next' on 2024-06-24 at ca97784ba8)
323
- + hex: guard declarations with `USE_THE_REPOSITORY_VARIABLE`
324
- + t/helper: remove dependency on `the_repository` in "proc-receive"
325
- + t/helper: fix segfault in "oid-array" command without repository
326
- + t/helper: use correct object hash in partial-clone helper
327
- + compat/fsmonitor: fix socket path in networked SHA256 repos
328
- + replace-object: use hash algorithm from passed-in repository
329
- + protocol-caps: use hash algorithm from passed-in repository
330
- + oidset: pass hash algorithm when parsing file
331
- + http-fetch: don't crash when parsing packfile without a repo
332
- + hash-ll: merge with "hash.h"
333
- + refs: avoid include cycle with "repository.h"
334
- + global: introduce `USE_THE_REPOSITORY_VARIABLE` macro
335
- + hash: require hash algorithm in `empty_tree_oid_hex()`
336
- + hash: require hash algorithm in `is_empty_{blob,tree}_oid()`
337
- + hash: make `is_null_oid()` independent of `the_repository`
338
- + hash: convert `oidcmp()` and `oideq()` to compare whole hash
339
- + global: ensure that object IDs are always padded
340
- + hash: require hash algorithm in `oidread()` and `oidclr()`
341
- + hash: require hash algorithm in `hasheq()`, `hashcmp()` and `hashclr()`
342
- + hash: drop (mostly) unused `is_empty_{blob,tree}_sha1()` functions
343
- + Merge branch 'gt/unit-test-oidtree' into ps/use-the-repository
344
- + Merge branch 'ps/ref-storage-migration' into ps/use-the-repository
345
-
346
- A CPP macro USE_THE_REPOSITORY_VARIABLE is introduced to help
347
- transition the codebase to rely less on the availability of the
348
- singleton the_repository instance.
349
-
350
- Will merge to 'master'.
351
- source: <cover.1718347699.git.ps@pks.im>
352
-
353
-
354
-* sj/ref-fsck (2024-06-20) 7 commits
355
- - fsck: add ref content check for files backend
356
- - fsck: add ref name check for files backend
357
- - files-backend: add unified interface for refs scanning
358
- - builtin/fsck: add `git-refs verify` child process
359
- - builtin/refs: add verify subcommand
360
- - refs: set up ref consistency check infrastructure
361
- - fsck: add refs check interfaces to interact with fsck error levels
161
+* sj/ref-fsck (2024-06-27) 12 commits
162
+ . fsck: add ref content check for files backend
163
+ . fsck: add ref name check for files backend
164
+ . files-backend: add unified interface for refs scanning
165
+ . builtin/fsck: add `git-refs verify` child process
166
+ . builtin/refs: add verify subcommand
167
+ . refs: set up ref consistency check infrastructure
168
+ . fsck: add "fsck_refs_options" initialization macros
169
+ . fsck: add a unified interface for reporting fsck messages
170
+ . fsck: add "fsck_refs_options" struct
171
+ . fsck: abstract common options for reusing
172
+ . fsck: use "fsck_configs" to set up configs
173
+ . fsck: rename "fsck_options" to "fsck_objects_options"
174
175
"git fsck" infrastructure has been taught to also check the sanity
176
of the ref database, in addition to the object database.
177
178
Needs review.
367
- source: <ZnKKy52QFO2UhqM6@ArchLinux>
368
-
369
-
370
-* en/ort-inner-merge-error-fix (2024-06-20) 7 commits
371
- - merge-ort: convert more error() cases to path_msg()
372
- - merge-ort: upon merge abort, only show messages causing the abort
373
- - merge-ort: loosen commented requirements
374
- - merge-ort: clearer propagation of failure-to-function from merge_submodule
375
- - merge-ort: fix type of local 'clean' var in handle_content_merge ()
376
- - merge-ort: maintain expected invariant for priv member
377
- - merge-ort: extract handling of priv member into reusable function
378
-
379
- The "ort" merge backend saw one bugfix for a crash that happens
380
- when inner merge gets killed, and assorted code clean-ups.
381
-
382
- Needs review.
383
- source: <pull.1748.v2.git.1718766019.gitgitgadget@gmail.com>
179
+ source: <Zn2Ah3WDhtOmzrzn@ArchLinux>
180
181
182
* cp/unit-test-reftable-pq (2024-06-14) 7 commits
@@ -399,53 +195,6 @@ Release tarballs are available at:
195
source: <20240614095136.12052-1-chandrapratap3519@gmail.com>
196
197
402
-* jc/archive-prefix-with-add-virtual-file (2024-06-14) 1 commit
403
- - archive: document that --add-virtual-file takes full path
404
-
405
- "git archive --add-virtual-file=<path>:<contents>" never paid
406
- attention to the --prefix=<prefix> option but the documentation
407
- said it would. The documentation has been corrected.
408
-
409
- Waiting for comments.
410
- source: <xmqq5xubfjuu.fsf_-_@gitster.g>
411
-
412
-
413
-* jk/remote-wo-url (2024-06-14) 11 commits
414
- - remote: drop checks for zero-url case
415
- - remote: always require at least one url in a remote
416
- - t5801: test remote.*.vcs config
417
- - t5801: make remote-testgit GIT_DIR setup more robust
418
- - remote: allow resetting url list
419
- - config: document remote.*.url/pushurl interaction
420
- - remote: simplify url/pushurl selection
421
- - remote: use strvecs to store remote url/pushurl
422
- - remote: transfer ownership of memory in add_url(), etc
423
- - remote: refactor alias_url() memory ownership
424
- - archive: fix check for missing url
425
-
426
- Memory ownership rules for the in-core representation of
427
- remote.*.url configuration values have been straightened out, which
428
- resulted in a few leak fixes and code clarification.
429
-
430
- Waiting for comments.
431
- source: <20240614102439.GA222287@coredump.intra.peff.net>
432
-
433
-
434
-* db/date-underflow-fix (2024-06-13) 4 commits
435
- - SQUASH??? skip "near the end-of-git-time" tests on 32-bit systems
436
- - SQUASH??? t0006: simplify prerequisite
437
- - SQUASH??? the git-end-of-time is beyond time_t on 32-bit systems
438
- - date: detect underflow/overflow when parsing dates with timezone offset
439
-
440
- date parser updates to be more careful about underflowing epoch
441
- based timestamp.
442
-
443
- Expecting a reroll.
444
- cf. <xmqq1q58ejnw.fsf@gitster.g>
445
- cf. <xmqqtthzrraw.fsf@gitster.g>
446
- source: <pull.1726.v3.git.git.1717719428510.gitgitgadget@gmail.com>
447
-
448
-
198
* tb/incremental-midx-part-1 (2024-06-07) 19 commits
199
- midx: implement support for writing incremental MIDX chains
200
- t/t5313-pack-bounds-checks.sh: prepare for sub-directories
@@ -495,61 +244,10 @@ Release tarballs are available at:
244
"git mktree" has been rewritten, taking advantage of the cache-tree
245
API.
246
498
- Needs review.
247
+ Will merge to 'next'.
248
source: <pull.1746.v2.git.1718834285.gitgitgadget@gmail.com>
249
250
502
-* xx/bundie-uri-fixes (2024-06-20) 3 commits
503
- - unbundle: extend object verification for fetches
504
- - fetch-pack: expose fsckObjects configuration logic
505
- - bundle-uri: verify oid before writing refs
506
-
507
- When bundleURI interface fetches multiple bundles, Git failed to
508
- take full advantage of all bundles and ended up slurping duplicated
509
- objects.
510
-
511
- Will merge to 'next'?
512
- source: <pull.1730.v8.git.1718770053.gitgitgadget@gmail.com>
513
-
514
-
515
-* ps/leakfixes-more (2024-06-11) 30 commits
516
- - builtin/blame: fix leaking ignore revs files
517
- - builtin/blame: fix leaking prefixed paths
518
- - blame: fix leaking data for blame scoreboards
519
- - line-range: plug leaking find functions
520
- - merge: fix leaking merge bases
521
- - builtin/merge: fix leaking `struct cmdnames` in `get_strategy()`
522
- - sequencer: fix memory leaks in `make_script_with_merges()`
523
- - builtin/clone: plug leaking HEAD ref in `wanted_peer_refs()`
524
- - apply: fix leaking string in `match_fragment()`
525
- - sequencer: fix leaking string buffer in `commit_staged_changes()`
526
- - commit: fix leaking parents when calling `commit_tree_extended()`
527
- - config: fix leaking "core.notesref" variable
528
- - rerere: fix various trivial leaks
529
- - builtin/stash: fix leak in `show_stash()`
530
- - revision: free diff options
531
- - builtin/log: fix leaking commit list in git-cherry(1)
532
- - merge-recursive: fix memory leak when finalizing merge
533
- - builtin/merge-recursive: fix leaking object ID bases
534
- - builtin/difftool: plug memory leaks in `run_dir_diff()`
535
- - object-name: free leaking object contexts
536
- - builtin/rev-list: fix leaking bitmap index when calculating disk usage
537
- - notes: fix memory leak when pruning notes
538
- - revision: fix leaking display notes
539
- - merge-recursive: fix leaking rename conflict info
540
- - biultin/rev-parse: fix memory leaks in `--parseopt` mode
541
- - bundle: plug leaks in `create_bundle()`
542
- - notes-utils: free note trees when releasing copied notes
543
- - parse-options: fix leaks for users of OPT_FILENAME
544
- - revision: fix memory leak when reversing revisions
545
- - Merge branch 'ps/leakfixes' into ps/leakfixes-more
546
-
547
- More memory leaks have been plugged.
548
-
549
- Needs review.
550
- source: <cover.1718095906.git.ps@pks.im>
551
-
552
-
251
* pp/add-parse-range-unit-test (2024-05-27) 1 commit
252
- apply: add unit tests for parse_range
253
@@ -561,19 +259,6 @@ Release tarballs are available at:
259
source: <pull.1677.v2.git.git.1716710073910.gitgitgadget@gmail.com>
260
261
564
-* ie/config-includeif-hostname (2024-03-19) 2 commits
565
- - config: learn the "hostname:" includeIf condition
566
- - t: add a test helper for getting hostname
567
-
568
- The conditional inclusion mechanism for configuration files learned
569
- to switch on the hostname.
570
-
571
- Expecting a reroll.
572
- cf. <20240319210428.GC1159535@coredump.intra.peff.net>
573
- cf. <20240320001934.GA903718@coredump.intra.peff.net>
574
- source: <20240319183722.211300-1-ignacio@iencinas.com>
575
-
576
-
262
* cw/git-std-lib (2024-02-28) 4 commits
263
. SQUASH??? get rid of apparent debugging crufts
264
. test-stdlib: show that git-std-lib is independent
@@ -585,69 +270,291 @@ Release tarballs are available at:
270
Expecting a reroll.
271
source: <cover.1696021277.git.jonathantanmy@google.com>
272
273
+--------------------------------------------------
274
+[Cooking]
275
589
-* bk/complete-dirname-for-am-and-format-patch (2024-01-12) 1 commit
590
- - completion: dir-type optargs for am, format-patch
276
+* ps/leakfixes-more (2024-06-11) 30 commits
277
+ (merged to 'next' on 2024-06-27 at 9550a05068)
278
+ + builtin/blame: fix leaking ignore revs files
279
+ + builtin/blame: fix leaking prefixed paths
280
+ + blame: fix leaking data for blame scoreboards
281
+ + line-range: plug leaking find functions
282
+ + merge: fix leaking merge bases
283
+ + builtin/merge: fix leaking `struct cmdnames` in `get_strategy()`
284
+ + sequencer: fix memory leaks in `make_script_with_merges()`
285
+ + builtin/clone: plug leaking HEAD ref in `wanted_peer_refs()`
286
+ + apply: fix leaking string in `match_fragment()`
287
+ + sequencer: fix leaking string buffer in `commit_staged_changes()`
288
+ + commit: fix leaking parents when calling `commit_tree_extended()`
289
+ + config: fix leaking "core.notesref" variable
290
+ + rerere: fix various trivial leaks
291
+ + builtin/stash: fix leak in `show_stash()`
292
+ + revision: free diff options
293
+ + builtin/log: fix leaking commit list in git-cherry(1)
294
+ + merge-recursive: fix memory leak when finalizing merge
295
+ + builtin/merge-recursive: fix leaking object ID bases
296
+ + builtin/difftool: plug memory leaks in `run_dir_diff()`
297
+ + object-name: free leaking object contexts
298
+ + builtin/rev-list: fix leaking bitmap index when calculating disk usage
299
+ + notes: fix memory leak when pruning notes
300
+ + revision: fix leaking display notes
301
+ + merge-recursive: fix leaking rename conflict info
302
+ + biultin/rev-parse: fix memory leaks in `--parseopt` mode
303
+ + bundle: plug leaks in `create_bundle()`
304
+ + notes-utils: free note trees when releasing copied notes
305
+ + parse-options: fix leaks for users of OPT_FILENAME
306
+ + revision: fix memory leak when reversing revisions
307
+ + Merge branch 'ps/leakfixes' into ps/leakfixes-more
308
592
- Command line completion support (in contrib/) has been
593
- updated for a few commands to complete directory names where a
594
- directory name is expected.
309
+ More memory leaks have been plugged.
310
596
- Expecting a reroll.
597
- cf. <40c3a824-a961-490b-94d4-4eb23c8f713d@gmail.com>
598
- cf. <6683f24e-7e56-489d-be2d-8afe1fc38d2b@gmail.com>
599
- source: <d37781c3-6af2-409b-95a8-660a9b92d20b@smtp-relay.sendinblue.com>
311
+ Will merge to 'master'.
312
+ cf. <CAOLa=ZRBrR5X1bQFAEqM3Ovx5G=J9aqdyD2XKrGT9s6j1jEnnQ@mail.gmail.com>
313
+ source: <cover.1718095906.git.ps@pks.im>
314
315
602
-* bk/complete-send-email (2024-01-12) 1 commit
603
- - completion: don't complete revs when --no-format-patch
316
+* db/date-underflow-fix (2024-06-25) 2 commits
317
+ (merged to 'next' on 2024-06-26 at 8074493d4e)
318
+ + date: detect underflow/overflow when parsing dates with timezone offset
319
+ + t0006: simplify prerequisites
320
605
- Command line completion support (in contrib/) has been taught to
606
- avoid offering revision names as candidates to "git send-email" when
607
- the command is used to send pre-generated files.
321
+ date parser updates to be more careful about underflowing epoch
322
+ based timestamp.
323
609
- Expecting a reroll.
610
- cf. <CAC4O8c88Z3ZqxH2VVaNPpEGB3moL5dJcg3cOWuLWwQ_hLrJMtA@mail.gmail.com>
611
- source: <a718b5ee-afb0-44bd-a299-3208fac43506@smtp-relay.sendinblue.com>
324
+ Will merge to 'master'.
325
+ source: <20240625231248.4070257-1-gitster@pobox.com>
326
327
614
-* tb/path-filter-fix (2024-01-31) 16 commits
615
- - bloom: introduce `deinit_bloom_filters()`
616
- - commit-graph: reuse existing Bloom filters where possible
617
- - object.h: fix mis-aligned flag bits table
618
- - commit-graph: new Bloom filter version that fixes murmur3
619
- - commit-graph: unconditionally load Bloom filters
620
- - bloom: prepare to discard incompatible Bloom filters
621
- - bloom: annotate filters with hash version
622
- - repo-settings: introduce commitgraph.changedPathsVersion
623
- - t4216: test changed path filters with high bit paths
624
- - t/helper/test-read-graph: implement `bloom-filters` mode
625
- - bloom.h: make `load_bloom_filter_from_graph()` public
626
- - t/helper/test-read-graph.c: extract `dump_graph_info()`
627
- - gitformat-commit-graph: describe version 2 of BDAT
628
- - commit-graph: ensure Bloom filters are read with consistent settings
629
- - revision.c: consult Bloom filters for root commits
630
- - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`
328
+* jk/remote-wo-url (2024-06-14) 11 commits
329
+ (merged to 'next' on 2024-06-25 at f2b75a3507)
330
+ + remote: drop checks for zero-url case
331
+ + remote: always require at least one url in a remote
332
+ + t5801: test remote.*.vcs config
333
+ + t5801: make remote-testgit GIT_DIR setup more robust
334
+ + remote: allow resetting url list
335
+ + config: document remote.*.url/pushurl interaction
336
+ + remote: simplify url/pushurl selection
337
+ + remote: use strvecs to store remote url/pushurl
338
+ + remote: transfer ownership of memory in add_url(), etc
339
+ + remote: refactor alias_url() memory ownership
340
+ + archive: fix check for missing url
341
632
- The Bloom filter used for path limited history traversal was broken
633
- on systems whose "char" is unsigned; update the implementation and
634
- bump the format version to 2.
342
+ Memory ownership rules for the in-core representation of
343
+ remote.*.url configuration values have been straightened out, which
344
+ resulted in a few leak fixes and code clarification.
345
636
- Waiting for a final ack?
637
- cf. <ZcFjkfbsBfk7JQIH@nand.local>
638
- source: <cover.1706741516.git.me@ttaylorr.com>
346
+ Will merge to 'master'.
347
+ source: <20240614102439.GA222287@coredump.intra.peff.net>
348
349
641
-* jc/rerere-cleanup (2023-08-25) 4 commits
642
- - rerere: modernize use of empty strbuf
643
- - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
644
- - rerere: fix comment on handle_file() helper
645
- - rerere: simplify check_one_conflict() helper function
350
+* jc/archive-prefix-with-add-virtual-file (2024-06-26) 1 commit
351
+ (merged to 'next' on 2024-06-26 at da3ae88d56)
352
+ + archive: document that --add-virtual-file takes full path
353
647
- Code clean-up.
354
+ "git archive --add-virtual-file=<path>:<contents>" never paid
355
+ attention to the --prefix=<prefix> option but the documentation
356
+ said it would. The documentation has been corrected.
357
+
358
+ Will merge to 'master'.
359
+ source: <xmqq5xubfjuu.fsf_-_@gitster.g>
360
+
361
+
362
+* jc/patch-id (2024-06-21) 5 commits
363
+ - patch-id: tighten code to detect the patch header
364
+ - patch-id: rewrite code that detects the beginning of a patch
365
+ - patch-id: make get_one_patchid() more extensible
366
+ - patch-id: call flush_current_id() only when needed
367
+ - t4204: patch-id supports various input format
368
+
369
+ The patch parser in "git patch-id" has been tightened to avoid
370
+ getting confused by lines that look like a patch header in the log
371
+ message.
372
+
373
+ Needs review.
374
+ source: <20240621231826.3280338-1-gitster@pobox.com>
375
+
376
+
377
+* jc/fuzz-sans-curl (2024-06-21) 1 commit
378
+ (merged to 'next' on 2024-06-25 at 80f85c6e4c)
379
+ + fuzz: minimum fuzzers environment lacks libcURL
380
+
381
+ CI job to build minimum fuzzers learned to pass NO_CURL=NoThanks to
382
+ the build procedure, as its build environment does not offer, or
383
+ the rest of the build needs, anything cURL.
384
+
385
+ Will merge to 'master'.
386
+ source: <xmqqwmmhimxx.fsf@gitster.g>
387
+
388
+
389
+* ew/object-convert-leakfix (2024-06-24) 1 commit
390
+ (merged to 'next' on 2024-06-25 at f87bf4a18f)
391
+ + object-file: fix leak on conversion failure
392
+
393
+ Leakfix.
394
+
395
+ Will merge to 'master'.
396
+ source: <20240622043648.M78681@dcvr>
397
+
398
+
399
+* rs/diff-color-moved-w-no-ext-diff-fix (2024-06-24) 1 commit
400
+ (merged to 'next' on 2024-06-25 at 73f48ab9a9)
401
+ + diff: allow --color-moved with --no-ext-diff
402
+
403
+ "git diff --no-ext-diff" when diff.external is configured ignored
404
+ the "--color-moved" option.
405
+
406
+ Will merge to 'master'.
407
+ source: <fee1815c-80bb-42a4-97f3-d3f8e9b3a6ca@web.de>
408
+
409
+
410
+* ds/sparse-lstat-caching (2024-06-28) 5 commits
411
+ (merged to 'next' on 2024-06-28 at 9efaea181d)
412
+ + sparse-index: improve lstat caching of sparse paths
413
+ + sparse-index: count lstat() calls
414
+ + sparse-index: use strbuf in path_found()
415
+ + sparse-index: refactor path_found()
416
+ + sparse-checkout: refactor skip worktree retry logic
417
+
418
+ The code to deal with modified paths that are out-of-cone in a
419
+ sparsely checked out working tree has been optimized.
420
+
421
+ Will merge to 'master'.
422
+ cf. <CABPp-BFd7Bk68Omdao5LS0sP5bK1WQ7V6dodB5x8EsncNARxNA@mail.gmail.com>
423
+ source: <pull.1754.v3.git.1719578605.gitgitgadget@gmail.com>
424
+
425
+
426
+* rb/build-options-w-lib-versions (2024-06-21) 3 commits
427
+ (merged to 'next' on 2024-06-25 at e20656d61f)
428
+ + version: teach --build-options to reports zlib version information
429
+ + version: teach --build-options to reports libcurl version information
430
+ (merged to 'next' on 2024-06-20 at b75df251ae)
431
+ + version: --build-options reports OpenSSL version information
432
+
433
+ "git version --build-options" reports the version information of
434
+ OpenSSL and other libraries (if used) in the build.
435
+
436
+ Will merge to 'master'.
437
+ source: <20240619172421.33548-1-randall.becker@nexbridge.ca>
438
+ source: <20240621180947.64419-1-randall.becker@nexbridge.ca>
439
+
440
+
441
+* rj/pager-die-upon-exec-failure (2024-06-25) 1 commit
442
+ (merged to 'next' on 2024-06-26 at bfb6361ca8)
443
+ + pager: die when paging to non-existing command
444
+
445
+ When GIT_PAGER failed to spawn, depending on the code path taken,
446
+ we failed immediately (correct) or just spew the payload to the
447
+ standard output (incorrect). The code now always fail immediately
448
+ when GIT_PAGER fails.
449
+
450
+ Will merge to 'master'.
451
+ source: <392deded-9eb2-42fa-b6f9-54c22d3ffd33@gmail.com>
452
649
- Not ready to be reviewed yet.
650
- source: <20230824205456.1231371-1-gitster@pobox.com>
453
+
454
+* ew/cat-file-unbuffered-tests (2024-06-20) 2 commits
455
+ (merged to 'next' on 2024-06-24 at d605297495)
456
+ + t1006: ensure cat-file info isn't buffered by default
457
+ + Git.pm: use array in command_bidi_pipe example
458
+
459
+ The output from "git cat-file --batch-check" and "--batch-command
460
+ (info)" should not be unbuffered, for which some tests have been
461
+ added.
462
+
463
+ Will merge to 'master'.
464
+ source: <20240617104326.3522535-1-e@80x24.org>
465
+ source: <20240618213041.M462972@dcvr>
466
+
467
+
468
+* ps/use-the-repository (2024-06-14) 22 commits
469
+ (merged to 'next' on 2024-06-24 at ca97784ba8)
470
+ + hex: guard declarations with `USE_THE_REPOSITORY_VARIABLE`
471
+ + t/helper: remove dependency on `the_repository` in "proc-receive"
472
+ + t/helper: fix segfault in "oid-array" command without repository
473
+ + t/helper: use correct object hash in partial-clone helper
474
+ + compat/fsmonitor: fix socket path in networked SHA256 repos
475
+ + replace-object: use hash algorithm from passed-in repository
476
+ + protocol-caps: use hash algorithm from passed-in repository
477
+ + oidset: pass hash algorithm when parsing file
478
+ + http-fetch: don't crash when parsing packfile without a repo
479
+ + hash-ll: merge with "hash.h"
480
+ + refs: avoid include cycle with "repository.h"
481
+ + global: introduce `USE_THE_REPOSITORY_VARIABLE` macro
482
+ + hash: require hash algorithm in `empty_tree_oid_hex()`
483
+ + hash: require hash algorithm in `is_empty_{blob,tree}_oid()`
484
+ + hash: make `is_null_oid()` independent of `the_repository`
485
+ + hash: convert `oidcmp()` and `oideq()` to compare whole hash
486
+ + global: ensure that object IDs are always padded
487
+ + hash: require hash algorithm in `oidread()` and `oidclr()`
488
+ + hash: require hash algorithm in `hasheq()`, `hashcmp()` and `hashclr()`
489
+ + hash: drop (mostly) unused `is_empty_{blob,tree}_sha1()` functions
490
+ + Merge branch 'gt/unit-test-oidtree' into ps/use-the-repository
491
+ + Merge branch 'ps/ref-storage-migration' into ps/use-the-repository
492
+
493
+ A CPP macro USE_THE_REPOSITORY_VARIABLE is introduced to help
494
+ transition the codebase to rely less on the availability of the
495
+ singleton the_repository instance.
496
+
497
+ Will merge to 'master'.
498
+ source: <cover.1718347699.git.ps@pks.im>
499
+
500
+
501
+* en/ort-inner-merge-error-fix (2024-06-20) 7 commits
502
+ (merged to 'next' on 2024-06-28 at a85fe270e6)
503
+ + merge-ort: convert more error() cases to path_msg()
504
+ + merge-ort: upon merge abort, only show messages causing the abort
505
+ + merge-ort: loosen commented requirements
506
+ + merge-ort: clearer propagation of failure-to-function from merge_submodule
507
+ + merge-ort: fix type of local 'clean' var in handle_content_merge ()
508
+ + merge-ort: maintain expected invariant for priv member
509
+ + merge-ort: extract handling of priv member into reusable function
510
+
511
+ The "ort" merge backend saw one bugfix for a crash that happens
512
+ when inner merge gets killed, and assorted code clean-ups.
513
+
514
+ Will merge to 'master'.
515
+ cf. <3f1e155f-f559-42ac-9454-8ddcf7873f48@gmail.com>
516
+ source: <pull.1748.v2.git.1718766019.gitgitgadget@gmail.com>
517
+
518
+
519
+* xx/bundie-uri-fixes (2024-06-20) 3 commits
520
+ (merged to 'next' on 2024-06-27 at 2045d9dbc2)
521
+ + unbundle: extend object verification for fetches
522
+ + fetch-pack: expose fsckObjects configuration logic
523
+ + bundle-uri: verify oid before writing refs
524
+
525
+ When bundleURI interface fetches multiple bundles, Git failed to
526
+ take full advantage of all bundles and ended up slurping duplicated
527
+ objects.
528
+
529
+ Will merge to 'master'.
530
+ source: <pull.1730.v8.git.1718770053.gitgitgadget@gmail.com>
531
+
532
+
533
+* tb/path-filter-fix (2024-06-25) 16 commits
534
+ (merged to 'next' on 2024-06-27 at a82d734201)
535
+ + bloom: introduce `deinit_bloom_filters()`
536
+ + commit-graph: reuse existing Bloom filters where possible
537
+ + object.h: fix mis-aligned flag bits table
538
+ + commit-graph: new Bloom filter version that fixes murmur3
539
+ + commit-graph: unconditionally load Bloom filters
540
+ + bloom: prepare to discard incompatible Bloom filters
541
+ + bloom: annotate filters with hash version
542
+ + repo-settings: introduce commitgraph.changedPathsVersion
543
+ + t4216: test changed path filters with high bit paths
544
+ + t/helper/test-read-graph: implement `bloom-filters` mode
545
+ + bloom.h: make `load_bloom_filter_from_graph()` public
546
+ + t/helper/test-read-graph.c: extract `dump_graph_info()`
547
+ + gitformat-commit-graph: describe version 2 of BDAT
548
+ + commit-graph: ensure Bloom filters are read with consistent settings
549
+ + revision.c: consult Bloom filters for root commits
550
+ + t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`
551
+
552
+ The Bloom filter used for path limited history traversal was broken
553
+ on systems whose "char" is unsigned; update the implementation and
554
+ bump the format version to 2.
555
+
556
+ Will merge to 'master'.
557
+ source: <cover.1719333276.git.me@ttaylorr.com>
558
559
--------------------------------------------------
560
[Discarded]
@@ -665,3 +572,53 @@ Release tarballs are available at:
572
573
Expecting a reroll to work well with jk/am-retry
574
source: <1ef0ac3a-3be5-4fc2-93f8-46610f3d1880@gmail.com>
575
+
576
+
577
+* jc/rerere-cleanup (2023-08-25) 4 commits
578
+ . rerere: modernize use of empty strbuf
579
+ . rerere: try_merge() should use LL_MERGE_ERROR when it means an error
580
+ . rerere: fix comment on handle_file() helper
581
+ . rerere: simplify check_one_conflict() helper function
582
+
583
+ Code clean-up.
584
+
585
+ Discarded.
586
+ source: <20230824205456.1231371-1-gitster@pobox.com>
587
+
588
+
589
+* ie/config-includeif-hostname (2024-03-19) 2 commits
590
+ . config: learn the "hostname:" includeIf condition
591
+ . t: add a test helper for getting hostname
592
+
593
+ The conditional inclusion mechanism for configuration files learned
594
+ to switch on the hostname.
595
+
596
+ Has been in the "Expecting a reroll." state for too long.
597
+ cf. <20240319210428.GC1159535@coredump.intra.peff.net>
598
+ cf. <20240320001934.GA903718@coredump.intra.peff.net>
599
+ source: <20240319183722.211300-1-ignacio@iencinas.com>
600
+
601
+
602
+* bk/complete-dirname-for-am-and-format-patch (2024-01-12) 1 commit
603
+ . completion: dir-type optargs for am, format-patch
604
+
605
+ Command line completion support (in contrib/) has been
606
+ updated for a few commands to complete directory names where a
607
+ directory name is expected.
608
+
609
+ Has been in the "Expecting a reroll." state for too long.
610
+ cf. <40c3a824-a961-490b-94d4-4eb23c8f713d@gmail.com>
611
+ cf. <6683f24e-7e56-489d-be2d-8afe1fc38d2b@gmail.com>
612
+ source: <d37781c3-6af2-409b-95a8-660a9b92d20b@smtp-relay.sendinblue.com>
613
+
614
+
615
+* bk/complete-send-email (2024-01-12) 1 commit
616
+ . completion: don't complete revs when --no-format-patch
617
+
618
+ Command line completion support (in contrib/) has been taught to
619
+ avoid offering revision names as candidates to "git send-email" when
620
+ the command is used to send pre-generated files.
621
+
622
+ Has been in the "Expecting a reroll." state for too long.
623
+ cf. <CAC4O8c88Z3ZqxH2VVaNPpEGB3moL5dJcg3cOWuLWwQ_hLrJMtA@mail.gmail.com>
624
+ source: <a718b5ee-afb0-44bd-a299-3208fac43506@smtp-relay.sendinblue.com>