What's cooking (2023/12 #05)

Junio C Hamano committed Dec 27, 2023 at 16:21 UTC 489058b80d7f323ee29c4a98eb62a7e000977eb0
1 file changed +328 -338
whats-cooking.txt
+328 -338
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 -Subject: What's cooking in git.git (Dec 2023, #04; Wed, 20)
3 -X-master-at: 055bb6e9969085777b7fab83e3fee0017654f134
4 -X-next-at: def8568c9112108ee4bb819984aa902a04b042ad
2 +Subject: What's cooking in git.git (Dec 2023, #05; Wed, 27)
3 +X-master-at: e79552d19784ee7f4bbce278fe25f93fbda196fa
4 +X-next-at: 99fb0cbb532347ba88a24a050722cdec13dad2e8
5 Bcc: lwn@lwn.net, gitster@pobox.com
6
7 -What's cooking in git.git (Dec 2023, #04; Wed, 20)
7 +What's cooking in git.git (Dec 2023, #05; Wed, 27)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking in my tree. Commits
@@ -17,17 +17,14 @@ topic without enough support may be discarded after a long period of
17 no activity (of course they can be resubmit when new interests
18 arise).
19
20 -The 'maint' branch now points at the maintenance track of Git 2.43,
21 -which was released earlier in the month, and the tip of 'next' has
22 -been rewound and rebuilt on top of Git 2.43. I am planning to start
23 -ejecting topics that have been in the "stalled" state for too long.
24 -
20 The RelNotes symbolic link says we are now working towards Git 2.44.
21 It may not be a bad idea to reflect on what technical debt and UI
22 warts we have accumulated so far to see if we have enough of them to
23 start planning for a breaking Git 3.0 release (or, of course, keep
24 incrementally improve the system, which is much more preferrable---
30 -continuity and stability is good).
25 +continuity and stability is good). End of year being a relatively
26 +quiet period, it may be a good time to think about your favorite pet
27 +peeve, to be discussed early next year.
28
29 Copies of the source code to Git live in many repositories, and the
30 following is a list of the ones I push into or their mirrors. Some
@@ -60,141 +57,321 @@ Release tarballs are available at:
57 --------------------------------------------------
58 [Graduated to 'master']
59
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
60 +* es/add-doc-list-short-form-of-all-in-synopsis (2023-12-15) 1 commit
61 + (merged to 'next' on 2023-12-18 at a4f20da2bf)
62 + + git-add.txt: add missing short option -A to synopsis
63
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>
64 + Doc update.
65 + source: <20231215204333.1253-1-ericsunshine@charter.net>
66
67
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
68 +* jc/checkout-B-branch-in-use (2023-12-13) 2 commits
69 + (merged to 'next' on 2023-12-14 at 0a3998619e)
70 + + checkout: forbid "-B <branch>" from touching a branch used elsewhere
71 + + checkout: refactor die_if_checked_out() caller
72
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>
73 + "git checkout -B <branch> [<start-point>]" allowed a branch that is
74 + in use in another worktree to be updated and checked out, which
75 + might be a bit unexpected. The rule has been tightened, which is a
76 + breaking change. "--ignore-other-worktrees" option is required to
77 + unbreak you, if you are used to the current behaviour that "-B"
78 + overrides the safety.
79 + source: <xmqqjzq9cl70.fsf@gitster.g>
80
81
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
82 +* jc/diff-cached-fsmonitor-fix (2023-09-15) 3 commits
83 + (merged to 'next' on 2023-12-15 at 4aa7596593)
84 + + diff-lib: fix check_removed() when fsmonitor is active
85 + + Merge branch 'jc/fake-lstat' into jc/diff-cached-fsmonitor-fix
86 + + Merge branch 'js/diff-cached-fsmonitor-fix' into jc/diff-cached-fsmonitor-fix
87 + (this branch uses jc/fake-lstat.)
88
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>
89 + The optimization based on fsmonitor in the "diff --cached"
90 + codepath is resurrected with the "fake-lstat" introduced earlier.
91 + cf. <e5295dbe-94d2-3186-5663-2466eba4bdde@jeffhostetler.com>
92 + source: <xmqqr0n0h0tw.fsf@gitster.g>
93
94
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.)
95 +* jc/doc-misspelt-refs-fix (2023-12-18) 1 commit
96 + (merged to 'next' on 2023-12-18 at e7799fd5c9)
97 + + doc: format.notes specify a ref under refs/notes/ hierarchy
98
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>
99 + Doc update.
100 + source: <xmqqjzpfje33.fsf_-_@gitster.g>
101
102
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 "--"
103 +* jc/doc-most-refs-are-not-that-special (2023-12-15) 5 commits
104 + (merged to 'next' on 2023-12-18 at aead30fcc8)
105 + + docs: MERGE_AUTOSTASH is not that special
106 + + docs: AUTO_MERGE is not that special
107 + + refs.h: HEAD is not that special
108 + + git-bisect.txt: BISECT_HEAD is not that special
109 + + git.txt: HEAD is not that special
110
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>
111 + Doc updates.
112 + source: <20231215203245.3622299-1-gitster@pobox.com>
113
114
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.)
115 +* jc/fake-lstat (2023-09-15) 1 commit
116 + (merged to 'next' on 2023-12-15 at 48e34cc0b4)
117 + + cache: add fake_lstat()
118 + (this branch is used by jc/diff-cached-fsmonitor-fix.)
119
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>
120 + A new helper to let us pretend that we called lstat() when we know
121 + our cache_entry is up-to-date via fsmonitor.
122 + cf. <e5295dbe-94d2-3186-5663-2466eba4bdde@jeffhostetler.com>
123 + source: <xmqqcyykig1l.fsf@gitster.g>
124
125
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
126 +* jk/mailinfo-iterative-unquote-comment (2023-12-14) 2 commits
127 + (merged to 'next' on 2023-12-18 at 92363605fd)
128 + + mailinfo: avoid recursion when unquoting From headers
129 + + t5100: make rfc822 comment test more careful
130 + (this branch uses jk/mailinfo-oob-read-fix.)
131
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>
132 + The code to parse the From e-mail header has been updated to avoid
133 + recursion.
134 + source: <20231214214444.GB2297853@coredump.intra.peff.net>
135
136
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
137 +* jk/mailinfo-oob-read-fix (2023-12-12) 1 commit
138 + (merged to 'next' on 2023-12-14 at 0dcfcb0d02)
139 + + mailinfo: fix out-of-bounds memory reads in unquote_quoted_pair()
140 + (this branch is used by jk/mailinfo-iterative-unquote-comment.)
141
155 - Doc update.
156 - source: <20231128065558.1061206-1-mk+copyleft@pimpmybyte.de>
157 -
158 -
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>
142 + OOB read fix.
143 + source: <20231212221243.GA1656116@coredump.intra.peff.net>
144 +
145 +
146 +* jx/fetch-atomic-error-message-fix (2023-12-18) 2 commits
147 + (merged to 'next' on 2023-12-18 at a1988b00e5)
148 + + fetch: no redundant error message for atomic fetch
149 + + t5574: test porcelain output of atomic fetch
150 +
151 + "git fetch --atomic" issued an unnecessary empty error message,
152 + which has been corrected.
153 + cf. <ZX__e7VjyLXIl-uV@tanuki>
154 + source: <cover.1702821462.git.zhiyou.jx@alibaba-inc.com>
155 +
156 +
157 +* ps/chainlint-self-check-update (2023-12-15) 1 commit
158 + (merged to 'next' on 2023-12-18 at 0de2e1807f)
159 + + tests: adjust whitespace in chainlint expectations
160 +
161 + Test framework update.
162 + source: <fb312f559de7b99244e4c86a995250599cd9be06.1702622508.git.ps@pks.im>
163 +
164 +
165 +* ps/clone-into-reftable-repository (2023-12-12) 7 commits
166 + (merged to 'next' on 2023-12-19 at adf7eb1f84)
167 + + builtin/clone: create the refdb with the correct object format
168 + + builtin/clone: skip reading HEAD when retrieving remote
169 + + builtin/clone: set up sparse checkout later
170 + + builtin/clone: fix bundle URIs with mismatching object formats
171 + + remote-curl: rediscover repository when fetching refs
172 + + setup: allow skipping creation of the refdb
173 + + setup: extract function to create the refdb
174 + (this branch is used by ps/refstorage-extension.)
175 +
176 + "git clone" has been prepared to allow cloning a repository with
177 + non-default hash function into a repository that uses the reftable
178 + backend.
179 + source: <cover.1702361370.git.ps@pks.im>
180 +
181 +
182 +* ps/reftable-fixes (2023-12-11) 11 commits
183 + (merged to 'next' on 2023-12-15 at ebba966016)
184 + + reftable/block: reuse buffer to compute record keys
185 + + reftable/block: introduce macro to initialize `struct block_iter`
186 + + reftable/merged: reuse buffer to compute record keys
187 + + reftable/stack: fix use of unseeded randomness
188 + + reftable/stack: fix stale lock when dying
189 + + reftable/stack: reuse buffers when reloading stack
190 + + reftable/stack: perform auto-compaction with transactional interface
191 + + reftable/stack: verify that `reftable_stack_add()` uses auto-compaction
192 + + reftable: handle interrupted writes
193 + + reftable: handle interrupted reads
194 + + reftable: wrap EXPECT macros in do/while
195 + (this branch is used by ps/reftable-fixes-and-optims.)
196 +
197 + Bunch of small fix-ups to the reftable code.
198 + source: <cover.1702285387.git.ps@pks.im>
199 +
200 +
201 +* rs/c99-stdbool-test-balloon (2023-12-18) 1 commit
202 + (merged to 'next' on 2023-12-18 at 5a62aaa127)
203 + + git-compat-util: convert skip_{prefix,suffix}{,_mem} to bool
204 +
205 + Test balloon to use C99 "bool" type from <stdbool.h>.
206 + source: <2d30dc36-6091-4b47-846f-92d3f4a8b135@web.de>
207 +
208 +
209 +* rs/show-ref-incompatible-options (2023-12-11) 1 commit
210 + (merged to 'next' on 2023-12-18 at 5a092285f7)
211 + + show-ref: use die_for_incompatible_opt3()
212 +
213 + Code clean-up for sanity checking of command line options for "git
214 + show-ref".
215 + source: <e5304253-3347-4900-bbf2-d3c6ee3fb976@web.de>
216 +
217 +
218 +* rs/t6300-compressed-size-fix (2023-12-12) 1 commit
219 + (merged to 'next' on 2023-12-19 at 37ed09549c)
220 + + t6300: avoid hard-coding object sizes
221 +
222 + Test fix.
223 + source: <9feeb6cf-aabf-4002-917f-3f6c27547bc8@web.de>
224 +
225 +
226 +* sp/test-i18ngrep (2023-12-18) 1 commit
227 + (merged to 'next' on 2023-12-18 at d54442693a)
228 + + test-lib-functions.sh: fix test_grep fail message wording
229 +
230 + Error message fix in the test framework.
231 + source: <20231203171956.771-1-shreyanshpaliwalcmsmn@gmail.com>
232
233 --------------------------------------------------
234 [New Topics]
235
236 +* ml/doc-merge-updates (2023-12-20) 2 commits
237 + - Documentation/git-merge.txt: use backticks for command wrapping
238 + - Documentation/git-merge.txt: fix reference to synopsis
239 +
240 + Doc update.
241 +
242 + Will merge to 'next'.
243 + source: <20231220195342.17590-1-mi.al.lohmann@gmail.com>
244 +
245 +
246 +* cp/apply-core-filemode (2023-12-26) 3 commits
247 + - apply: code simplification
248 + - apply: correctly reverse patch's pre- and post-image mode bits
249 + - apply: ignore working tree filemode when !core.filemode
250 +
251 + "git apply" on a filesystem without filemode support have learned
252 + to take a hint from what is in the index for the path, even when
253 + not working with the "--index" or "--cached" option, when checking
254 + the executable bit match what is required by the preimage in the
255 + patch.
256 +
257 + Needs review.
258 + source: <20231226233218.472054-1-gitster@pobox.com>
259 +
260 +
261 +* jc/archive-list-with-extra-args (2023-12-21) 1 commit
262 + - archive: "--list" does not take further options
263 +
264 + "git archive --list extra garbage" silently ignored excess command
265 + line parameters, which has been corrected.
266 +
267 + Will merge to 'next'.
268 + source: <xmqqmsu3mnix.fsf@gitster.g>
269 +
270 +
271 +* jk/t1006-cat-file-objectsize-disk (2023-12-21) 1 commit
272 + - t1006: add tests for %(objectsize:disk)
273 +
274 + Test update.
275 +
276 + Will merge to 'next'.
277 + source: <20231221094722.GA570888@coredump.intra.peff.net>
278 +
279 +
280 +* js/contributor-docs-updates (2023-12-21) 9 commits
281 + - SubmittingPatches: hyphenate non-ASCII
282 + - SubmittingPatches: clarify GitHub artifact format
283 + - SubmittingPatches: clarify GitHub visual
284 + - SubmittingPatches: improve extra tags advice
285 + - SubmittingPatches: update extra tags list
286 + - SubmittingPatches: discourage new trailers
287 + - SubmittingPatches: drop ref to "What's in git.git"
288 + - CodingGuidelines: write punctuation marks
289 + - CodingGuidelines: move period inside parentheses
290 +
291 + Doc update.
292 +
293 + Expecting a reroll, but basically looking good.
294 + source: <pull.1623.v2.git.1703176865.gitgitgadget@gmail.com>
295 +
296 +
297 +* al/unit-test-ctype (2023-12-26) 1 commit
298 + - unit-tests: rewrite t/helper/test-ctype.c as a unit test.
299 +
300 + Move test-ctype helper to the unit-test framework.
301 +
302 + Expecting a reroll.
303 + source: <20231221231527.8130-1-ach.lumap@gmail.com>
304 +
305 +
306 +* bk/bisect-doc-fix (2023-12-27) 1 commit
307 + - doc: use singular form of repeatable path arg
308 +
309 + Synopsis fix.
310 +
311 + Expecting a reroll.
312 + source: <3d46bca1-96d4-43ba-a912-1f7c76942287@smtp-relay.sendinblue.com>
313 +
314 +
315 +* en/sparse-checkout-eoo (2023-12-26) 2 commits
316 + - sparse-checkout: be consistent with end of options markers
317 + - Merge branch 'jk/end-of-options' into jc/sparse-checkout-set-add-end-of-options
318 +
319 + "git sparse-checkout (add|set) --[no-]cone --end-of-options" did
320 + not handle "--end-of-options" correctly after a recent update.
321 +
322 + Will merge to 'next'.
323 + source: <pull.1625.v2.git.git.1703619562639.gitgitgadget@gmail.com>
324 +
325 +
326 +* ja/doc-placeholders-fix (2023-12-26) 2 commits
327 + - doc: enforce placeholders in documentation
328 + - doc: enforce dashes in placeholders
329 +
330 + Docfix.
331 +
332 + Needs review.
333 + source: <pull.1626.git.1703539287.gitgitgadget@gmail.com>
334 +
335 +
336 +* jc/sparse-checkout-set-default-fix (2023-12-26) 1 commit
337 + - sparse-checkout: use default patterns for 'set' only !stdin
338 +
339 + "git sparse-checkout set" added default patterns even when the
340 + patterns are being fed from the standard input, which has been
341 + corrected.
342 +
343 + Will merge to 'next'.
344 + source: <20231221065925.3234048-3-gitster@pobox.com>
345 +
346 +
347 +* rs/fast-import-simplify-mempool-allocation (2023-12-26) 1 commit
348 + - fast-import: use mem_pool_calloc()
349 +
350 + Code simplification.
351 +
352 + Will merge to 'next'.
353 + source: <50c1f410-ca37-4c1c-a28b-3e9fad49f2b4@web.de>
354 +
355 +
356 +* rs/mem-pool-improvements (2023-12-26) 2 commits
357 + - mem-pool: simplify alignment calculation
358 + - mem-pool: fix big allocations
359 +
360 + MemPool allocator fixes.
361 +
362 + Will merge to 'next'.
363 + source: <3e15d11a-bd19-49ca-b674-9b50e0ba7fc2@web.de>
364 +
365 +--------------------------------------------------
366 +[Cooking]
367 +
368 * jc/retire-cas-opt-name-constant (2023-12-19) 1 commit
193 - - remote.h: retire CAS_OPT_NAME
369 + (merged to 'next' on 2023-12-21 at 39ef057c8b)
370 + + remote.h: retire CAS_OPT_NAME
371
372 Code clean-up.
373
197 - Will merge to 'next'.
374 + Will merge to 'master'.
375 source: <xmqq5y0uc7tq.fsf@gitster.g>
376
377
@@ -222,7 +399,6 @@ Release tarballs are available at:
399 - worktree: skip reading HEAD when repairing worktrees
400 - t: introduce DEFAULT_REPO_FORMAT prereq
401 - Merge branch 'ps/clone-into-reftable-repository' into ps/refstorage-extension
225 - (this branch uses ps/clone-into-reftable-repository.)
402
403 Introduce a new extension "refstorage" so that we can mark a
404 repository that uses a non-default ref backend, like reftable.
@@ -241,104 +417,24 @@ Release tarballs are available at:
417 - reftable/writer: fix index corruption when writing multiple indices
418 - reftable/stack: do not overwrite errors when compacting
419 - Merge branch 'ps/reftable-fixes' into ps/reftable-fixes-and-optims
244 - (this branch uses ps/reftable-fixes.)
420
421 More fixes and optimizations to the reftable backend.
422
423 Needs review.
424 source: <cover.1703063544.git.ps@pks.im>
425
251 ---------------------------------------------------
252 -[Cooking]
253 -
254 -* jk/mailinfo-oob-read-fix (2023-12-12) 1 commit
255 - (merged to 'next' on 2023-12-14 at 0dcfcb0d02)
256 - + mailinfo: fix out-of-bounds memory reads in unquote_quoted_pair()
257 - (this branch is used by jk/mailinfo-iterative-unquote-comment.)
258 -
259 - OOB read fix.
260 -
261 - Will merge to 'master'.
262 - source: <20231212221243.GA1656116@coredump.intra.peff.net>
263 -
426
427 * ps/pseudo-refs (2023-12-14) 4 commits
266 - - bisect: consistently write BISECT_EXPECTED_REV via the refdb
267 - - refs: complete list of special refs
268 - - refs: propagate errno when reading special refs fails
269 - - wt-status: read HEAD and ORIG_HEAD via the refdb
428 + (merged to 'next' on 2023-12-21 at 3460e3d667)
429 + + bisect: consistently write BISECT_EXPECTED_REV via the refdb
430 + + refs: complete list of special refs
431 + + refs: propagate errno when reading special refs fails
432 + + wt-status: read HEAD and ORIG_HEAD via the refdb
433
434 Assorted changes around pseudoref handling.
435
273 - Will merge to 'next'.
274 - source: <cover.1702560829.git.ps@pks.im>
275 -
276 -
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 -
283 - Will merge to 'master'.
284 - source: <9feeb6cf-aabf-4002-917f-3f6c27547bc8@web.de>
285 -
286 -
287 -* es/add-doc-list-short-form-of-all-in-synopsis (2023-12-15) 1 commit
288 - (merged to 'next' on 2023-12-18 at a4f20da2bf)
289 - + git-add.txt: add missing short option -A to synopsis
290 -
291 - Doc update.
292 -
293 - Will merge to 'master'.
294 - source: <20231215204333.1253-1-ericsunshine@charter.net>
295 -
296 -
297 -* jc/doc-misspelt-refs-fix (2023-12-18) 1 commit
298 - (merged to 'next' on 2023-12-18 at e7799fd5c9)
299 - + doc: format.notes specify a ref under refs/notes/ hierarchy
300 -
301 - Doc update.
302 -
303 - Will merge to 'master'.
304 - source: <xmqqjzpfje33.fsf_-_@gitster.g>
305 -
306 -
307 -* jc/doc-most-refs-are-not-that-special (2023-12-15) 5 commits
308 - (merged to 'next' on 2023-12-18 at aead30fcc8)
309 - + docs: MERGE_AUTOSTASH is not that special
310 - + docs: AUTO_MERGE is not that special
311 - + refs.h: HEAD is not that special
312 - + git-bisect.txt: BISECT_HEAD is not that special
313 - + git.txt: HEAD is not that special
314 -
315 - Doc updates.
316 -
436 Will merge to 'master'.
318 - source: <20231215203245.3622299-1-gitster@pobox.com>
319 -
320 -
321 -* jk/mailinfo-iterative-unquote-comment (2023-12-14) 2 commits
322 - (merged to 'next' on 2023-12-18 at 92363605fd)
323 - + mailinfo: avoid recursion when unquoting From headers
324 - + t5100: make rfc822 comment test more careful
325 - (this branch uses jk/mailinfo-oob-read-fix.)
326 -
327 - The code to parse the From e-mail header has been updated to avoid
328 - recursion.
329 -
330 - Will merge to 'master'.
331 - source: <20231214214444.GB2297853@coredump.intra.peff.net>
332 -
333 -
334 -* ps/chainlint-self-check-update (2023-12-15) 1 commit
335 - (merged to 'next' on 2023-12-18 at 0de2e1807f)
336 - + tests: adjust whitespace in chainlint expectations
337 -
338 - Test framework update.
339 -
340 - Will merge to 'master'.
341 - source: <fb312f559de7b99244e4c86a995250599cd9be06.1702622508.git.ps@pks.im>
437 + source: <cover.1702560829.git.ps@pks.im>
438
439
440 * tb/multi-pack-verbatim-reuse (2023-12-14) 26 commits
@@ -378,39 +474,6 @@ Release tarballs are available at:
474 source: <cover.1702592603.git.me@ttaylorr.com>
475
476
381 -* rs/c99-stdbool-test-balloon (2023-12-18) 1 commit
382 - (merged to 'next' on 2023-12-18 at 5a62aaa127)
383 - + git-compat-util: convert skip_{prefix,suffix}{,_mem} to bool
384 -
385 - Test balloon to use C99 "bool" type from <stdbool.h>.
386 -
387 - Will merge to 'master'.
388 - source: <2d30dc36-6091-4b47-846f-92d3f4a8b135@web.de>
389 -
390 -
391 -* sp/test-i18ngrep (2023-12-18) 1 commit
392 - (merged to 'next' on 2023-12-18 at d54442693a)
393 - + test-lib-functions.sh: fix test_grep fail message wording
394 -
395 - Error message fix in the test framework.
396 -
397 - Will merge to 'master'.
398 - source: <20231203171956.771-1-shreyanshpaliwalcmsmn@gmail.com>
399 -
400 -
401 -* jx/fetch-atomic-error-message-fix (2023-12-18) 2 commits
402 - (merged to 'next' on 2023-12-18 at a1988b00e5)
403 - + fetch: no redundant error message for atomic fetch
404 - + t5574: test porcelain output of atomic fetch
405 -
406 - "git fetch --atomic" issued an unnecessary empty error message,
407 - which has been corrected.
408 -
409 - Will merge to 'master'.
410 - cf. <ZX__e7VjyLXIl-uV@tanuki>
411 - source: <cover.1702821462.git.zhiyou.jx@alibaba-inc.com>
412 -
413 -
477 * jc/bisect-doc (2023-12-09) 1 commit
478 - bisect: document "terms" subcommand more fully
479
@@ -420,17 +483,6 @@ Release tarballs are available at:
483 source: <xmqqzfyjmk02.fsf@gitster.g>
484
485
423 -* rs/show-ref-incompatible-options (2023-12-11) 1 commit
424 - (merged to 'next' on 2023-12-18 at 5a092285f7)
425 - + show-ref: use die_for_incompatible_opt3()
426 -
427 - Code clean-up for sanity checking of command line options for "git
428 - show-ref".
429 -
430 - Will merge to 'master'.
431 - source: <e5304253-3347-4900-bbf2-d3c6ee3fb976@web.de>
432 -
433 -
486 * sh/completion-with-reftable (2023-12-19) 2 commits
487 (merged to 'next' on 2023-12-20 at 7957d4aa5b)
488 + completion: support pseudoref existence checks for reftables
@@ -443,7 +495,7 @@ Release tarballs are available at:
495 source: <cover.1703022850.git.stanhu@gmail.com>
496
497
446 -* en/header-cleanup (2023-12-03) 12 commits
498 +* en/header-cleanup (2023-12-26) 12 commits
499 - treewide: remove unnecessary includes in source files
500 - treewide: add direct includes currently only pulled in transitively
501 - trace2/tr2_tls.h: remove unnecessary include
@@ -459,73 +511,18 @@ Release tarballs are available at:
511
512 Remove unused header "#include".
513
462 - Has a few interactions with topics in flight.
463 - source: <pull.1617.git.1701585682.gitgitgadget@gmail.com>
464 -
465 -
466 -* ps/clone-into-reftable-repository (2023-12-12) 7 commits
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 -
481 - Will merge to 'master'.
482 - source: <cover.1702361370.git.ps@pks.im>
483 -
484 -
485 -* jc/checkout-B-branch-in-use (2023-12-13) 2 commits
486 - (merged to 'next' on 2023-12-14 at 0a3998619e)
487 - + checkout: forbid "-B <branch>" from touching a branch used elsewhere
488 - + checkout: refactor die_if_checked_out() caller
489 -
490 - "git checkout -B <branch> [<start-point>]" allowed a branch that is
491 - in use in another worktree to be updated and checked out, which
492 - might be a bit unexpected. The rule has been tightened, which is a
493 - breaking change. "--ignore-other-worktrees" option is required to
494 - unbreak you, if you are used to the current behaviour that "-B"
495 - overrides the safety.
496 -
497 - Will merge to 'master'.
498 - source: <xmqqjzq9cl70.fsf@gitster.g>
499 -
500 -
501 -* ps/reftable-fixes (2023-12-11) 11 commits
502 - (merged to 'next' on 2023-12-15 at ebba966016)
503 - + reftable/block: reuse buffer to compute record keys
504 - + reftable/block: introduce macro to initialize `struct block_iter`
505 - + reftable/merged: reuse buffer to compute record keys
506 - + reftable/stack: fix use of unseeded randomness
507 - + reftable/stack: fix stale lock when dying
508 - + reftable/stack: reuse buffers when reloading stack
509 - + reftable/stack: perform auto-compaction with transactional interface
510 - + reftable/stack: verify that `reftable_stack_add()` uses auto-compaction
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 -
518 - Will merge to 'master'.
519 - source: <cover.1702285387.git.ps@pks.im>
514 + Will merge to 'next'.
515 + source: <pull.1617.v2.git.1703351700.gitgitgadget@gmail.com>
516
517
518 * 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
519 + (merged to 'next' on 2023-12-21 at 030300487a)
520 + + orphan/unborn: fix use of 'orphan' in end-user facing messages
521 + + orphan/unborn: add to the glossary and use them consistently
522
523 Doc updates to clarify what an "unborn branch" means.
524
528 - Will merge to 'next'.
525 + Will merge to 'master'.
526 source: <xmqq4jhb977x.fsf@gitster.g>
527
528
@@ -539,6 +536,7 @@ Release tarballs are available at:
536 to limit to executables.
537
538 Needs to get leakfix reviewed.
539 + cf. <xmqq5y0ssknj.fsf@gitster.g>
540 source: <20231116054437.2343549-1-jojwang@google.com>
541
542
@@ -617,13 +615,14 @@ Release tarballs are available at:
615
616
617 * 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
618 + (merged to 'next' on 2023-12-21 at e26ede5f55)
619 + + trailer: use offsets for trailer_start/trailer_end
620 + + trailer: find the end of the log message
621 + + commit: ignore_non_trailer computes number of bytes to ignore
622
623 Code clean-up.
624
626 - Will merge to 'next'.
625 + Will merge to 'master'.
626 source: <pull.1563.v5.git.1697828495.gitgitgadget@gmail.com>
627
628
@@ -689,19 +688,6 @@ Release tarballs are available at:
688 source: <cover.1702823801.git.zhiyou.jx@alibaba-inc.com>
689
690
692 -* jc/fake-lstat (2023-09-15) 1 commit
693 - (merged to 'next' on 2023-12-15 at 48e34cc0b4)
694 - + cache: add fake_lstat()
695 - (this branch is used by jc/diff-cached-fsmonitor-fix.)
696 -
697 - A new helper to let us pretend that we called lstat() when we know
698 - our cache_entry is up-to-date via fsmonitor.
699 -
700 - Will merge to 'master'.
701 - cf. <e5295dbe-94d2-3186-5663-2466eba4bdde@jeffhostetler.com>
702 - source: <xmqqcyykig1l.fsf@gitster.g>
703 -
704 -
691 * jc/rerere-cleanup (2023-08-25) 4 commits
692 - rerere: modernize use of empty strbuf
693 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
@@ -715,26 +701,30 @@ Release tarballs are available at:
701
702
703 * rj/status-bisect-while-rebase (2023-10-16) 1 commit
718 - - status: fix branch shown when not only bisecting
704 + (merged to 'next' on 2023-12-21 at 929a027fb7)
705 + + status: fix branch shown when not only bisecting
706
707 "git status" is taught to show both the branch being bisected and
708 being rebased when both are in effect at the same time.
709
723 - Will merge to 'next'.
710 + Will merge to 'master'.
711 cf. <xmqqil76kyov.fsf@gitster.g>
712 source: <2e24ca9b-9c5f-f4df-b9f8-6574a714dfb2@gmail.com>
713
714
728 -* jc/diff-cached-fsmonitor-fix (2023-09-15) 3 commits
729 - (merged to 'next' on 2023-12-15 at 4aa7596593)
730 - + diff-lib: fix check_removed() when fsmonitor is active
731 - + Merge branch 'jc/fake-lstat' into jc/diff-cached-fsmonitor-fix
732 - + Merge branch 'js/diff-cached-fsmonitor-fix' into jc/diff-cached-fsmonitor-fix
733 - (this branch uses jc/fake-lstat.)
715 +--------------------------------------------------
716 +[Discarded]
717
735 - The optimization based on fsmonitor in the "diff --cached"
736 - codepath is resurrected with the "fake-lstat" introduced earlier.
718 +* jc/sparse-checkout-eoo (2023-12-21) 5 commits
719 + . sparse-checkout: tighten add_patterns_from_input()
720 + . sparse-checkout: use default patterns for 'set' only !stdin
721 + . SQUASH??? end-of-options test
722 + . sparse-checkout: take care of "--end-of-options" in set/add/check-rules
723 + - Merge branch 'jk/end-of-options' into jc/sparse-checkout-set-add-end-of-options
724 +
725 + "git sparse-checkout (add|set) --[no-]cone --end-of-options" did
726 + not handle "--end-of-options" correctly after a recent update.
727 +
728 + Superseded by the en/sparse-checkout-eoo topic.
729 + source: <20231221065925.3234048-1-gitster@pobox.com>
730
738 - Will merge to 'master'.
739 - cf. <e5295dbe-94d2-3186-5663-2466eba4bdde@jeffhostetler.com>
740 - source: <xmqqr0n0h0tw.fsf@gitster.g>