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>