What's cooking (2023/03 #03)

Junio C Hamano committed Mar 13, 2023 at 09:49 UTC 5f8cabe56e9925f1ea6af9ded62c1dfa6497e3c1
1 file changed +182 -85
whats-cooking.txt
+182 -85
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 -Subject: What's cooking in git.git (Mar 2023, #02; Tue, 7)
3 -X-master-at: 725f57037d81e24eacfda6e59a19c60c0b4c8062
4 -X-next-at: 97d40d926ee7422876456a84ac38bfc5edc7d9d1
2 +Subject: What's cooking in git.git (Mar 2023, #03; Mon, 13)
3 +X-master-at: 73876f4861cd3d187a4682290ab75c9dccadbc56
4 +X-next-at: 60544f874fd51e4f7a5848f94bc42e74e5323d6a
5 Bcc: lwn@lwn.net, gitster@pobox.com
6
7 -What's cooking in git.git (Mar 2023, #02; Tue, 7)
7 +What's cooking in git.git (Mar 2023, #03; Mon, 13)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking in my tree. Commits
@@ -16,6 +16,12 @@ message that raises issues but they are no means exhaustive. A
16 topic without enough support may be discarded after a long period of
17 no activity.
18
19 +Git 2.40 (final) has been tagged and pushed out and we have about
20 +two dozens of topics in 'next'. Let's spend this week to look for
21 +regression reports and fix them, and to decide which ones to eject
22 +out of 'next' as necessary. I'll start moving stalled topics into
23 +to-be-discarded bin and discard them.
24 +
25 Copies of the source code to Git live in many repositories, and the
26 following is a list of the ones I push into or their mirrors. Some
27 repositories have only a subset of branches.
@@ -47,112 +53,109 @@ Release tarballs are available at:
53 --------------------------------------------------
54 [New Topics]
55
50 -* as/doc-markup-fix (2023-03-06) 1 commit
51 - - git-merge-tree.txt: replace spurious HTML entity
56 +* ab/fix-strategy-opts-parsing (2023-03-08) 1 commit
57 + (merged to 'next' on 2023-03-08 at bd9eff2779)
58 + + sequencer.c: fix overflow & segfault in parse_strategy_opts()
59
53 - Fix for a mis-mark-up in doc made in Git 2.39 days.
60 + The code to parse "git rebase -X<opt>" was not prepared to see an
61 + unparsable option string, which has been corrected.
62
55 - Will merge to 'next'.
56 - source: <87y1oco3i9.fsf@igel.home>
63 + Will cook in 'next'.
64 + source: <patch-1.1-f6a06e25cf3-20230307T182039Z-avarab@gmail.com>
65
66
59 -* ds/ahead-behind (2023-03-06) 8 commits
60 - - ahead-behind: add --contains mode
61 - - ahead-behind: implement ahead_behind() logic
62 - - commit-graph: introduce `ensure_generations_valid()`
63 - - commit-graph: return generation from memory
64 - - commit-graph: combine generation computations
65 - - ahead-behind: implement --ignore-missing option
66 - - ahead-behind: parse tip references
67 - - ahead-behind: create empty builtin
67 +* ew/fetch-no-write-fetch-head-fix (2023-03-09) 1 commit
68 + (merged to 'next' on 2023-03-09 at 283e2159c8)
69 + + fetch: pass --no-write-fetch-head to subprocesses
70
69 - "git ahead-behind --base=<reference> --stdin" computes the
70 - distances from a single reference point in the history with bunch
71 - of commits in bulk.
71 + Will cook in 'next'.
72 + source: <20230308222205.M679514@dcvr>
73
73 - Comments?
74 - source: <pull.1489.git.1678111598.gitgitgadget@gmail.com>
74
75 +* fc/advice-diverged-history (2023-03-08) 1 commit
76 + (merged to 'next' on 2023-03-08 at 30e7016218)
77 + + advice: add diverging advice for novices
78
77 -* gc/config-parsing-cleanup (2023-03-03) 6 commits
78 - - config.c: remove current_parsing_scope
79 - - config.c: remove current_config_kvi
80 - - config.c: plumb the_reader through callbacks
81 - - config.c: create config_reader and the_reader
82 - - config.c: don't assign to "cf" directly
83 - - config.c: plumb config_source through static fns
79 + After "git pull" that is configured with pull.rebase=false
80 + merge.ff=only fails due to our end having our own development, give
81 + advice messages to get out of the "Not possible to fast-forward"
82 + state.
83
85 - Config API clean-up to reduce its dependence on static variables
84 + Will cook in 'next'.
85 + source: <20230308024834.1562386-2-felipe.contreras@gmail.com>
86
87 - Comments?
88 - source: <pull.1463.git.git.1677631097.gitgitgadget@gmail.com>
87
88 +* jk/add-p-unmerged-fix (2023-03-09) 1 commit
89 + (merged to 'next' on 2023-03-09 at a46443480c)
90 + + add-patch: handle "* Unmerged path" lines
91
91 -* jk/bundle-progress (2023-03-06) 1 commit
92 - - bundle: turn on --all-progress-implied by default
92 + "git add -p" while the index is unmerged sometimes failed to parse
93 + the diff output it internally produces and died, which has been
94 + corrected.
95
94 - Simplify UI to control progress meter given by "git bundle" command.
96 + Will cook in 'next'.
97 + source: <ZAmfqC9WMl3XeyEr@coredump.intra.peff.net>
98
96 - Will merge to 'next'.
97 - source: <ZAMjkffYmp+DNmr+@coredump.intra.peff.net>
99
100 +* jk/format-patch-ignore-noprefix (2023-03-09) 5 commits
101 + (merged to 'next' on 2023-03-12 at 621d71c151)
102 + + format-patch: add format.noprefix option
103 + + format-patch: do not respect diff.noprefix
104 + + diff: add --default-prefix option
105 + + t4013: add tests for diff prefix options
106 + + diff: factor out src/dst prefix setup
107
100 -* jk/bundle-use-dash-for-stdfiles (2023-03-06) 5 commits
101 - - parse-options: use prefix_filename_except_for_dash() helper
102 - - parse-options: consistently allocate memory in fix_filename()
103 - - bundle: don't blindly apply prefix_filename() to "-"
104 - - bundle: document handling of "-" as stdin
105 - - bundle: let "-" mean stdin for reading operations
108 + "git format-patch" honors the src/dst prefixes set to nonstandard
109 + values with configuration variables like "diff.noprefix", causing
110 + receiving end of the patch that expects the standard -p1 format to
111 + break. Teach "format-patch" to ignore end-user configuration and
112 + always use the standard prefixes.
113
107 - "git bundle" learned that "-" is a common way to say that the input
108 - comes from the standard input and/or the output goes to the
109 - standard output. It used to work only for output and only from the
110 - root level of the working tree.
114 + This is a backward compatibility breaking change.
115
112 - Will merge to 'next'.
113 - source: <ZAMb8LSpm2gOrpeY@coredump.intra.peff.net>
116 + Will merge to 'master'.
117 + source: <ZAl3bHB9zxjLITgf@coredump.intra.peff.net>
118
119
116 -* jk/format-patch-change-format-for-empty-commits (2023-03-03) 1 commit
117 - - format-patch: output header for empty commits
120 +* sl/diff-files-sparse (2023-03-09) 2 commits
121 + - diff-files: integrate with sparse index
122 + - t1092: add tests for `git diff-files`
123
119 - "git format-patch" learned to write a log-message only output file
120 - for empty commits.
124 + Teach "diff-files" not to expand sparse-index unless needed.
125
122 - Will merge to 'next'.
123 - source: <20230303160301.3659328-1-john@keeping.me.uk>
126 + Expecting hopefully a final and minor reroll?
127 + source: <20230309063952.42362-1-cheskaqiqi@gmail.com>
128
129
126 -* ds/reprepare-alternates-when-repreparing-packfiles (2023-03-06) 1 commit
127 - - object-file: reprepare alternates when necessary
130 +* aj/ls-files-format-fix (2023-03-10) 1 commit
131 + - ls-files: fix "--format" output of relative paths
132
129 - Once we start running, we assumed that the list of alternate object
130 - databases would never change. Hook into the machinery used to
131 - update the list of packfiles during runtime to update this list as
132 - well.
133 + Fix for a "ls-files --format="%(path)" that produced nonsense
134 + output, which was a bug in 2.38.
135
134 - Comments?
135 - source: <pull.1490.git.1678136369387.gitgitgadget@gmail.com>
136 + Will merge to 'next'.
137 + source: <pull.1465.git.git.1678453473484.gitgitgadget@gmail.com>
138
137 ---------------------------------------------------
138 -[Graduated to 'master']
139
140 -* gm/signature-format-doc (2023-02-27) 1 commit
141 - (merged to 'next' on 2023-03-01 at 19f9ce8c40)
142 - + signature-format.txt: note SSH and X.509 signature delimiters
140 +* fc/test-aggregation-clean-up (2023-03-09) 2 commits
141 + - test: don't print aggregate-results command
142 + - test: simplify counts aggregation
143
144 - Doc update.
144 + Code clean-up for test framework.
145
146 - Will cook in 'next'.
147 - source: <20230227202718.173698-1-gwymor@tilde.club>
146 + Will merge to 'next'.
147 + source: <20230309173032.959968-1-felipe.contreras@gmail.com>
148
149
150 -* rs/range-diff-custom-abbrev-fix (2023-02-28) 1 commit
151 - (merged to 'next' on 2023-02-28 at 82f1929a15)
152 - + range-diff: avoid compiler warning when char is unsigned
150 +* ps/receive-pack-unlock-before-die (2023-03-10) 1 commit
151 + - receive-pack: fix stale packfile locks when dying
152
154 - Hotfix for a topic that is already in 'master'.
155 - source: <1156586e-9dbe-335e-7e33-74eea7913e86@web.de>
153 + "git receive-pack" that responds to "git push" requests failed to
154 + clean a stale lockfile when killed in the middle, which has been
155 + corrected.
156 +
157 + Will merge to 'next'.
158 + source: <e1ee1d8026a361bc58d16bc741e2b347ada7a53e.1678431076.git.ps@pks.im>
159
160 --------------------------------------------------
161 [Stalled]
@@ -248,6 +251,98 @@ Release tarballs are available at:
251 --------------------------------------------------
252 [Cooking]
253
254 +* as/doc-markup-fix (2023-03-06) 1 commit
255 + (merged to 'next' on 2023-03-07 at 8c7289659a)
256 + + git-merge-tree.txt: replace spurious HTML entity
257 +
258 + Fix for a mis-mark-up in doc made in Git 2.39 days.
259 +
260 + Will cook in 'next'.
261 + source: <87y1oco3i9.fsf@igel.home>
262 +
263 +
264 +* ds/ahead-behind (2023-03-10) 7 commits
265 + - for-each-ref: add ahead-behind format atom
266 + - commit-reach: implement ahead_behind() logic
267 + - commit-graph: introduce `ensure_generations_valid()`
268 + - commit-graph: return generation from memory
269 + - commit-graph: combine generation computations
270 + - for-each-ref: explicitly test no matches
271 + - for-each-ref: add --stdin option
272 +
273 + "git for-each-ref" learns '%(ahead-behind:<base>)' that computes the
274 + distances from a single reference point in the history with bunch
275 + of commits in bulk.
276 +
277 + Will merge to 'next'?
278 + source: <pull.1489.v2.git.1678468863.gitgitgadget@gmail.com>
279 +
280 +
281 +* gc/config-parsing-cleanup (2023-03-03) 6 commits
282 + - config.c: remove current_parsing_scope
283 + - config.c: remove current_config_kvi
284 + - config.c: plumb the_reader through callbacks
285 + - config.c: create config_reader and the_reader
286 + - config.c: don't assign to "cf" directly
287 + - config.c: plumb config_source through static fns
288 +
289 + Config API clean-up to reduce its dependence on static variables
290 +
291 + Comments?
292 + source: <pull.1463.git.git.1677631097.gitgitgadget@gmail.com>
293 +
294 +
295 +* jk/bundle-progress (2023-03-06) 1 commit
296 + (merged to 'next' on 2023-03-07 at 0df2b09e1b)
297 + + bundle: turn on --all-progress-implied by default
298 +
299 + Simplify UI to control progress meter given by "git bundle" command.
300 +
301 + Will cook in 'next'.
302 + source: <ZAMjkffYmp+DNmr+@coredump.intra.peff.net>
303 +
304 +
305 +* jk/bundle-use-dash-for-stdfiles (2023-03-06) 5 commits
306 + (merged to 'next' on 2023-03-07 at 8ceb58f725)
307 + + parse-options: use prefix_filename_except_for_dash() helper
308 + + parse-options: consistently allocate memory in fix_filename()
309 + + bundle: don't blindly apply prefix_filename() to "-"
310 + + bundle: document handling of "-" as stdin
311 + + bundle: let "-" mean stdin for reading operations
312 +
313 + "git bundle" learned that "-" is a common way to say that the input
314 + comes from the standard input and/or the output goes to the
315 + standard output. It used to work only for output and only from the
316 + root level of the working tree.
317 +
318 + Will cook in 'next'.
319 + source: <ZAMb8LSpm2gOrpeY@coredump.intra.peff.net>
320 +
321 +
322 +* jk/format-patch-change-format-for-empty-commits (2023-03-03) 1 commit
323 + (merged to 'next' on 2023-03-07 at 1c421f4a9f)
324 + + format-patch: output header for empty commits
325 +
326 + "git format-patch" learned to write a log-message only output file
327 + for empty commits.
328 +
329 + Will cook in 'next'.
330 + source: <20230303160301.3659328-1-john@keeping.me.uk>
331 +
332 +
333 +* ds/reprepare-alternates-when-repreparing-packfiles (2023-03-09) 1 commit
334 + (merged to 'next' on 2023-03-09 at 851bceed17)
335 + + object-file: reprepare alternates when necessary
336 +
337 + Once we start running, we assumed that the list of alternate object
338 + databases would never change. Hook into the machinery used to
339 + update the list of packfiles during runtime to update this list as
340 + well.
341 +
342 + Will cook in 'next'.
343 + source: <pull.1490.v2.git.1678301252360.gitgitgadget@gmail.com>
344 +
345 +
346 * ak/restore-both-incompatible-with-conflicts (2023-02-27) 1 commit
347 (merged to 'next' on 2023-03-06 at 4ee341853c)
348 + restore: fault --staged --worktree with merge opts
@@ -508,9 +603,10 @@ Release tarballs are available at:
603 + branch: avoid unnecessary worktrees traversals
604
605 Error messages given when working on an unborn branch that is
511 - checked out in another worktree have been improvved.
606 + checked out in another worktree have been improved.
607
513 - Will cook in 'next'.
608 + Needs update.
609 + cf. <877b6f9d-bab6-1343-42d0-3e17e3d0a9c5@gmail.com>
610 source: <139555f1-21ab-d987-a58e-c7f04ce222d3@gmail.com>
611
612
@@ -531,7 +627,7 @@ Release tarballs are available at:
627 source: <cover-v2-0.6-00000000000-20230202T093706Z-avarab@gmail.com>
628
629
534 -* ab/config-multi-and-nonbool (2023-03-07) 9 commits
630 +* ab/config-multi-and-nonbool (2023-03-08) 9 commits
631 - for-each-repo: with bad config, don't conflate <path> and <cmd>
632 - config API: add "string" version of *_value_multi(), fix segfaults
633 - config API users: test for *_get_value_multi() segfaults
@@ -544,8 +640,9 @@ Release tarballs are available at:
640
641 Assorted config API updates.
642
547 - Comments?
548 - source: <cover-v6-0.9-00000000000-20230307T180516Z-avarab@gmail.com>
643 + Almost there.
644 + cf. <kl6l8rg5hhen.fsf@chooglen-macbookpro.roam.corp.google.com>
645 + source: <cover-v7-0.9-00000000000-20230308T090513Z-avarab@gmail.com>
646
647
648 * cb/checkout-same-branch-twice (2023-01-20) 1 commit
@@ -578,9 +675,9 @@ Release tarballs are available at:
675 (merged to 'next' on 2023-03-06 at 3508814a41)
676 + bisect: fix "reset" when branch is checked out elsewhere
677
581 - Allow "git bisect reset [name]" to check out the named branch (or
582 - the original one) even when the branch is already checked out in a
583 - different worktree linked to the same repository.
678 + Allow "git bisect reset" to check out the original branch when the
679 + branch is already checked out in a different worktree linked to the
680 + same repository.
681
682 Will cook in 'next'.
683 source: <1c36c334-9f10-3859-c92f-3d889e226769@gmail.com>