What's cooking (2023/06 #05)

Junio C Hamano committed Jun 20, 2023 at 16:31 UTC c54a1591f31364ab0a686d30947f4defdc4516ac
1 file changed +418 -367
whats-cooking.txt
+418 -367
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 -Subject: What's cooking in git.git (Jun 2023, #04; Wed, 14)
3 -X-master-at: d7d8841f67f29e6ecbad85a11805c907d0f00d5d
4 -X-next-at: 91eec092e0048861e489d5248932fabb011982fc
2 +Subject: What's cooking in git.git (Jun 2023, #05; Tue, 20)
3 +X-master-at: 6640c2d06d112675426cf436f0594f0e8c614848
4 +X-next-at: a1a0a3961aa073b8353158c01d6552ef94ac663d
5 Bcc: lwn@lwn.net, gitster@pobox.com
6
7 -What's cooking in git.git (Jun 2023, #04; Wed, 14)
7 +What's cooking in git.git (Jun 2023, #05; Tue, 20)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking in my tree. Commits
@@ -46,134 +46,325 @@ Release tarballs are available at:
46 https://www.kernel.org/pub/software/scm/git/
47
48 --------------------------------------------------
49 -[New Topics]
49 +[Graduated to 'master']
50
51 -* jc/notes-separator-fix (2023-06-13) 1 commit
52 - (merged to 'next' on 2023-06-14 at 3321da32a9)
53 - + notes: do not access before the beginning of an array
54 - (this branch uses tl/notes-separator.)
51 +* jc/test-modernization (2023-05-19) 20 commits
52 + (merged to 'next' on 2023-06-15 at 811ac3f7ad)
53 + + t7101-reset-empty-subdirs: modernize test format
54 + + t6050-replace: modernize test format
55 + + t5306-pack-nobase: modernize test format
56 + + t5303-pack-corruption-resilience: modernize test format
57 + + t5301-sliding-window: modernize test format
58 + + t5300-pack-object: modernize test format
59 + + t4206-log-follow-harder-copies: modernize test format
60 + + t4202-log: modernize test format
61 + + t4004-diff-rename-symlink: modernize test format
62 + + t4003-diff-rename-1: modernize test format
63 + + t4002-diff-basic: modernize test format
64 + + t3903-stash: modernize test format
65 + + t3700-add: modernize test format
66 + + t3500-cherry: modernize test format
67 + + t1006-cat-file: modernize test format
68 + + t1002-read-tree-m-u-2way: modernize test format
69 + + t1001-read-tree-m-2way: modernize test format
70 + + t3210-pack-refs: modernize test format
71 + + t0030-stripspace: modernize test format
72 + + t0000-basic: modernize test format
73 + (this branch is used by jc/test-modernization-2.)
74
56 - Fix to tl/notes-separator topic.
75 + Originally merged to 'next' on 2023-06-13
76 + source: <pull.1513.git.git.1684440205.gitgitgadget@gmail.com>
77
58 - Will merge to 'master'.
59 - source: <cover.1682671758.git.dyroneteng@gmail.com>
78
79 +* jc/test-modernization-2 (2023-05-23) 10 commits
80 + (merged to 'next' on 2023-06-15 at 01df673682)
81 + + t9400-git-cvsserver-server: modernize test format
82 + + t9200-git-cvsexportcommit: modernize test format
83 + + t9104-git-svn-follow-parent: modernize test format
84 + + t9100-git-svn-basic: modernize test format
85 + + t7700-repack: modernize test format
86 + + t7600-merge: modernize test format
87 + + t7508-status: modernize test format
88 + + t7201-co: modernize test format
89 + + t7111-reset-table: modernize test format
90 + + t7110-reset-merge: modernize test format
91 + (this branch uses jc/test-modernization.)
92
62 -* js/doc-unit-tests (2023-06-13) 1 commit
63 - - unit tests: Add a project plan document
93 + Originally merged to 'next' on 2023-06-13
94
65 - Process to add some form of low-level unit tests has started.
95 + Test style updates.
96 + source: <pull.1514.git.git.1684599239.gitgitgadget@gmail.com>
97
67 - Comments? Filling in blanks?
68 - source: <8afdb215d7e10ca16a2ce8226b4127b3d8a2d971.1686352386.git.steadmon@google.com>
98
99 +* jk/ci-use-clang-for-sanitizer-jobs (2023-06-03) 3 commits
100 + (merged to 'next' on 2023-06-15 at 268459fc6a)
101 + + ci: drop linux-clang job
102 + + ci: run ASan/UBSan in a single job
103 + + ci: use clang for ASan/UBSan checks
104 +
105 + Originally merged to 'next' on 2023-06-12
106
71 -* jt/doc-use-octal-with-printf (2023-06-13) 1 commit
72 - - CodingGuidelines: use octal escapes, not hex
107 + Clang's sanitizer implementation seems to work better than GCC's.
108 + source: <20230601180220.GA4167745@coredump.intra.peff.net>
109
74 - Suggest to refrain from using hex literals that are non-portable
75 - when writing printf(1) format strings.
110
77 - Will merge to 'next'.
78 - source: <20230614001558.277755-1-jonathantanmy@google.com>
111 +* jk/log-follow-with-non-literal-pathspec (2023-06-03) 3 commits
112 + (merged to 'next' on 2023-06-15 at 6848e0b8e6)
113 + + diff: detect pathspec magic not supported by --follow
114 + + diff: factor out --follow pathspec check
115 + + pathspec: factor out magic-to-name function
116 +
117 + Originally merged to 'next' on 2023-06-13
118
119 + "git [-c log.follow=true] log [--follow] ':(glob)f**'" used to barf.
120 + source: <20230601173724.GA4158369@coredump.intra.peff.net>
121
81 -* js/defeat-ignore-submodules-config-with-explicit-addition (2023-06-14) 1 commit
82 - - diff-lib: honor override_submodule_config flag bit
122
84 - Even when diff.ignoreSubmodules tells us to ignore submodule
85 - changes, "git commit" with an index that already records changes to
86 - submodules should include the submodule changes in the resulting
87 - commit, but it did not.
123 +* kh/use-default-notes-doc (2023-06-06) 2 commits
124 + (merged to 'next' on 2023-06-15 at f25ced157e)
125 + + notes: move the documentation to the struct
126 + + notes: update documentation for `use_default_notes`
127
89 - Will merge to 'next'.
90 - source: <20230614164856.3186012-2-sokcevic@google.com>
128 + Originally merged to 'next' on 2023-06-13
129 +
130 + Doc update.
131 + source: <cover.1685958731.git.code@khaugsbakk.name>
132 +
133 +
134 +* la/doc-interpret-trailers (2023-06-14) 9 commits
135 + (merged to 'next' on 2023-06-15 at 6ff4a2b913)
136 + + doc: trailer: add more examples in DESCRIPTION
137 + + doc: trailer: mention 'key' in DESCRIPTION
138 + + doc: trailer.<token>.command: emphasize deprecation
139 + + doc: trailer: use angle brackets for <token> and <value>
140 + + doc: trailer: remove redundant phrasing
141 + + doc: trailer: examples: avoid the word "message" by itself
142 + + doc: trailer: drop "commit message part" phrasing
143 + + doc: trailer: swap verb order
144 + + doc: trailer: fix grammar
145 +
146 + Originally merged to 'next' on 2023-06-14
147 +
148 + Doc update.
149 + source: <pull.1506.v4.git.git.1686797630.gitgitgadget@gmail.com>
150 +
151 +
152 +* mh/commit-reach-get-reachable-plug-leak (2023-06-04) 1 commit
153 + (merged to 'next' on 2023-06-15 at 62e19d66fb)
154 + + commit-reach: fix memory leak in get_reachable_subset()
155 +
156 + Originally merged to 'next' on 2023-06-12
157 +
158 + Plug memory leak.
159 + source: <20230603002819.1122129-1-mh@glandium.org>
160 +
161 +
162 +* pb/complete-and-document-auto-merge-and-friends (2023-05-23) 6 commits
163 + (merged to 'next' on 2023-06-15 at ebe3216719)
164 + + completion: complete AUTO_MERGE
165 + + Documentation: document AUTO_MERGE
166 + + git-merge.txt: modernize word choice in "True merge" section
167 + + completion: complete REVERT_HEAD and BISECT_HEAD
168 + + revisions.txt: document more special refs
169 + + revisions.txt: use description list for special refs
170 +
171 + Originally merged to 'next' on 2023-06-13
172 +
173 + Document more pseudo-refs and teach the command line completion
174 + machinery to complete AUTO_MERGE.
175 + source: <pull.1515.v2.git.1684783741.gitgitgadget@gmail.com>
176 +
177 +
178 +* ps/fetch-cleanups (2023-05-17) 9 commits
179 + (merged to 'next' on 2023-06-15 at 33878153a5)
180 + + fetch: use `fetch_config` to store "submodule.fetchJobs" value
181 + + fetch: use `fetch_config` to store "fetch.parallel" value
182 + + fetch: use `fetch_config` to store "fetch.recurseSubmodules" value
183 + + fetch: use `fetch_config` to store "fetch.showForcedUpdates" value
184 + + fetch: use `fetch_config` to store "fetch.pruneTags" value
185 + + fetch: use `fetch_config` to store "fetch.prune" value
186 + + fetch: pass through `fetch_config` directly
187 + + fetch: drop unneeded NULL-check for `remote_ref`
188 + + fetch: drop unused DISPLAY_FORMAT_UNKNOWN enum value
189 +
190 + Originally merged to 'next' on 2023-06-12
191 +
192 + Code clean-up.
193 + cf. <20230519002128.GD2442034@coredump.intra.peff.net>
194 + source: <cover.1684324059.git.ps@pks.im>
195 +
196 +
197 +* tb/submodule-null-deref-fix (2023-05-25) 1 commit
198 + (merged to 'next' on 2023-06-15 at 8cb6a7710a)
199 + + builtin/submodule--helper.c: handle missing submodule URLs
200 +
201 + Originally merged to 'next' on 2023-06-13
202 +
203 + "git submodule" code trusted the data coming from the config (and
204 + the in-tree .gitmodules file) too much without validating, leading
205 + to NULL dereference if the user mucks with a repository (e.g.
206 + submodule.<name>.url is removed). This has been corrected.
207 + source: <ae6cf3fa461b85e346f034371dae56a2790dfa20.1684957882.git.me@ttaylorr.com>
208 +
209 +
210 +* tl/quote-problematic-arg-for-clarity (2023-06-03) 1 commit
211 + (merged to 'next' on 2023-06-15 at 4e52ad2fb3)
212 + + surround %s with quotes when failed to lookup commit
213 +
214 + Originally merged to 'next' on 2023-06-12
215 +
216 + Error message fix.
217 + source: <1f7c62a8870433792076fae30d6c4dc4b61a00d8.1685366301.git.dyroneteng@gmail.com>
218 +
219 +
220 +* tz/test-fix-pthreads-prereq (2023-05-26) 1 commit
221 + (merged to 'next' on 2023-06-15 at 2d2446ff97)
222 + + trace2 tests: fix PTHREADS prereq
223 +
224 + Originally merged to 'next' on 2023-06-12
225 +
226 + Test fix.
227 + source: <20230525031218.3554586-1-tmz@pobox.com>
228 +
229 +
230 +* tz/test-ssh-verifytime-fix (2023-05-26) 1 commit
231 + (merged to 'next' on 2023-06-15 at dd97dd32f3)
232 + + t/lib-gpg: fix ssh-keygen -Y check-novalidate with openssh-9.0
233 +
234 + Originally merged to 'next' on 2023-06-12
235 +
236 + Test fix.
237 + source: <20230525031026.3554406-1-tmz@pobox.com>
238 +
239 +
240 +* vd/worktree-config-is-per-repository (2023-05-26) 3 commits
241 + (merged to 'next' on 2023-06-15 at 6301770cd6)
242 + + repository: move 'repository_format_worktree_config' to repo scope
243 + + config: pass 'repo' directly to 'config_with_options()'
244 + + config: use gitdir to get worktree config
245 +
246 + Originally merged to 'next' on 2023-06-13
247 +
248 + The value of config.worktree is per-repository, but has been kept
249 + in a singleton global variable per process. This has been OK as
250 + most Git operations interacted with a single repository at a time,
251 + but not right for operations like recursive "grep" that want to
252 + access multiple repositories from a single process without forking.
253 +
254 + The global variable has been eliminated and made into a member in
255 + the per-repository data structure.
256 + cf. <3145f4f3-7bd4-8a1b-4943-11b7d22b60c6@github.com>
257 + cf. <kl6lr0qwno2q.fsf@chooglen-macbookpro.roam.corp.google.com>
258 + source: <pull.1536.v2.git.1685064781.gitgitgadget@gmail.com>
259
260 --------------------------------------------------
93 -[Graduated to 'master']
261 +[New Topics]
262
95 -* gc/doc-cocci-updates (2023-04-27) 2 commits
96 - (merged to 'next' on 2023-05-20 at 3fe237c1a8)
97 - + cocci: codify authoring and reviewing practices
98 - + cocci: add headings to and reword README
263 +* gc/discover-not-setup (2023-06-16) 1 commit
264 + (merged to 'next' on 2023-06-16 at 27d1cd2a1b)
265 + + setup.c: don't setup in discover_git_directory()
266
100 - Update documentation regarding Coccinelle patches.
101 - source: <pull.1495.v2.git.git.1682634143.gitgitgadget@gmail.com>
267 + discover_git_directory() no longer touches the_repository.
268
269 + Will merge to 'master'.
270 + source: <pull.1526.git.git.1686771358484.gitgitgadget@gmail.com>
271
104 -* jc/diff-s-with-other-options (2023-05-05) 1 commit
105 - (merged to 'next' on 2023-05-20 at dda3826a68)
106 - + diff: fix interaction between the "-s" option and other options
272
108 - The "-s" (silent, squelch) option of the "diff" family of commands
109 - did not interact with other options that specify the output format
110 - well. This has been cleaned up so that it will clear all the
111 - formatting options given before.
112 - source: <20230505165952.335256-1-gitster@pobox.com>
273 +* mh/credential-erase-improvements (2023-06-15) 2 commits
274 + (merged to 'next' on 2023-06-16 at 5a3ed25303)
275 + + credential: erase all matching credentials
276 + + credential: avoid erasing distinct password
277
278 + Will merge to 'master'.
279 + cf. <20230615212116.GA39325@coredump.intra.peff.net>
280 + source: <pull.1525.v4.git.git.1686856773.gitgitgadget@gmail.com>
281
115 -* jc/pack-ref-exclude-include (2023-05-12) 3 commits
116 - (merged to 'next' on 2023-05-23 at 37333a2d00)
117 - + pack-refs: teach pack-refs --include option
118 - + pack-refs: teach --exclude option to exclude refs from being packed
119 - + docs: clarify git-pack-refs --all will pack all refs
282
121 - "git pack-refs" learns "--include" and "--exclude" to tweak the ref
122 - hierarchy to be packed using pattern matching.
123 - source: <pull.1501.v4.git.git.1683927282.gitgitgadget@gmail.com>
283 +* cc/repack-sift-filtered-objects-to-separate-pack (2023-06-14) 9 commits
284 + - gc: add `gc.repackFilterTo` config option
285 + - repack: implement `--filter-to` for storing filtered out objects
286 + - gc: add `gc.repackFilter` config option
287 + - repack: add `--filter=<filter-spec>` option
288 + - repack: refactor finishing pack-objects command
289 + - repack: refactor piping an oid to a command
290 + - t/helper: add 'find-pack' test-tool
291 + - pack-objects: add `--print-filtered` to print omitted objects
292 + - pack-objects: allow `--filter` without `--stdout`
293
294 + "git repack" machinery learns to pay attention to the "--filter="
295 + option.
296
126 -* jk/format-patch-message-id-unleak (2023-05-19) 2 commits
127 - (merged to 'next' on 2023-05-23 at 44b9e1ab91)
128 - + format-patch: free elements of rev.ref_message_ids list
129 - + format-patch: free rev.message_id when exiting
297 + Needs review.
298 + source: <20230614192541.1599256-1-christian.couder@gmail.com>
299
131 - Leakfix.
132 - source: <20230519000239.GA1975039@coredump.intra.peff.net>
300
301 +* js/cmake-wo-cache-h (2023-06-15) 1 commit
302 + (merged to 'next' on 2023-06-16 at b138273e7e)
303 + + cmake: adapt to `cache.h` being no more
304 + (this branch uses en/header-split-cache-h-part-3.)
305
135 -* kh/keep-tag-editmsg-upon-failure (2023-05-16) 3 commits
136 - (merged to 'next' on 2023-05-19 at fc0fe3173d)
137 - + tag: keep the message file in case ref transaction fails
138 - + t/t7004-tag: add regression test for successful tag creation
139 - + doc: tag: document `TAG_EDITMSG`
306 + Build fix in en/header-split-cache-h-part-3 topic.
307 +
308 + Will merge to 'master'.
309 + source: <pull.1525.v3.git.1684218848.gitgitgadget@gmail.com>
310
141 - "git tag" learned to leave the "$GIT_DIR/TAG_EDITMSG" file when the
142 - command failed, so that the user can salvage what they typed.
143 - source: <cover.1684258780.git.code@khaugsbakk.name>
311
312 +* ps/revision-stdin-with-options (2023-06-15) 3 commits
313 + - revision: handle pseudo-opts in `--stdin` mode
314 + - revision: small readability improvement for reading from stdin
315 + - revision: reorder `read_revisions_from_stdin()`
316
146 -* sa/doc-ls-remote (2023-05-19) 6 commits
147 - (merged to 'next' on 2023-05-20 at d577bf75a0)
148 - + ls-remote doc: document the output format
149 - + ls-remote doc: explain what each example does
150 - + ls-remote doc: show peeled tags in examples
151 - + ls-remote doc: remove redundant --tags example
152 - + show-branch doc: say <ref>, not <reference>
153 - + show-ref doc: update for internal consistency
317 + The set-up code for the get_revision() API now allows feeding
318 + options like --all and --not in the --stdin mode.
319 +
320 + Will merge to 'next'?
321 + source: <cover.1686839572.git.ps@pks.im>
322 +
323 +
324 +* rs/doc-ls-tree-hex-literal (2023-06-15) 1 commit
325 + (merged to 'next' on 2023-06-16 at 472c7f55c9)
326 + + ls-tree: fix documentation of %x format placeholder
327
328 Doc update.
156 - source: <pull.1471.v4.git.git.1684469874.gitgitgadget@gmail.com>
329
330 + Will merge to 'master'.
331 + source: <23e54256-9ad5-e978-d0b8-abb511232fd1@web.de>
332 +
333 +
334 +* jk/commit-use-no-divider-with-interpret-trailers (2023-06-16) 1 commit
335 + (merged to 'next' on 2023-06-20 at 08e5f2a6b5)
336 + + commit: pass --no-divider to interpret-trailers
337
159 -* sl/diff-tree-sparse (2023-05-18) 1 commit
160 - (merged to 'next' on 2023-05-24 at 5d4f2dec4d)
161 - + diff-tree: integrate with sparse index
338 + When "git commit --trailer=..." invokes the interpret-trailers
339 + machinery, it knows what it feeds to interpret-trailers is a full
340 + log message without any patch, but failed to express that by
341 + passing the "--no-divider" option, which has been corrected.
342 +
343 + Will merge to 'master'.
344 + source: <20230617042624.GA562686@coredump.intra.peff.net>
345 +
346 +
347 +* jk/redact-h2h3-headers-fix (2023-06-17) 1 commit
348 + (merged to 'next' on 2023-06-20 at c1247fd527)
349 + + http: handle both "h2" and "h2h3" in curl info lines
350 +
351 + Curl library recently changed how http2 traces are shown and broke
352 + the code to redact sensitive info header, which has been fixed.
353 +
354 + Will merge to 'master'.
355 + source: <20230617051559.GD562686@coredump.intra.peff.net>
356
163 - "git diff-tree" has been taught to take advantage of the
164 - sparse-index feature.
165 - cf. <2a2b7223-bb5d-65f9-95bb-9be45d329c87@github.com>
166 - source: <20230518154454.475487-1-cheskaqiqi@gmail.com>
357
358 +* rs/strbuf-expand-step (2023-06-18) 5 commits
359 + - strbuf: simplify strbuf_expand_literal_cb()
360 + - replace strbuf_expand() with strbuf_expand_step()
361 + - replace strbuf_expand_dict_cb() with strbuf_expand_step()
362 + - strbuf: factor out strbuf_expand_step()
363 + - pretty: factor out expand_separator()
364
169 -* zh/ls-files-format-atoms (2023-05-23) 1 commit
170 - (merged to 'next' on 2023-05-24 at 116b11effb)
171 - + ls-files: align format atoms with ls-tree
365 + Code clean-up around strbuf_expand() API.
366
173 - Some atoms that can be used in "--format=<format>" for "git ls-tree"
174 - were not supported by "git ls-files", even though they were relevant
175 - in the context of the latter.
176 - source: <pull.1533.v2.git.1684832418299.gitgitgadget@gmail.com>
367 + source: <767baa64-20a6-daf2-d34b-d81f72363749@web.de>
368
369 --------------------------------------------------
370 [Stalled]
@@ -213,21 +404,6 @@ Release tarballs are available at:
404 source: <ZDSTFwMFO7vbj/du@google.com>
405
406
216 -* tb/pack-bitmap-index-seek (2023-03-20) 6 commits
217 - - pack-bitmap.c: factor out `bitmap_index_seek_commit()`
218 - - pack-bitmap.c: use `bitmap_index_seek()` where possible
219 - - pack-bitmap.c: factor out manual `map_pos` manipulation
220 - - pack-bitmap.c: drop unnecessary 'inline's
221 - - pack-bitmap.c: hide bitmap internals in `read_be32()`
222 - - pack-bitmap.c: hide bitmap internals in `read_u8()`
223 -
224 - Clean-up the pack-bitmap codepath.
225 -
226 - Kicked back to 'seen' out of 'next'.
227 - There is a BUG() on data errors that needs to be fixed.
228 - source: <cover.1679342296.git.me@ttaylorr.com>
229 -
230 -
407 * cb/checkout-same-branch-twice (2023-03-22) 2 commits
408 - SQUASH??? the test marked to expect failure passes from day one
409 - checkout/switch: disallow checking out same branch in multiple worktrees
@@ -327,21 +503,56 @@ Release tarballs are available at:
503 --------------------------------------------------
504 [Cooking]
505
506 +* js/doc-unit-tests (2023-06-13) 1 commit
507 + - unit tests: Add a project plan document
508 +
509 + Process to add some form of low-level unit tests has started.
510 +
511 + Comments? Filling in blanks?
512 + source: <8afdb215d7e10ca16a2ce8226b4127b3d8a2d971.1686352386.git.steadmon@google.com>
513 +
514 +
515 +* jt/doc-use-octal-with-printf (2023-06-14) 1 commit
516 + (merged to 'next' on 2023-06-16 at ebb72b9bd8)
517 + + CodingGuidelines: use octal escapes, not hex
518 +
519 + Suggest to refrain from using hex literals that are non-portable
520 + when writing printf(1) format strings.
521 +
522 + Will merge to 'master'.
523 + source: <20230614213145.475607-1-jonathantanmy@google.com>
524 +
525 +
526 +* js/defeat-ignore-submodules-config-with-explicit-addition (2023-06-14) 1 commit
527 + (merged to 'next' on 2023-06-16 at bfc01bd5e2)
528 + + diff-lib: honor override_submodule_config flag bit
529 +
530 + Even when diff.ignoreSubmodules tells us to ignore submodule
531 + changes, "git commit" with an index that already records changes to
532 + submodules should include the submodule changes in the resulting
533 + commit, but it did not.
534 +
535 + Will merge to 'master'.
536 + source: <20230614164856.3186012-2-sokcevic@google.com>
537 +
538 +
539 * as/dtype-compilation-fix (2023-06-12) 1 commit
331 - - statinfo.h: move DTYPE defines from dir.h
540 + (merged to 'next' on 2023-06-16 at 267100947e)
541 + + statinfo.h: move DTYPE defines from dir.h
542
543 Compilation fix for platforms without D_TYPE in struct dirent.
544
335 - Will merge to 'next'.
545 + Will merge to 'master'.
546 source: <20230606205935.3183276-1-asedeno@google.com>
547
548
549 * la/docs-typofixes (2023-06-12) 1 commit
340 - - docs: typofixes
550 + (merged to 'next' on 2023-06-16 at 56ddcb16e6)
551 + + docs: typofixes
552
553 Typofixes.
554
344 - Will merge to 'next'.
555 + Will merge to 'master'.
556 source: <pull.1542.v2.git.1686166007816.gitgitgadget@gmail.com>
557
558
@@ -391,105 +602,83 @@ Release tarballs are available at:
602 source: <pull.1543.v2.git.1686574374.gitgitgadget@gmail.com>
603
604
394 -* rj/leakfixes (2023-06-12) 6 commits
395 - - branch: fix a leak in setup_tracking
396 - - branch: fix a leak in check_tracking_branch
397 - - branch: fix a leak in inherit_tracking
398 - - branch: fix a leak in dwim_and_setup_tracking
399 - - remote: fix a leak in query_matches_negative_refspec
400 - - config: fix a leak in git_config_copy_or_rename_section_in_file
605 +* rj/leakfixes (2023-06-17) 11 commits
606 + (merged to 'next' on 2023-06-17 at 49e54a88e2)
607 + + tests: mark as passing with SANITIZE=leak
608 + + config: fix a leak in git_config_copy_or_rename_section_in_file
609 + + branch: fix a leak in cmd_branch
610 + + branch: fix a leak in setup_tracking
611 + + rev-parse: fix a leak with --abbrev-ref
612 + (merged to 'next' on 2023-06-16 at d9330ea230)
613 + + branch: fix a leak in setup_tracking
614 + + branch: fix a leak in check_tracking_branch
615 + + branch: fix a leak in inherit_tracking
616 + + branch: fix a leak in dwim_and_setup_tracking
617 + + remote: fix a leak in query_matches_negative_refspec
618 + + config: fix a leak in git_config_copy_or_rename_section_in_file
619
402 - Leakfixes (subset)
620 + Leakfixes
621
404 - Will merge to 'next'.
622 + Will merge to 'master'.
623 + source: <71b49be1-eeef-2f60-38f1-cfcbe4c8252f@gmail.com>
624 source: <9eb931e7-dd18-8ce8-4d4a-cf3d85066189@gmail.com>
625
626
627 * rs/run-command-exec-error-on-noent (2023-06-12) 2 commits
409 - - run-command: report exec error even on ENOENT
410 - - t1800: loosen matching of error message for bad shebang
628 + (merged to 'next' on 2023-06-16 at 6bb4425334)
629 + + run-command: report exec error even on ENOENT
630 + + t1800: loosen matching of error message for bad shebang
631
632 Simplify error message when run-command fails to start a command.
633
414 - Will merge to 'next'.
634 + Will merge to 'master'.
635 source: <14e1be60-3765-0ba5-00f5-2848bb57bf53@web.de>
636
637
638 * sl/worktree-sparse (2023-06-12) 1 commit
419 - - worktree: integrate with sparse-index
639 + (merged to 'next' on 2023-06-16 at ca0a7edcc5)
640 + + worktree: integrate with sparse-index
641
642 "git worktree" learned to work better with sparse index feature.
643
423 - Will merge to 'next'.
644 + Will merge to 'master'.
645 source: <20230606172633.669916-1-cheskaqiqi@gmail.com>
646
647
648 * tb/collect-pack-filenames-fix (2023-06-12) 1 commit
428 - - builtin/repack.c: only collect fully-formed packs
649 + (merged to 'next' on 2023-06-20 at abcc6892c8)
650 + + builtin/repack.c: only collect fully-formed packs
651
652 Avoid breakage of "git pack-objects --cruft" due to inconsistency
653 between the way the code enumerates packfiles in the repository.
654
433 - Will merge to 'next'?
655 + Will merge to 'master'.
656 source: <20230607101617.ges6tnMry4E52lDGld43QgtNUsIS4YQq6w-t71hEfkQ@z>
657
658
659 * tb/open-midx-bitmap-fallback (2023-06-12) 1 commit
438 - - pack-bitmap.c: gracefully degrade on failure to load MIDX'd pack
660 + (merged to 'next' on 2023-06-16 at 6546fee734)
661 + + pack-bitmap.c: gracefully degrade on failure to load MIDX'd pack
662
663 Gracefully deal with a stale MIDX file that lists a packfile that
664 no longer exists.
665
443 - Will merge to 'next'.
666 + Will merge to 'master'.
667 source: <f123b68cb8a277fbf105b1789a84b9405a499b79.1686178854.git.me@ttaylorr.com>
668
669
670 * tz/lib-gpg-prereq-fix (2023-06-12) 1 commit
448 - - t/lib-gpg: require GPGSSH for GPGSSH_VERIFYTIME prereq
671 + (merged to 'next' on 2023-06-16 at 19770e970a)
672 + + t/lib-gpg: require GPGSSH for GPGSSH_VERIFYTIME prereq
673
674 Test update.
675
452 - Will merge to 'next'.
453 - source: <20230606214707.55739-1-tmz@pobox.com>
454 -
455 -
456 -* jk/ci-use-clang-for-sanitizer-jobs (2023-06-03) 3 commits
457 - (merged to 'next' on 2023-06-12 at f6d4c5aac6)
458 - + ci: drop linux-clang job
459 - + ci: run ASan/UBSan in a single job
460 - + ci: use clang for ASan/UBSan checks
461 -
462 - Clang's sanitizer implementation seems to work better than GCC's.
463 -
676 Will merge to 'master'.
465 - source: <20230601180220.GA4167745@coredump.intra.peff.net>
466 -
467 -
468 -* jk/log-follow-with-non-literal-pathspec (2023-06-03) 3 commits
469 - (merged to 'next' on 2023-06-13 at 6c864e2f8a)
470 - + diff: detect pathspec magic not supported by --follow
471 - + diff: factor out --follow pathspec check
472 - + pathspec: factor out magic-to-name function
473 -
474 - "git [-c log.follow=true] log [--follow] ':(glob)f**'" used to barf.
475 -
476 - Will merge to 'master'.
477 - source: <20230601173724.GA4158369@coredump.intra.peff.net>
478 -
479 -
480 -* kh/use-default-notes-doc (2023-06-06) 2 commits
481 - (merged to 'next' on 2023-06-13 at ebfbf7a376)
482 - + notes: move the documentation to the struct
483 - + notes: update documentation for `use_default_notes`
484 -
485 - Doc update.
486 -
487 - Will merge to 'master'.
488 - source: <cover.1685958731.git.code@khaugsbakk.name>
677 + source: <20230606214707.55739-1-tmz@pobox.com>
678
679
680 * ps/cat-file-null-output (2023-06-12) 5 commits
492 - (merged to 'next' on 2023-06-14 at f879ffcbf0)
681 + (merged to 'next' on 2023-06-15 at e841ad2be5)
682 + cat-file: add option '-Z' that delimits input and output with NUL
683 + cat-file: simplify reading from standard input
684 + strbuf: provide CRLF-aware helper to read until a specified delimiter
@@ -503,18 +692,8 @@ Release tarballs are available at:
692 source: <cover.1686028409.git.ps@pks.im>
693
694
506 -* tl/quote-problematic-arg-for-clarity (2023-06-03) 1 commit
507 - (merged to 'next' on 2023-06-12 at 68851799e5)
508 - + surround %s with quotes when failed to lookup commit
509 -
510 - Error message fix.
511 -
512 - Will merge to 'master'.
513 - source: <1f7c62a8870433792076fae30d6c4dc4b61a00d8.1685366301.git.dyroneteng@gmail.com>
514 -
515 -
695 * ds/add-i-color-configuration-fix (2023-06-12) 2 commits
517 - (merged to 'next' on 2023-06-14 at 91eec092e0)
696 + (merged to 'next' on 2023-06-15 at 377b9f9a00)
697 + add: test use of brackets when color is disabled
698 + add: check color.ui for interactive add
699
@@ -535,18 +714,8 @@ Release tarballs are available at:
714 source: <20230604185815.15761-1-five231003@gmail.com>
715
716
538 -* mh/commit-reach-get-reachable-plug-leak (2023-06-04) 1 commit
539 - (merged to 'next' on 2023-06-12 at 7c58973941)
540 - + commit-reach: fix memory leak in get_reachable_subset()
541 -
542 - Plug memory leak.
543 -
544 - Will merge to 'master'.
545 - source: <20230603002819.1122129-1-mh@glandium.org>
546 -
547 -
717 * ds/disable-replace-refs (2023-06-12) 3 commits
549 - (merged to 'next' on 2023-06-14 at 82ba5a6ffa)
718 + (merged to 'next' on 2023-06-15 at e7baddb745)
719 + repository: create read_replace_refs setting
720 + replace-objects: create wrapper around setting
721 + repository: create disable_replace_refs()
@@ -559,80 +728,6 @@ Release tarballs are available at:
728 source: <pull.1537.v3.git.1686057877.gitgitgadget@gmail.com>
729
730
562 -* tz/test-fix-pthreads-prereq (2023-05-26) 1 commit
563 - (merged to 'next' on 2023-06-12 at 82d9529f2c)
564 - + trace2 tests: fix PTHREADS prereq
565 -
566 - Test fix.
567 -
568 - Will merge to 'master'.
569 - source: <20230525031218.3554586-1-tmz@pobox.com>
570 -
571 -
572 -* tz/test-ssh-verifytime-fix (2023-05-26) 1 commit
573 - (merged to 'next' on 2023-06-12 at 3abad605d6)
574 - + t/lib-gpg: fix ssh-keygen -Y check-novalidate with openssh-9.0
575 -
576 - Test fix.
577 -
578 - Will merge to 'master'.
579 - source: <20230525031026.3554406-1-tmz@pobox.com>
580 -
581 -
582 -* vd/worktree-config-is-per-repository (2023-05-26) 3 commits
583 - (merged to 'next' on 2023-06-13 at 339d281663)
584 - + repository: move 'repository_format_worktree_config' to repo scope
585 - + config: pass 'repo' directly to 'config_with_options()'
586 - + config: use gitdir to get worktree config
587 -
588 - The value of config.worktree is per-repository, but has been kept
589 - in a singleton global variable per process. This has been OK as
590 - most Git operations interacted with a single repository at a time,
591 - but not right for operations like recursive "grep" that want to
592 - access multiple repositories from a single process without forking.
593 -
594 - The global variable has been eliminated and made into a member in
595 - the per-repository data structure.
596 -
597 - Will merge to 'master'.
598 - cf. <3145f4f3-7bd4-8a1b-4943-11b7d22b60c6@github.com>
599 - cf. <kl6lr0qwno2q.fsf@chooglen-macbookpro.roam.corp.google.com>
600 - source: <pull.1536.v2.git.1685064781.gitgitgadget@gmail.com>
601 -
602 -
603 -* tb/submodule-null-deref-fix (2023-05-25) 1 commit
604 - (merged to 'next' on 2023-06-13 at 5eb6a7948d)
605 - + builtin/submodule--helper.c: handle missing submodule URLs
606 -
607 - "git submodule" code trusted the data coming from the config (and
608 - the in-tree .gitmodules file) too much without validating, leading
609 - to NULL dereference if the user mucks with a repository (e.g.
610 - submodule.<name>.url is removed). This has been corrected.
611 -
612 - Will merge to 'master'.
613 - source: <ae6cf3fa461b85e346f034371dae56a2790dfa20.1684957882.git.me@ttaylorr.com>
614 -
615 -
616 -* jc/test-modernization-2 (2023-05-23) 10 commits
617 - (merged to 'next' on 2023-06-13 at e3ab8eea9a)
618 - + t9400-git-cvsserver-server: modernize test format
619 - + t9200-git-cvsexportcommit: modernize test format
620 - + t9104-git-svn-follow-parent: modernize test format
621 - + t9100-git-svn-basic: modernize test format
622 - + t7700-repack: modernize test format
623 - + t7600-merge: modernize test format
624 - + t7508-status: modernize test format
625 - + t7201-co: modernize test format
626 - + t7111-reset-table: modernize test format
627 - + t7110-reset-merge: modernize test format
628 - (this branch uses jc/test-modernization.)
629 -
630 - Test style updates.
631 -
632 - Will merge to 'master'.
633 - source: <pull.1514.git.git.1684599239.gitgitgadget@gmail.com>
634 -
635 -
731 * jt/path-filter-fix (2023-06-13) 4 commits
732 - commit-graph: new filter ver. that fixes murmur3
733 - repo-settings: introduce commitgraph.changedPathsVersion
@@ -643,7 +738,8 @@ Release tarballs are available at:
738 on systems whose "char" is unsigned; update the implementation and
739 bump the format version to 2.
740
646 - Will merge to 'next'?
741 + Expecting a reroll.
742 + cf. <c7b66d2c-cdc3-1f0f-60a0-a2ee21c277bf@github.com>
743 source: <cover.1686677910.git.jonathantanmy@google.com>
744
745
@@ -659,7 +755,7 @@ Release tarballs are available at:
755 source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>
756
757
662 -* mh/credential-libsecret-attrs (2023-05-17) 1 commit
758 +* mh/credential-libsecret-attrs (2023-06-16) 1 commit
759 - credential/libsecret: store new attributes
760
761 The way authentication related data other than passwords (e.g.
@@ -667,58 +763,11 @@ Release tarballs are available at:
763 keyrings has been rethought.
764
765 Needs review.
670 - source: <pull.1469.v4.git.git.1684306540947.gitgitgadget@gmail.com>
671 -
672 -
673 -* ps/fetch-cleanups (2023-05-17) 9 commits
674 - (merged to 'next' on 2023-06-12 at d15d335893)
675 - + fetch: use `fetch_config` to store "submodule.fetchJobs" value
676 - + fetch: use `fetch_config` to store "fetch.parallel" value
677 - + fetch: use `fetch_config` to store "fetch.recurseSubmodules" value
678 - + fetch: use `fetch_config` to store "fetch.showForcedUpdates" value
679 - + fetch: use `fetch_config` to store "fetch.pruneTags" value
680 - + fetch: use `fetch_config` to store "fetch.prune" value
681 - + fetch: pass through `fetch_config` directly
682 - + fetch: drop unneeded NULL-check for `remote_ref`
683 - + fetch: drop unused DISPLAY_FORMAT_UNKNOWN enum value
684 -
685 - Code clean-up.
686 -
687 - Will merge to 'master'.
688 - cf. <20230519002128.GD2442034@coredump.intra.peff.net>
689 - source: <cover.1684324059.git.ps@pks.im>
690 -
691 -
692 -* jc/test-modernization (2023-05-19) 20 commits
693 - (merged to 'next' on 2023-06-13 at a61e7b7248)
694 - + t7101-reset-empty-subdirs: modernize test format
695 - + t6050-replace: modernize test format
696 - + t5306-pack-nobase: modernize test format
697 - + t5303-pack-corruption-resilience: modernize test format
698 - + t5301-sliding-window: modernize test format
699 - + t5300-pack-object: modernize test format
700 - + t4206-log-follow-harder-copies: modernize test format
701 - + t4202-log: modernize test format
702 - + t4004-diff-rename-symlink: modernize test format
703 - + t4003-diff-rename-1: modernize test format
704 - + t4002-diff-basic: modernize test format
705 - + t3903-stash: modernize test format
706 - + t3700-add: modernize test format
707 - + t3500-cherry: modernize test format
708 - + t1006-cat-file: modernize test format
709 - + t1002-read-tree-m-u-2way: modernize test format
710 - + t1001-read-tree-m-2way: modernize test format
711 - + t3210-pack-refs: modernize test format
712 - + t0030-stripspace: modernize test format
713 - + t0000-basic: modernize test format
714 - (this branch is used by jc/test-modernization-2.)
715 -
716 - Will merge to 'master'.
717 - source: <pull.1513.git.git.1684440205.gitgitgadget@gmail.com>
766 + source: <pull.1469.v5.git.git.1686945306242.gitgitgadget@gmail.com>
767
768
769 * ja/worktree-orphan (2023-05-17) 8 commits
721 - (merged to 'next' on 2023-06-14 at 25d508496b)
770 + (merged to 'next' on 2023-06-15 at 16bb552b79)
771 + worktree add: emit warn when there is a bad HEAD
772 + worktree add: extend DWIM to infer --orphan
773 + worktree add: introduce "try --orphan" hint
@@ -728,6 +777,8 @@ Release tarballs are available at:
777 + t2400: cleanup created worktree in test
778 + worktree add: include -B in usage docs
779
780 + Originally merged to 'next' on 2023-06-14
781 +
782 'git worktree add' learned how to create a worktree based on an
783 orphaned branch with `--orphan`.
784
@@ -735,7 +786,7 @@ Release tarballs are available at:
786 source: <20230517214711.12467-1-jacobabel@nullpo.dev>
787
788
738 -* tb/refs-exclusion-and-packed-refs (2023-06-12) 16 commits
789 +* tb/refs-exclusion-and-packed-refs (2023-06-20) 16 commits
790 - ls-refs.c: avoid enumerating hidden refs where possible
791 - upload-pack.c: avoid enumerating hidden refs where possible
792 - builtin/receive-pack.c: avoid enumerating hidden references
@@ -755,11 +806,12 @@ Release tarballs are available at:
806
807 Enumerating refs in the packed-refs file, while excluding refs that
808 match certain patterns, has been optimized.
758 - source: <cover.1686134440.git.me@ttaylorr.com>
809 +
810 + source: <cover.1687270849.git.me@ttaylorr.com>
811
812
813 * en/header-split-cache-h-part-3 (2023-05-16) 29 commits
762 - (merged to 'next' on 2023-06-13 at 56bcca52ac)
814 + (merged to 'next' on 2023-06-15 at 76ebce0b7a)
815 + fsmonitor-ll.h: split this header out of fsmonitor.h
816 + hash-ll, hashmap: move oidhash() to hash-ll
817 + object-store-ll.h: split this header out of object-store.h
@@ -789,31 +841,16 @@ Release tarballs are available at:
841 + init-db: remove unnecessary global variable
842 + init-db: document existing bug with core.bare in template config
843 + Merge branch 'en/header-split-cache-h-part-2' into en/header-split-cache-h-part-3
844 + (this branch is used by js/cmake-wo-cache-h.)
845 +
846 + Originally merged to 'next' on 2023-06-13
847
848 Header files cleanup.
849
795 - Will merge to 'master'.
850 + Will merge to 'master' together with its fix-up in js/cmake-wo-cache-h
851 source: <pull.1525.v3.git.1684218848.gitgitgadget@gmail.com>
852
853
799 -* la/doc-interpret-trailers (2023-06-12) 9 commits
800 - (merged to 'next' on 2023-06-14 at 64a59e71b3)
801 - + doc: trailer: add more examples in DESCRIPTION
802 - + doc: trailer: mention 'key' in DESCRIPTION
803 - + doc: trailer.<token>.command: emphasize deprecation
804 - + doc: trailer: use angle brackets for <token> and <value>
805 - + doc: trailer: remove redundant phrasing
806 - + doc: trailer: examples: avoid the word "message" by itself
807 - + doc: trailer: drop "commit message part" phrasing
808 - + doc: trailer: swap verb order
809 - + doc: trailer: fix grammar
810 -
811 - Doc update.
812 -
813 - Will merge to 'master'.
814 - source: <pull.1506.v3.git.git.1686017304.gitgitgadget@gmail.com>
815 -
816 -
854 * cc/git-replay (2023-06-03) 15 commits
855 - replay: stop assuming replayed branches do not diverge
856 - replay: add --contained to rebase contained branches
@@ -835,14 +872,15 @@ Release tarballs are available at:
872
873
874 * tb/gc-recent-object-hook (2023-06-12) 2 commits
838 - - gc: introduce `gc.recentObjectsHook`
839 - - reachable.c: extract `obj_is_recent()`
875 + (merged to 'next' on 2023-06-16 at 2d8d8ea2ef)
876 + + gc: introduce `gc.recentObjectsHook`
877 + + reachable.c: extract `obj_is_recent()`
878
879 "git pack-objects" learned to invoke a new hook program that
880 enumerates extra objects to be used as anchoring points to keep
881 otherwise unreachable objects in cruft packs.
882
845 - Will merge to 'next'.
883 + Will merge to 'master'.
884 source: <cover.1686178684.git.me@ttaylorr.com>
885
886
@@ -872,19 +910,29 @@ Release tarballs are available at:
910
911
912 * tl/notes-separator (2023-04-28) 6 commits
875 - (merged to 'next' on 2023-05-06 at 598ed19c9b)
876 - + notes.c: introduce "--[no-]stripspace" option
877 - + notes.c: append separator instead of insert by pos
878 - + notes.c: introduce '--separator=<paragraph-break>' option
879 - + t3321: add test cases about the notes stripspace behavior
880 - + notes.c: use designated initializers for clarity
881 - + notes.c: cleanup 'strbuf_grow' call in 'append_edit'
913 + - notes.c: introduce "--[no-]stripspace" option
914 + - notes.c: append separator instead of insert by pos
915 + - notes.c: introduce '--separator=<paragraph-break>' option
916 + - t3321: add test cases about the notes stripspace behavior
917 + - notes.c: use designated initializers for clarity
918 + - notes.c: cleanup 'strbuf_grow' call in 'append_edit'
919 (this branch is used by jc/notes-separator-fix.)
920
921 'git notes append' was taught '--separator' to specify string to insert
922 between paragraphs.
923
887 - Will merge to 'next' together with its fix-up.
924 + Expecting a reroll.
925 + cf. <20230615071314.GC1460739@coredump.intra.peff.net>
926 + source: <cover.1682671758.git.dyroneteng@gmail.com>
927 +
928 +
929 +* jc/notes-separator-fix (2023-06-13) 1 commit
930 + - notes: do not access before the beginning of an array
931 + (this branch uses tl/notes-separator.)
932 +
933 + Fix to tl/notes-separator topic.
934 +
935 + Will drop once tl/notes-separator gets updated.
936 source: <cover.1682671758.git.dyroneteng@gmail.com>
937
938
@@ -911,39 +959,42 @@ Release tarballs are available at:
959 + object: add object_array initializer helper function
960 (this branch is used by ds/disable-replace-refs.)
961
962 + Originally merged to 'next' on 2023-06-15
963 +
964 The object traversal using reachability bitmap done by
965 "pack-object" has been tweaked to take advantage of the fact that
966 using "boundary" commits as representative of all the uninteresting
967 ones can save quite a lot of object enumeration.
968
919 - Will merge to 'next'.
920 - source: <cover.1683567065.git.me@ttaylorr.com>
921 -
922 -
923 -* pb/complete-and-document-auto-merge-and-friends (2023-05-23) 6 commits
924 - (merged to 'next' on 2023-06-13 at 46ca10d88d)
925 - + completion: complete AUTO_MERGE
926 - + Documentation: document AUTO_MERGE
927 - + git-merge.txt: modernize word choice in "True merge" section
928 - + completion: complete REVERT_HEAD and BISECT_HEAD
929 - + revisions.txt: document more special refs
930 - + revisions.txt: use description list for special refs
931 -
932 - Document more pseudo-refs and teach the command line completion
933 - machinery to complete AUTO_MERGE.
934 -
969 Will merge to 'master'.
936 - source: <pull.1515.v2.git.1684783741.gitgitgadget@gmail.com>
970 + source: <cover.1683567065.git.me@ttaylorr.com>
971
972 +--------------------------------------------------
973 +[Discarded]
974
975 * mh/credential-password-expiry-libsecret (2023-05-05) 1 commit
940 - (merged to 'next' on 2023-05-09 at fd898e3756)
941 - + credential/libsecret: support password_expiry_utc
976 + . credential/libsecret: support password_expiry_utc
977 +
978 + Originally merged to 'next' on 2023-05-09
979
980 The libsecret credential helper learns to handle the password
981 expiry time information.
982
946 - On hold.
947 - The database gets littered with entries whose expiration dates only differ.
983 + Superseded by mh/credential-libsecret-attrs.
984 cf. <CAGJzqskMwOJkriH6serqdwAVYi+fftEL8ohJd-suP6v+OxB_bg@mail.gmail.com>
985 source: <pull.1469.v3.git.git.1683270298313.gitgitgadget@gmail.com>
986 +
987 +
988 +* tb/pack-bitmap-index-seek (2023-03-20) 6 commits
989 + . pack-bitmap.c: factor out `bitmap_index_seek_commit()`
990 + . pack-bitmap.c: use `bitmap_index_seek()` where possible
991 + . pack-bitmap.c: factor out manual `map_pos` manipulation
992 + . pack-bitmap.c: drop unnecessary 'inline's
993 + . pack-bitmap.c: hide bitmap internals in `read_be32()`
994 + . pack-bitmap.c: hide bitmap internals in `read_u8()`
995 +
996 + Clean-up the pack-bitmap codepath.
997 +
998 + Retracted for now.
999 + cf. <ZJCI6FHtbuOKPlV1@nand.local>
1000 + source: <cover.1679342296.git.me@ttaylorr.com>