What's cooking (2023/12 #04)

Junio C Hamano committed Dec 20, 2023 at 13:36 UTC 8e24d41a26e3ce482016bba1f56dba5d6b84a660
1 file changed +192 -343
whats-cooking.txt
+192 -343
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 -Subject: What's cooking in git.git (Dec 2023, #03; Mon, 18)
3 -X-master-at: 624eb90fa8f65a79396615f3c2842ac5a3743350
4 -X-next-at: 073fad21af32d0c37efae35e0e1830b9bd151fcd
2 +Subject: What's cooking in git.git (Dec 2023, #04; Wed, 20)
3 +X-master-at: 055bb6e9969085777b7fab83e3fee0017654f134
4 +X-next-at: def8568c9112108ee4bb819984aa902a04b042ad
5 Bcc: lwn@lwn.net, gitster@pobox.com
6
7 -What's cooking in git.git (Dec 2023, #03; Mon, 18)
7 +What's cooking in git.git (Dec 2023, #04; Wed, 20)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking in my tree. Commits
@@ -60,126 +60,196 @@ Release tarballs are available at:
60 --------------------------------------------------
61 [Graduated to 'master']
62
63 -* ac/fuzz-show-date (2023-11-20) 1 commit
64 - (merged to 'next' on 2023-12-11 at f36795a896)
65 - + fuzz: add new oss-fuzz fuzzer for date.c / date.h
63 +* en/complete-sparse-checkout (2023-12-03) 4 commits
64 + (merged to 'next' on 2023-12-12 at 3de75bd6af)
65 + + completion: avoid user confusion in non-cone mode
66 + + completion: avoid misleading completions in cone mode
67 + + completion: fix logic for determining whether cone mode is active
68 + + completion: squelch stray errors in sparse-checkout completion
69
67 - Subject approxidate() and show_date() machinery to OSS-Fuzz.
68 - source: <pull.1612.v4.git.1700243267653.gitgitgadget@gmail.com>
70 + Command line completion (in contrib/) learned to complete path
71 + arguments to the "add/set" subcommands of "git sparse-checkout"
72 + better.
73 + source: <pull.1349.v3.git.1701583024.gitgitgadget@gmail.com>
74
75
71 -* ad/merge-file-diff-algo (2023-11-22) 1 commit
72 - (merged to 'next' on 2023-12-11 at ab43a54c43)
73 - + merge-file: add --diff-algorithm option
76 +* jc/revision-parse-int (2023-12-09) 1 commit
77 + (merged to 'next' on 2023-12-12 at 6209b4c97c)
78 + + revision: parse integer arguments to --max-count, --skip, etc., more carefully
79
75 - "git merge-file" learned to take the "--diff-algorithm" option to
76 - use algorithm different from the default "myers" diff.
77 - source: <pull.1606.v2.git.git.1700507932937.gitgitgadget@gmail.com>
80 + The command line parser for the "log" family of commands was too
81 + loose when parsing certain numbers, e.g., silently ignoring the
82 + extra 'q' in "git log -n 1q" without complaining, which has been
83 + tightened up.
84 + source: <xmqq5y181fx0.fsf_-_@gitster.g>
85
86
80 -* cc/git-replay (2023-11-26) 14 commits
81 - (merged to 'next' on 2023-12-11 at 6f7d123578)
82 - + replay: stop assuming replayed branches do not diverge
83 - + replay: add --contained to rebase contained branches
84 - + replay: add --advance or 'cherry-pick' mode
85 - + replay: use standard revision ranges
86 - + replay: make it a minimal server side command
87 - + replay: remove HEAD related sanity check
88 - + replay: remove progress and info output
89 - + replay: add an important FIXME comment about gpg signing
90 - + replay: change rev walking options
91 - + replay: introduce pick_regular_commit()
92 - + replay: die() instead of failing assert()
93 - + replay: start using parse_options API
94 - + replay: introduce new builtin
95 - + t6429: remove switching aspects of fast-rebase
87 +* jk/bisect-reset-fix (2023-12-09) 1 commit
88 + (merged to 'next' on 2023-12-12 at 8f946eafb6)
89 + + bisect: always clean on reset
90
97 - Introduce "git replay", a tool meant on the server side without
98 - working tree to recreate a history.
99 - cf. <6bfe1541-54dd-ca6b-e930-94d3038060f1@gmx.de>
100 - source: <20231124111044.3426007-1-christian.couder@gmail.com>
91 + "git bisect reset" has been taught to clean up state files and refs
92 + even when BISECT_START file is gone.
93 + source: <20231207065341.GA778781@coredump.intra.peff.net>
94
95
103 -* jb/reflog-expire-delete-dry-run-options (2023-11-26) 1 commit
104 - (merged to 'next' on 2023-12-11 at c7e9846963)
105 - + builtin/reflog.c: fix dry-run option short name
96 +* jk/config-cleanup (2023-12-09) 9 commits
97 + (merged to 'next' on 2023-12-12 at 44ee006c25)
98 + + sequencer: simplify away extra git_config_string() call
99 + + gpg-interface: drop pointless config_error_nonbool() checks
100 + + push: drop confusing configset/callback redundancy
101 + + config: use git_config_string() for core.checkRoundTripEncoding
102 + + diff: give more detailed messages for bogus diff.* config
103 + + config: use config_error_nonbool() instead of custom messages
104 + + imap-send: don't use git_die_config() inside callback
105 + + git_xmerge_config(): prefer error() to die()
106 + + config: reject bogus values for core.checkstat
107 + (this branch uses jk/implicit-true.)
108
107 - Command line parsing fix for "git reflog".
108 - source: <20231126000514.85509-1-josh@brob.st>
109 + Code clean-up around use of configuration variables.
110 + source: <20231207071030.GA1275835@coredump.intra.peff.net>
111 + source: <20231207072338.GA1277727@coredump.intra.peff.net>
112
113
111 -* jh/trace2-redact-auth (2023-11-23) 4 commits
112 - (merged to 'next' on 2023-12-11 at 7e679a4c4d)
113 - + t0212: test URL redacting in EVENT format
114 - + t0211: test URL redacting in PERF format
115 - + trace2: redact passwords from https:// URLs by default
116 - + trace2: fix signature of trace2_def_param() macro
114 +* jk/end-of-options (2023-12-09) 1 commit
115 + (merged to 'next' on 2023-12-12 at 4ae454b26d)
116 + + parse-options: decouple "--end-of-options" and "--"
117
118 - trace2 streams used to record the URLs that potentially embed
119 - authentication material, which has been corrected.
120 - source: <pull.1616.git.1700680717.gitgitgadget@gmail.com>
118 + "git $cmd --end-of-options --rev -- --path" for some $cmd failed
119 + to interpret "--rev" as a rev, and "--path" as a path. This was
120 + fixed for many programs like "reset" and "checkout".
121 + source: <20231206222145.GA136253@coredump.intra.peff.net>
122
123
123 -* js/packfile-h-typofix (2023-11-20) 1 commit
124 - (merged to 'next' on 2023-12-11 at 328399439a)
125 - + packfile.c: fix a typo in `each_file_in_pack_dir_fn()`'s declaration
124 +* jk/implicit-true (2023-12-09) 7 commits
125 + (merged to 'next' on 2023-12-12 at 2a42fdc998)
126 + + fsck: handle NULL value when parsing message config
127 + + trailer: handle NULL value when parsing trailer-specific config
128 + + submodule: handle NULL value when parsing submodule.*.branch
129 + + help: handle NULL value for alias.* config
130 + + trace2: handle NULL values in tr2_sysenv config callback
131 + + setup: handle NULL value when parsing extensions
132 + + config: handle NULL value when parsing non-bools
133 + (this branch is used by jk/config-cleanup.)
134
127 - Typofix.
128 - source: <pull.1614.git.1700226915859.gitgitgadget@gmail.com>
135 + Some codepaths did not correctly parse configuration variables
136 + specified with valueless "true", which has been corrected.
137 + source: <20231207071030.GA1275835@coredump.intra.peff.net>
138
139
131 -* js/update-urls-in-doc-and-comment (2023-11-26) 4 commits
132 - (merged to 'next' on 2023-12-11 at 3cda3f2a03)
133 - + doc: refer to internet archive
134 - + doc: update links for andre-simon.de
135 - + doc: switch links to https
136 - + doc: update links to current pages
140 +* jp/use-diff-index-in-pre-commit-sample (2023-12-03) 1 commit
141 + (merged to 'next' on 2023-12-12 at 4771ea61b9)
142 + + hooks--pre-commit: detect non-ASCII when renaming
143
138 - Stale URLs have been updated to their current counterparts (or
139 - archive.org) and HTTP links are replaced with working HTTPS links.
140 - source: <pull.1589.v3.git.1700796916.gitgitgadget@gmail.com>
144 + The sample pre-commit hook that tries to catch introduction of new
145 + paths that use potentially non-portable characters did not notice
146 + an existing path getting renamed to such a problematic path, when
147 + rename detection was enabled.
148 + source: <pull.1291.v2.git.git.1701360836307.gitgitgadget@gmail.com>
149
150
143 -* ps/commit-graph-less-paranoid (2023-11-26) 1 commit
144 - (merged to 'next' on 2023-12-11 at 618bd08fa1)
145 - + commit-graph: disable GIT_COMMIT_GRAPH_PARANOIA by default
151 +* mk/doc-gitfile-more (2023-12-03) 1 commit
152 + (merged to 'next' on 2023-12-12 at 7990e4a163)
153 + + doc: make the gitfile syntax easier to discover
154
147 - Earlier we stopped relying on commit-graph that (still) records
148 - information about commits that are lost from the object store,
149 - which has negative performance implications. The default has been
150 - flipped to disable this pessimization.
151 - source: <17e08289cd59d20de0de9b4e18f5e6bf77987351.1700823746.git.ps@pks.im>
155 + Doc update.
156 + source: <20231128065558.1061206-1-mk+copyleft@pimpmybyte.de>
157
158
154 -* ps/ref-deletion-updates (2023-11-17) 4 commits
155 - (merged to 'next' on 2023-12-11 at ca551a0c36)
156 - + refs: remove `delete_refs` callback from backends
157 - + refs: deduplicate code to delete references
158 - + refs/files: use transactions to delete references
159 - + t5510: ensure that the packed-refs file needs locking
159 +* ps/ref-tests-update-more (2023-12-03) 10 commits
160 + (merged to 'next' on 2023-12-12 at 3d4004fe3b)
161 + + t6301: write invalid object ID via `test-tool ref-store`
162 + + t5551: stop writing packed-refs directly
163 + + t5401: speed up creation of many branches
164 + + t4013: simplify magic parsing and drop "failure"
165 + + t3310: stop checking for reference existence via `test -f`
166 + + t1417: make `reflog --updateref` tests backend agnostic
167 + + t1410: use test-tool to create empty reflog
168 + + t1401: stop treating FETCH_HEAD as real reference
169 + + t1400: split up generic reflog tests from the reffile-specific ones
170 + + t0410: mark tests to require the reffiles backend
171 +
172 + Tests update.
173 + source: <cover.1701242407.git.ps@pks.im>
174 +
175 +
176 +* rs/incompatible-options-messages (2023-12-09) 7 commits
177 + (merged to 'next' on 2023-12-12 at a13847a7f6)
178 + + worktree: simplify incompatibility message for --orphan and commit-ish
179 + + worktree: standardize incompatibility messages
180 + + clean: factorize incompatibility message
181 + + revision, rev-parse: factorize incompatibility messages about - -exclude-hidden
182 + + revision: use die_for_incompatible_opt3() for - -graph/--reverse/--walk-reflogs
183 + + repack: use die_for_incompatible_opt3() for -A/-k/--cruft
184 + + push: use die_for_incompatible_opt4() for - -delete/--tags/--all/--mirror
185 +
186 + Clean-up code that handles combinations of incompatible options.
187 + source: <20231206115215.94467-1-l.s.r@web.de>
188
161 - Simplify API implementation to delete references by eliminating
162 - duplication.
163 - source: <cover.1699951815.git.ps@pks.im>
189 +--------------------------------------------------
190 +[New Topics]
191
192 +* jc/retire-cas-opt-name-constant (2023-12-19) 1 commit
193 + - remote.h: retire CAS_OPT_NAME
194
166 -* rs/column-leakfix (2023-11-27) 1 commit
167 - (merged to 'next' on 2023-12-11 at 9ac1707337)
168 - + column: release strbuf and string_list after use
195 + Code clean-up.
196
170 - Leakfix.
171 - source: <f087137d-a5aa-487e-a1cb-0ad7117b38ed@web.de>
197 + Will merge to 'next'.
198 + source: <xmqq5y0uc7tq.fsf@gitster.g>
199
200
174 -* rs/i18n-cannot-be-used-together (2023-11-27) 1 commit
175 - (merged to 'next' on 2023-12-11 at a44e1c84c9)
176 - + i18n: factorize even more 'incompatible options' messages
201 +* rs/rebase-use-strvec-pushf (2023-12-20) 1 commit
202 + (merged to 'next' on 2023-12-20 at ecb190973c)
203 + + rebase: use strvec_pushf() for format-patch revisions
204
178 - Clean-up code that handles combinations of incompatible options.
179 - source: <e6eb12e4-bb63-473c-9c2f-965a4d5981ad@web.de>
205 + Code clean-up.
206 +
207 + Will merge to 'master'.
208 + source: <4ab7431c-6c1b-448c-b4d2-e8b9be0e4eef@web.de>
209 +
210 +
211 +* ps/refstorage-extension (2023-12-20) 13 commits
212 + - t9500: write "extensions.refstorage" into config
213 + - builtin/clone: introduce `--ref-format=` value flag
214 + - builtin/init: introduce `--ref-format=` value flag
215 + - builtin/rev-parse: introduce `--show-ref-format` flag
216 + - t: introduce GIT_TEST_DEFAULT_REF_FORMAT envvar
217 + - setup: introduce GIT_DEFAULT_REF_FORMAT envvar
218 + - setup: introduce "extensions.refStorage" extension
219 + - setup: set repository's formats on init
220 + - setup: start tracking ref storage format when
221 + - refs: refactor logic to look up storage backends
222 + - worktree: skip reading HEAD when repairing worktrees
223 + - t: introduce DEFAULT_REPO_FORMAT prereq
224 + - Merge branch 'ps/clone-into-reftable-repository' into ps/refstorage-extension
225 + (this branch uses ps/clone-into-reftable-repository.)
226 +
227 + Introduce a new extension "refstorage" so that we can mark a
228 + repository that uses a non-default ref backend, like reftable.
229 +
230 + Needs review.
231 + source: <cover.1703067989.git.ps@pks.im>
232 +
233 +
234 +* ps/reftable-fixes-and-optims (2023-12-20) 9 commits
235 + - SQUASH??? make "make hdr-check" pass
236 + - reftable/merged: transfer ownership of records when iterating
237 + - reftable/merged: really reuse buffers to compute record keys
238 + - reftable/record: store "val2" hashes as static arrays
239 + - reftable/record: store "val1" hashes as static arrays
240 + - reftable/record: constify some parts of the interface
241 + - reftable/writer: fix index corruption when writing multiple indices
242 + - reftable/stack: do not overwrite errors when compacting
243 + - Merge branch 'ps/reftable-fixes' into ps/reftable-fixes-and-optims
244 + (this branch uses ps/reftable-fixes.)
245 +
246 + More fixes and optimizations to the reftable backend.
247 +
248 + Needs review.
249 + source: <cover.1703063544.git.ps@pks.im>
250
251 --------------------------------------------------
182 -[New Topics]
252 +[Cooking]
253
254 * jk/mailinfo-oob-read-fix (2023-12-12) 1 commit
255 (merged to 'next' on 2023-12-14 at 0dcfcb0d02)
@@ -199,18 +269,19 @@ Release tarballs are available at:
269 - wt-status: read HEAD and ORIG_HEAD via the refdb
270
271 Assorted changes around pseudoref handling.
272 +
273 + Will merge to 'next'.
274 source: <cover.1702560829.git.ps@pks.im>
275
276
205 -* rs/t6300-compressed-size-fix (2023-12-13) 2 commits
206 - - test-lib-functions: add object size functions
207 - - t6300: avoid hard-coding object sizes
277 +* rs/t6300-compressed-size-fix (2023-12-12) 1 commit
278 + (merged to 'next' on 2023-12-19 at 37ed09549c)
279 + + t6300: avoid hard-coding object sizes
280
281 Test fix.
282
211 - Will merge to 'next'?
283 + Will merge to 'master'.
284 source: <9feeb6cf-aabf-4002-917f-3f6c27547bc8@web.de>
213 - source: <ff735aac-b60b-4d52-a6dc-180ab504fc8d@web.de>
285
286
287 * es/add-doc-list-short-form-of-all-in-synopsis (2023-12-15) 1 commit
@@ -303,6 +374,7 @@ Release tarballs are available at:
374 has been extended to allow reuse from other packfiles, too.
375
376 Will merge to 'next'?
377 + cf. <ZXurD1NTZ4TAs7WZ@nand.local>
378 source: <cover.1702592603.git.me@ttaylorr.com>
379
380
@@ -325,8 +397,6 @@ Release tarballs are available at:
397 Will merge to 'master'.
398 source: <20231203171956.771-1-shreyanshpaliwalcmsmn@gmail.com>
399
328 ---------------------------------------------------
329 -[Cooking]
400
401 * jx/fetch-atomic-error-message-fix (2023-12-18) 2 commits
402 (merged to 'next' on 2023-12-18 at a1988b00e5)
@@ -361,57 +431,16 @@ Release tarballs are available at:
431 source: <e5304253-3347-4900-bbf2-d3c6ee3fb976@web.de>
432
433
364 -* jp/use-diff-index-in-pre-commit-sample (2023-12-03) 1 commit
365 - (merged to 'next' on 2023-12-12 at 4771ea61b9)
366 - + hooks--pre-commit: detect non-ASCII when renaming
367 -
368 - The sample pre-commit hook that tries to catch introduction of new
369 - paths that use potentially non-portable characters did not notice
370 - an existing path getting renamed to such a problematic path, when
371 - rename detection was enabled.
372 -
373 - Will merge to 'master'.
374 - source: <pull.1291.v2.git.git.1701360836307.gitgitgadget@gmail.com>
375 -
376 -
377 -* mk/doc-gitfile-more (2023-12-03) 1 commit
378 - (merged to 'next' on 2023-12-12 at 7990e4a163)
379 - + doc: make the gitfile syntax easier to discover
380 -
381 - Doc update.
382 -
383 - Will merge to 'master'.
384 - source: <20231128065558.1061206-1-mk+copyleft@pimpmybyte.de>
385 -
386 -
387 -* ps/ref-tests-update-more (2023-12-03) 10 commits
388 - (merged to 'next' on 2023-12-12 at 3d4004fe3b)
389 - + t6301: write invalid object ID via `test-tool ref-store`
390 - + t5551: stop writing packed-refs directly
391 - + t5401: speed up creation of many branches
392 - + t4013: simplify magic parsing and drop "failure"
393 - + t3310: stop checking for reference existence via `test -f`
394 - + t1417: make `reflog --updateref` tests backend agnostic
395 - + t1410: use test-tool to create empty reflog
396 - + t1401: stop treating FETCH_HEAD as real reference
397 - + t1400: split up generic reflog tests from the reffile-specific ones
398 - + t0410: mark tests to require the reffiles backend
399 -
400 - Tests update.
401 -
402 - Will merge to 'master'.
403 - source: <cover.1701242407.git.ps@pks.im>
404 -
405 -
406 -* sh/completion-with-reftable (2023-12-03) 2 commits
407 - - completion: stop checking for reference existence via `test -f`
408 - - completion: refactor existence checks for special refs
434 +* sh/completion-with-reftable (2023-12-19) 2 commits
435 + (merged to 'next' on 2023-12-20 at 7957d4aa5b)
436 + + completion: support pseudoref existence checks for reftables
437 + + completion: refactor existence checks for pseudorefs
438
439 Command line completion script (in contrib/) learned to work better
440 with the reftable backend.
441
413 - Expecting a reroll.
414 - source: <20231130202404.89791-1-stanhu@gmail.com>
442 + Will merge to 'master'.
443 + source: <cover.1703022850.git.stanhu@gmail.com>
444
445
446 * en/header-cleanup (2023-12-03) 12 commits
@@ -434,111 +463,23 @@ Release tarballs are available at:
463 source: <pull.1617.git.1701585682.gitgitgadget@gmail.com>
464
465
437 -* jc/revision-parse-int (2023-12-09) 1 commit
438 - (merged to 'next' on 2023-12-12 at 6209b4c97c)
439 - + revision: parse integer arguments to --max-count, --skip, etc., more carefully
440 -
441 - The command line parser for the "log" family of commands was too
442 - loose when parsing certain numbers, e.g., silently ignoring the
443 - extra 'q' in "git log -n 1q" without complaining, which has been
444 - tightened up.
445 -
446 - Will merge to 'master'.
447 - source: <xmqq5y181fx0.fsf_-_@gitster.g>
448 -
449 -
450 -* jk/bisect-reset-fix (2023-12-09) 1 commit
451 - (merged to 'next' on 2023-12-12 at 8f946eafb6)
452 - + bisect: always clean on reset
453 -
454 - "git bisect reset" has been taught to clean up state files and refs
455 - even when BISECT_START file is gone.
456 -
457 - Will merge to 'master'.
458 - source: <20231207065341.GA778781@coredump.intra.peff.net>
459 -
460 -
461 -* jk/implicit-true (2023-12-09) 7 commits
462 - (merged to 'next' on 2023-12-12 at 2a42fdc998)
463 - + fsck: handle NULL value when parsing message config
464 - + trailer: handle NULL value when parsing trailer-specific config
465 - + submodule: handle NULL value when parsing submodule.*.branch
466 - + help: handle NULL value for alias.* config
467 - + trace2: handle NULL values in tr2_sysenv config callback
468 - + setup: handle NULL value when parsing extensions
469 - + config: handle NULL value when parsing non-bools
470 - (this branch is used by jk/config-cleanup.)
471 -
472 - Some codepaths did not correctly parse configuration variables
473 - specified with valueless "true", which has been corrected.
474 -
475 - Will merge to 'master'.
476 - source: <20231207071030.GA1275835@coredump.intra.peff.net>
477 -
478 -
479 -* jk/config-cleanup (2023-12-09) 9 commits
480 - (merged to 'next' on 2023-12-12 at 44ee006c25)
481 - + sequencer: simplify away extra git_config_string() call
482 - + gpg-interface: drop pointless config_error_nonbool() checks
483 - + push: drop confusing configset/callback redundancy
484 - + config: use git_config_string() for core.checkRoundTripEncoding
485 - + diff: give more detailed messages for bogus diff.* config
486 - + config: use config_error_nonbool() instead of custom messages
487 - + imap-send: don't use git_die_config() inside callback
488 - + git_xmerge_config(): prefer error() to die()
489 - + config: reject bogus values for core.checkstat
490 - (this branch uses jk/implicit-true.)
491 -
492 - Code clean-up around use of configuration variables.
493 -
494 - Will merge to 'master'.
495 - source: <20231207071030.GA1275835@coredump.intra.peff.net>
496 - source: <20231207072338.GA1277727@coredump.intra.peff.net>
497 -
498 -
499 -* jk/end-of-options (2023-12-09) 1 commit
500 - (merged to 'next' on 2023-12-12 at 4ae454b26d)
501 - + parse-options: decouple "--end-of-options" and "--"
502 -
503 - "git $cmd --end-of-options --rev -- --path" for some $cmd failed
504 - to interpret "--rev" as a rev, and "--path" as a path. This was
505 - fixed for many programs like "reset" and "checkout".
506 -
507 - Will merge to 'master'.
508 - source: <20231206222145.GA136253@coredump.intra.peff.net>
509 -
510 -
466 * ps/clone-into-reftable-repository (2023-12-12) 7 commits
512 - - builtin/clone: create the refdb with the correct object format
513 - - builtin/clone: skip reading HEAD when retrieving remote
514 - - builtin/clone: set up sparse checkout later
515 - - builtin/clone: fix bundle URIs with mismatching object formats
516 - - remote-curl: rediscover repository when fetching refs
517 - - setup: allow skipping creation of the refdb
518 - - setup: extract function to create the refdb
467 + (merged to 'next' on 2023-12-19 at adf7eb1f84)
468 + + builtin/clone: create the refdb with the correct object format
469 + + builtin/clone: skip reading HEAD when retrieving remote
470 + + builtin/clone: set up sparse checkout later
471 + + builtin/clone: fix bundle URIs with mismatching object formats
472 + + remote-curl: rediscover repository when fetching refs
473 + + setup: allow skipping creation of the refdb
474 + + setup: extract function to create the refdb
475 + (this branch is used by ps/refstorage-extension.)
476
477 "git clone" has been prepared to allow cloning a repository with
478 non-default hash function into a repository that uses the reftable
479 backend.
480
524 - Will merge to 'next'?
525 - source: <cover.1702361370.git.ps@pks.im>
526 -
527 -
528 -* rs/incompatible-options-messages (2023-12-09) 7 commits
529 - (merged to 'next' on 2023-12-12 at a13847a7f6)
530 - + worktree: simplify incompatibility message for --orphan and commit-ish
531 - + worktree: standardize incompatibility messages
532 - + clean: factorize incompatibility message
533 - + revision, rev-parse: factorize incompatibility messages about - -exclude-hidden
534 - + revision: use die_for_incompatible_opt3() for - -graph/--reverse/--walk-reflogs
535 - + repack: use die_for_incompatible_opt3() for -A/-k/--cruft
536 - + push: use die_for_incompatible_opt4() for - -delete/--tags/--all/--mirror
537 -
538 - Clean-up code that handles combinations of incompatible options.
539 -
481 Will merge to 'master'.
541 - source: <20231206115215.94467-1-l.s.r@web.de>
482 + source: <cover.1702361370.git.ps@pks.im>
483
484
485 * jc/checkout-B-branch-in-use (2023-12-13) 2 commits
@@ -570,6 +511,7 @@ Release tarballs are available at:
511 + reftable: handle interrupted writes
512 + reftable: handle interrupted reads
513 + reftable: wrap EXPECT macros in do/while
514 + (this branch is used by ps/reftable-fixes-and-optims.)
515
516 Bunch of small fix-ups to the reftable code.
517
@@ -577,28 +519,13 @@ Release tarballs are available at:
519 source: <cover.1702285387.git.ps@pks.im>
520
521
580 -* en/complete-sparse-checkout (2023-12-03) 4 commits
581 - (merged to 'next' on 2023-12-12 at 3de75bd6af)
582 - + completion: avoid user confusion in non-cone mode
583 - + completion: avoid misleading completions in cone mode
584 - + completion: fix logic for determining whether cone mode is active
585 - + completion: squelch stray errors in sparse-checkout completion
586 -
587 - Command line completion (in contrib/) learned to complete path
588 - arguments to the "add/set" subcommands of "git sparse-checkout"
589 - better.
590 -
591 - Will merge to 'master'.
592 - source: <pull.1349.v3.git.1701583024.gitgitgadget@gmail.com>
593 -
594 -
522 * jc/orphan-unborn (2023-11-24) 2 commits
523 - orphan/unborn: fix use of 'orphan' in end-user facing messages
524 - orphan/unborn: add to the glossary and use them consistently
525
526 Doc updates to clarify what an "unborn branch" means.
527
601 - Comments?
528 + Will merge to 'next'.
529 source: <xmqq4jhb977x.fsf@gitster.g>
530
531
@@ -669,7 +596,8 @@ Release tarballs are available at:
596 on systems whose "char" is unsigned; update the implementation and
597 bump the format version to 2.
598
672 - Needs (hopefully final and quick) review.
599 + Expecting a reroll.
600 + cf. <20231023202212.GA5470@szeder.dev>
601 source: <cover.1697653929.git.me@ttaylorr.com>
602
603
@@ -688,14 +616,14 @@ Release tarballs are available at:
616 source: <20231023221143.72489-1-andy.koppe@gmail.com>
617
618
691 -* la/trailer-cleanups (2023-10-20) 3 commits
619 +* la/trailer-cleanups (2023-12-20) 3 commits
620 - trailer: use offsets for trailer_start/trailer_end
621 - trailer: find the end of the log message
622 - commit: ignore_non_trailer computes number of bytes to ignore
623
624 Code clean-up.
625
698 - Comments?
626 + Will merge to 'next'.
627 source: <pull.1563.v5.git.1697828495.gitgitgadget@gmail.com>
628
629
@@ -792,62 +720,10 @@ Release tarballs are available at:
720 "git status" is taught to show both the branch being bisected and
721 being rebased when both are in effect at the same time.
722
795 - Needs review.
723 + Will merge to 'next'.
724 + cf. <xmqqil76kyov.fsf@gitster.g>
725 source: <2e24ca9b-9c5f-f4df-b9f8-6574a714dfb2@gmail.com>
726
798 ---------------------------------------------------
799 -[Discarded]
800 -
801 -* ak/p4-initial-empty-commits (2023-11-23) 1 commit
802 - - git-p4: fix fast import when empty commit is first
803 -
804 - Expecting a reroll.
805 - source: <pull.1609.git.git.1700639764041.gitgitgadget@gmail.com>
806 -
807 -
808 -* js/bugreport-in-the-same-minute (2023-10-16) 1 commit
809 - - bugreport: include +i in outfile suffix as needed
810 -
811 - Instead of auto-generating a filename that is already in use for
812 - output and fail the command, `git bugreport` learned to fuzz the
813 - filename to avoid collisions with existing files.
814 -
815 - Expecting a reroll.
816 - cf. <ZTtZ5CbIGETy1ucV.jacob@initialcommit.io>
817 - source: <20231016214045.146862-2-jacob@initialcommit.io>
818 -
819 -
820 -* kh/t7900-cleanup (2023-10-17) 9 commits
821 - - t7900: fix register dependency
822 - - t7900: factor out packfile dependency
823 - - t7900: fix `print-args` dependency
824 - - t7900: fix `pfx` dependency
825 - - t7900: factor out common schedule setup
826 - - t7900: factor out inheritance test dependency
827 - - t7900: create commit so that branch is born
828 - - t7900: setup and tear down clones
829 - - t7900: remove register dependency
830 -
831 - Test clean-up.
832 -
833 - Perhaps discard?
834 - cf. <655ca147-c214-41be-919d-023c1b27b311@app.fastmail.com>
835 - source: <cover.1697319294.git.code@khaugsbakk.name>
836 -
837 -
838 -* js/config-parse (2023-09-21) 5 commits
839 - - config-parse: split library out of config.[c|h]
840 - - config.c: accept config_parse_options in git_config_from_stdin
841 - - config: report config parse errors using cb
842 - - config: split do_event() into start and flush operations
843 - - config: split out config_parse_options
844 -
845 - The parsing routines for the configuration files have been split
846 - into a separate file.
847 -
848 - Needs review.
849 - source: <cover.1695330852.git.steadmon@google.com>
850 -
727
728 * jc/diff-cached-fsmonitor-fix (2023-09-15) 3 commits
729 (merged to 'next' on 2023-12-15 at 4aa7596593)
@@ -862,30 +738,3 @@ Release tarballs are available at:
738 Will merge to 'master'.
739 cf. <e5295dbe-94d2-3186-5663-2466eba4bdde@jeffhostetler.com>
740 source: <xmqqr0n0h0tw.fsf@gitster.g>
865 -
866 -
867 -* pw/rebase-sigint (2023-09-07) 1 commit
868 - - rebase -i: ignore signals when forking subprocesses
869 -
870 - If the commit log editor or other external programs (spawned via
871 - "exec" insn in the todo list) receive internactive signal during
872 - "git rebase -i", it caused not just the spawned program but the
873 - "Git" process that spawned them, which is often not what the end
874 - user intended. "git" learned to ignore SIGINT and SIGQUIT while
875 - waiting for these subprocesses.
876 -
877 - Expecting a reroll.
878 - cf. <12c956ea-330d-4441-937f-7885ab519e26@gmail.com>
879 - source: <pull.1581.git.1694080982621.gitgitgadget@gmail.com>
880 -
881 -
882 -* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
883 - - cherry-pick: refuse cherry-pick sequence if index is dirty
884 -
885 - "git cherry-pick A" that replays a single commit stopped before
886 - clobbering local modification, but "git cherry-pick A..B" did not,
887 - which has been corrected.
888 -
889 - Expecting a reroll.
890 - cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
891 - source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>