What's cooking (2023/07 #05)

Junio C Hamano committed Jul 25, 2023 at 12:38 UTC cdae53671e9df618afc8c4cc291ab9e8d7549869
1 file changed +348 -433
whats-cooking.txt
+348 -433
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 -Subject: What's cooking in git.git (Jul 2023, #04; Wed, 19)
3 -X-master-at: cba07a324d2cda06dd7a7b35b4579f800de024aa
4 -X-next-at: 738d25bbb685449ecded16e19329234bf5fa711f
2 +Subject: What's cooking in git.git (Jul 2023, #05; Tue, 25)
3 +X-master-at: a80be152923a46f04a06bade7bcc72870e46ca09
4 +X-next-at: 7dcf015ea4152b2113f79acb1e230aef744551f3
5 Bcc: lwn@lwn.net, gitster@pobox.com
6
7 -What's cooking in git.git (Jul 2023, #04; Wed, 19)
7 +What's cooking in git.git (Jul 2023, #05; Tue, 25)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking in my tree. Commits
@@ -48,159 +48,45 @@ Release tarballs are available at:
48 --------------------------------------------------
49 [Graduated to 'master']
50
51 -* cw/compat-util-header-cleanup (2023-07-05) 6 commits
52 - (merged to 'next' on 2023-07-08 at c244b65c4f)
53 - + git-compat-util: move alloc macros to git-compat-util.h
54 - + treewide: remove unnecessary includes for wrapper.h
55 - + kwset: move translation table from ctype
56 - + sane-ctype.h: create header for sane-ctype macros
57 - + git-compat-util: move wrapper.c funcs to its header
58 - + git-compat-util: move strbuf.c funcs to its header
59 -
60 - Further shuffling of declarations across header files to streamline
61 - file dependencies.
62 - source: <20230705170812.3833103-1-calvinwan@google.com>
63 -
64 -
65 -* jc/pathspec-match-with-common-prefix (2023-07-08) 2 commits
66 - (merged to 'next' on 2023-07-10 at 4146f391ed)
67 - + dir: match "attr" pathspec magic with correct paths
68 - + t6135: attr magic with path pattern
51 +* ah/advise-force-pushing (2023-07-13) 3 commits
52 + (merged to 'next' on 2023-07-17 at b040e8280e)
53 + + push: don't imply that integration is always required before pushing
54 + + remote: don't imply that integration is always required before pushing
55 + + wt-status: don't show divergence advice when committing
56
70 - "git ls-files '(attr:X)D/'" that triggers the common prefix
71 - optimization codepath failed to read from "D/.gitattributes",
72 - which has been corrected.
73 - source: <20230707220457.3655121-1-gitster@pobox.com>
57 + Help newbies by suggesting that there are cases where force-pushing
58 + is a valid and sensible thing to update a branch at a remote
59 + repository, rather than reconciling with merge/rebase.
60 + source: <20230713044128.3771818-1-alexhenrie24@gmail.com>
61
62
76 -* jk/imap-send-unused-variable-cleanup (2023-07-05) 3 commits
77 - (merged to 'next' on 2023-07-06 at d2798ee0fe)
78 - + imap-send: drop unused fields from imap_cmd_cb
79 - + imap-send: drop unused parameter from imap_cmd_cb callback
80 - + imap-send: use server conf argument in setup_curl()
63 +* dk/bundle-i18n-more (2023-07-13) 1 commit
64 + (merged to 'next' on 2023-07-18 at a9745efbe2)
65 + + i18n: mark more bundle.c strings for translation
66
82 - "imap-send" codepaths got cleaned up to get rid of unused
83 - parameters.
84 - source: <20230703063247.GA3524302@coredump.intra.peff.net>
67 + Update message mark-up for i18n in "git bundle".
68 + source: <pull.1550.git.1689285683013.gitgitgadget@gmail.com>
69
70
87 -* ks/ref-filter-signature (2023-06-06) 2 commits
88 - (merged to 'next' on 2023-07-06 at 1748d2bb93)
89 - + ref-filter: add new "signature" atom
90 - + t/lib-gpg: introduce new prereq GPG2
71 +* dk/t4002-syntaxo-fix (2023-07-14) 1 commit
72 + (merged to 'next' on 2023-07-17 at 75d729ee52)
73 + + t4002: fix "diff can read from stdin" syntax
74
92 - The "git for-each-ref" family of commands learned placeholders
93 - related to GPG signature verification.
94 - cf. <CAP8UFD1CfUm+9PTXO0wBBdBs0U=YVte+EiPbDyUyg7T152aw2g@mail.gmail.com>
95 - source: <20230604185815.15761-1-five231003@gmail.com>
75 + Test fix.
76 + source: <pull.1545.git.git.1689341410476.gitgitgadget@gmail.com>
77
78
98 -* ma/t0091-fixup (2023-07-05) 1 commit
99 - (merged to 'next' on 2023-07-06 at 3f82b468b4)
100 - + t0091-bugreport.sh: actually verify some content of report
79 +* jk/nested-points-at (2023-07-17) 4 commits
80 + (merged to 'next' on 2023-07-18 at cf33f44a50)
81 + + ref-filter: simplify return type of match_points_at
82 + + ref-filter: avoid parsing non-tags in match_points_at()
83 + + ref-filter: avoid parsing tagged objects in match_points_at()
84 + + ref-filter: handle nested tags in --points-at option
85
102 - "git bugreport" tests did not test what it wanted to test, which
86 + "git tag --list --points-at X" showed tags that directly refers to
87 + object X, but did not list a tag that points at such a tag, which
88 has been corrected.
104 - source: <20230705183532.3057433-1-martin.agren@gmail.com>
105 -
106 -
107 -* mh/doc-credential-helpers (2023-07-10) 1 commit
108 - (merged to 'next' on 2023-07-11 at a391669194)
109 - + doc: gitcredentials: link to helper list
110 -
111 - Doc update.
112 - source: <pull.1538.v3.git.1688848614262.gitgitgadget@gmail.com>
113 -
114 -
115 -* pw/diff-no-index-from-named-pipes (2023-07-05) 4 commits
116 - (merged to 'next' on 2023-07-08 at 225230a441)
117 - + diff --no-index: support reading from named pipes
118 - + t4054: test diff --no-index with stdin
119 - + diff --no-index: die on error reading stdin
120 - + diff --no-index: refuse to compare stdin to a directory
121 -
122 - "git diff --no-index" learned to read from named pipes as if they
123 - were regular files, to allow "git diff <(process) <(substitution)"
124 - some shells support.
125 - source: <cover.1688586536.git.phillip.wood@dunelm.org.uk>
126 -
127 -
128 -* rs/ls-tree-prefix-simplify (2023-07-07) 1 commit
129 - (merged to 'next' on 2023-07-08 at 3e4826525f)
130 - + ls-tree: simplify prefix handling
131 -
132 - Code simplification.
133 - source: <b34aa99b-2bf1-c645-bdf5-03ac258b4bf5@web.de>
134 -
135 -
136 -* rs/packet-length-simplify (2023-07-07) 1 commit
137 - (merged to 'next' on 2023-07-08 at 7f4b52e75b)
138 - + pkt-line: add size parameter to packet_length()
139 -
140 - Code simplification.
141 - source: <4d2bb49b-9c3c-ea58-274b-d9e9586620c1@web.de>
142 -
143 -
144 -* rs/pretty-format-double-negation-fix (2023-07-07) 1 commit
145 - (merged to 'next' on 2023-07-08 at 6674b562ff)
146 - + pretty: avoid double negative in format_commit_item()
147 -
148 - Code clarification.
149 - source: <8d4fcad1-5f71-4790-17ee-e9ba0a3118dc@web.de>
150 -
151 -
152 -* rs/userformat-find-requirements-simplify (2023-07-07) 1 commit
153 - (merged to 'next' on 2023-07-08 at 6cdc328a08)
154 - + pretty: use strchr(3) in userformat_find_requirements()
155 -
156 - Code simplification.
157 - source: <108ab1a2-28f4-dd62-1f90-64f37708aa8c@web.de>
158 -
159 -
160 -* tb/fsck-no-progress (2023-07-10) 6 commits
161 - (merged to 'next' on 2023-07-11 at aab8389518)
162 - + commit-graph.c: avoid duplicated progress output during `verify`
163 - + commit-graph.c: pass progress to `verify_one_commit_graph()`
164 - + commit-graph.c: iteratively verify commit-graph chains
165 - + commit-graph.c: extract `verify_one_commit_graph()`
166 - + fsck: suppress MIDX output with `--no-progress`
167 - + fsck: suppress commit-graph output with `--no-progress`
168 -
169 - "git fsck --no-progress" still spewed noise from the commit-graph
170 - subsystem, which has been corrected.
171 - source: <cover.1688776280.git.me@ttaylorr.com>
172 -
173 -
174 -* tb/repack-cleanup (2023-07-11) 2 commits
175 - (merged to 'next' on 2023-07-11 at f598c59a8a)
176 - + builtin/repack.c: avoid dir traversal in `collect_pack_filenames()`
177 - + builtin/repack.c: only repack `.pack`s that exist
178 -
179 - The recent change to "git repack" made it react less nicely when a
180 - leftover .idx file that no longer has the corresponding .pack file
181 - in the repository, which has been corrected.
182 - source: <cover.1689096750.git.me@ttaylorr.com>
183 -
184 -
185 -* vd/adjust-mfow-doc-to-updated-headers (2023-07-04) 1 commit
186 - (merged to 'next' on 2023-07-08 at 38103c697d)
187 - + docs: add necessary headers to Documentation/MFOW.txt
188 -
189 - Code snippets in a tutorial document no longer compiled after
190 - recent header shuffling, which have been corrected.
191 - source: <20230702151457.3227-1-vinayakdev.sci@gmail.com>
192 -
193 ---------------------------------------------------
194 -[New Topics]
195 -
196 -* dk/bundle-i18n-more (2023-07-13) 1 commit
197 - (merged to 'next' on 2023-07-18 at a9745efbe2)
198 - + i18n: mark more bundle.c strings for translation
199 -
200 - Update message mark-up for i18n in "git bundle".
201 -
202 - Will merge to 'master'.
203 - source: <pull.1550.git.1689285683013.gitgitgadget@gmail.com>
89 + source: <20230702223342.GA1598765@coredump.intra.peff.net>
90
91
92 * jk/unused-parameter (2023-07-13) 14 commits
@@ -222,34 +108,18 @@ Release tarballs are available at:
108
109 Mark-up unused parameters in the code so that we can eventually
110 enable -Wunused-parameter by default.
225 -
226 - Will merge to 'master'.
111 source: <20230703064347.GA3524892@coredump.intra.peff.net>
112
113
230 -* dk/t4002-syntaxo-fix (2023-07-14) 1 commit
231 - (merged to 'next' on 2023-07-17 at 75d729ee52)
232 - + t4002: fix "diff can read from stdin" syntax
233 -
234 - Test fix.
235 -
236 - Will merge to 'master'.
237 - source: <pull.1545.git.git.1689341410476.gitgitgadget@gmail.com>
238 -
239 -
240 -* la/doc-choose-starting-point (2023-07-14) 5 commits
241 - (merged to 'next' on 2023-07-19 at 5a807cae46)
242 - + SubmittingPatches: simplify guidance for choosing a starting point
243 - + SubmittingPatches: emphasize need to communicate non-default starting points
244 - + SubmittingPatches: de-emphasize branches as starting points
245 - + SubmittingPatches: discuss subsystems separately from git.git
246 - + SubmittingPatches: reword awkward phrasing
247 -
248 - Clarify how to choose the starting point for a new topic in
249 - developer guidance document.
114 +* mh/mingw-case-sensitive-build (2023-06-12) 1 commit
115 + (merged to 'next' on 2023-07-17 at 2c72856851)
116 + + mingw: use lowercase includes for some Windows headers
117
251 - Will merge to 'master'.
252 - source: <pull.1556.v2.git.1689314493.gitgitgadget@gmail.com>
118 + Names of MinGW header files are spelled in mixed case in some
119 + source files, but the build host can be using case sensitive
120 + filesystem with header files with their name spelled in all
121 + lowercase.
122 + source: <20230604211934.1365289-1-mh@glandium.org>
123
124
125 * rs/ref-filter-signature-fix (2023-07-17) 1 commit
@@ -257,8 +127,6 @@ Release tarballs are available at:
127 + t6300: fix setup with GPGSSH but without GPG
128
129 Test fix.
260 -
261 - Will merge to 'master'.
130 source: <cbc22750-af93-9274-2ed4-6dfd356568e8@web.de>
131
132
@@ -267,142 +135,206 @@ Release tarballs are available at:
135 + strbuf: use skip_prefix() in strbuf_addftime()
136
137 Code clean-up.
270 -
271 - Will merge to 'master'.
138 source: <fccba24c-584d-6329-69a7-75cf0458af7d@web.de>
139
140
275 -* jk/nested-points-at (2023-07-17) 4 commits
276 - (merged to 'next' on 2023-07-18 at cf33f44a50)
277 - + ref-filter: simplify return type of match_points_at
278 - + ref-filter: avoid parsing non-tags in match_points_at()
279 - + ref-filter: avoid parsing tagged objects in match_points_at()
280 - + ref-filter: handle nested tags in --points-at option
141 +* tb/object-access-overflow-protection (2023-07-14) 20 commits
142 + (merged to 'next' on 2023-07-17 at 9ad8a08011)
143 + + commit-graph.c: prevent overflow in `verify_commit_graph()`
144 + + commit-graph.c: prevent overflow in `write_commit_graph()`
145 + + commit-graph.c: prevent overflow in `merge_commit_graph()`
146 + + commit-graph.c: prevent overflow in `split_graph_merge_strategy()`
147 + + commit-graph.c: prevent overflow in `load_tree_for_commit()`
148 + + commit-graph.c: prevent overflow in `fill_commit_in_graph()`
149 + + commit-graph.c: prevent overflow in `fill_commit_graph_info()`
150 + + commit-graph.c: prevent overflow in `load_oid_from_graph()`
151 + + commit-graph.c: prevent overflow in add_graph_to_chain()
152 + + commit-graph.c: prevent overflow in `write_commit_graph_file()`
153 + + pack-bitmap.c: ensure that eindex lookups don't overflow
154 + + midx.c: prevent overflow in `fill_included_packs_batch()`
155 + + midx.c: prevent overflow in `write_midx_internal()`
156 + + midx.c: store `nr`, `alloc` variables as `size_t`'s
157 + + midx.c: prevent overflow in `nth_midxed_offset()`
158 + + midx.c: prevent overflow in `nth_midxed_object_oid()`
159 + + midx.c: use `size_t`'s for fanout nr and alloc
160 + + packfile.c: use checked arithmetic in `nth_packed_object_offset()`
161 + + packfile.c: prevent overflow in `load_idx()`
162 + + packfile.c: prevent overflow in `nth_packed_object_id()`
163
282 - "git tag --list --points-at X" showed tags that directly refers to
283 - object X, but did not list a tag that points at such a tag, which
284 - has been corrected.
164 + Various offset computation in the code that accesses the packfiles
165 + and other data in the object layer has been hardened against
166 + arithmetic overflow, especially on 32-bit systems.
167 + source: <ZLAJNbIBFUPHYhlt@nand.local>
168 + source: <cover.1689205042.git.me@ttaylorr.com>
169
286 - Will merge to 'master'.
287 - source: <20230702223342.GA1598765@coredump.intra.peff.net>
170
171 +* tb/refs-exclusion-and-packed-refs (2023-07-10) 16 commits
172 + (merged to 'next' on 2023-07-13 at 6d72f3e995)
173 + + ls-refs.c: avoid enumerating hidden refs where possible
174 + + upload-pack.c: avoid enumerating hidden refs where possible
175 + + builtin/receive-pack.c: avoid enumerating hidden references
176 + + refs.h: implement `hidden_refs_to_excludes()`
177 + + refs.h: let `for_each_namespaced_ref()` take excluded patterns
178 + + revision.h: store hidden refs in a `strvec`
179 + + refs/packed-backend.c: add trace2 counters for jump list
180 + + refs/packed-backend.c: implement jump lists to avoid excluded pattern(s)
181 + + refs/packed-backend.c: refactor `find_reference_location()`
182 + + refs: plumb `exclude_patterns` argument throughout
183 + + builtin/for-each-ref.c: add `--exclude` option
184 + + ref-filter.c: parameterize match functions over patterns
185 + + ref-filter: add `ref_filter_clear()`
186 + + ref-filter: clear reachable list pointers after freeing
187 + + ref-filter.h: provide `REF_FILTER_INIT`
188 + + refs.c: rename `ref_filter`
189
290 -* jr/gitignore-doc-example-markup (2023-07-18) 1 commit
291 - (merged to 'next' on 2023-07-19 at 4f2ece568d)
292 - + gitignore.txt: use backticks instead of double quotes
190 + Enumerating refs in the packed-refs file, while excluding refs that
191 + match certain patterns, has been optimized.
192 + source: <cover.1689023520.git.me@ttaylorr.com>
193
294 - Doc update.
194 +--------------------------------------------------
195 +[New Topics]
196
296 - Will merge to 'master'.
297 - source: <pull.1553.git.git.1689685982027.gitgitgadget@gmail.com>
197 +* ah/sequencer-rewrite-todo-fix (2023-07-24) 1 commit
198 + - sequencer: finish parsing the todo list despite an invalid first line
199
200 + When the user edits "rebase -i" todo file so that it starts with a
201 + "fixup", which would make it invalid, the command truncated the
202 + rest of the file before giving an error and returning the control
203 + back to the user. Stop truncating to make it easier to correct
204 + such a malformed todo file.
205
300 -* jc/am-parseopt-fix (2023-07-18) 1 commit
301 - (merged to 'next' on 2023-07-19 at eaf592531e)
302 - + am: simplify parsing of "--[no-]keep-cr"
206 + Will merge to 'next'.
207 + cf. <https://lore.kernel.org/git/0d1c5bfd-3ae5-83f0-a333-bbb8510a973a@gmail.com/>
208 + source: <20230722212830.132135-2-alexhenrie24@gmail.com>
209
304 - Code simplification.
210 +
211 +* bb/trace2-comment-fix (2023-07-19) 1 commit
212 + (merged to 'next' on 2023-07-21 at f77aeba1b5)
213 + + trace2: fix a comment
214 +
215 + In-code comment fix.
216
217 Will merge to 'master'.
307 - source: <xmqqr0p5gjv3.fsf@gitster.g>
218 + source: <20230719232444.555838-1-dev+git@drbeat.li>
219
220
310 -* jc/branch-parseopt-fix (2023-07-18) 1 commit
311 - (merged to 'next' on 2023-07-19 at 738d25bbb6)
312 - + branch: reject "--no-all" and "--no-remotes" early
221 +* ks/ref-filter-describe (2023-07-24) 2 commits
222 + - ref-filter: add new "describe" atom
223 + - ref-filter: add multiple-option parsing functions
224
314 - Command line parser fixes.
225 + "git branch --list --format=<format>" and friends are taught
226 + a new "%(describe)" placeholder.
227
316 - Will merge to 'master'.
317 - source: <xmqqjzuxgjmi.fsf@gitster.g>
228 + Will merge to 'next'.
229 + source: <20230723162717.68123-1-five231003@gmail.com>
230
231
320 -* rs/ls-tree-no-full-name-fix (2023-07-18) 1 commit
321 - (merged to 'next' on 2023-07-19 at 86e570c084)
322 - + ls-tree: fix --no-full-name
232 +* bb/use-trace2-counters-for-fsync-stats (2023-07-20) 1 commit
233 + - wrapper: use trace2 counters to collect fsync stats
234
324 - Command line parser fix.
235 + Instead of inventing a custom counter variables for debugging,
236 + use existing trace2 facility in the fsync customization codepath.
237
326 - Will merge to 'master'.
327 - source: <d392a005-4eba-7cc7-9554-cdb8dc53975e@web.de>
238 + Will merge to 'next'.
239 + source: <20230720164823.625815-1-dev+git@drbeat.li>
240
241
330 -* jc/describe-parseopt-fix (2023-07-18) 1 commit
331 - - describe: --no-exact-match should not be the same as --exact-match
242 +* am/doc-sha256 (2023-07-20) 1 commit
243 + - doc: sha256 is no longer experimental
244
333 - Command line parser fix.
245 + Tone down the warning on SHA-256 repositories being an experimental
246 + curiosity. We do not have support for them to interoperate with
247 + traditional SHA-1 repositories, but at this point, we do not plan
248 + to make breaking changes to SHA-256 repositories and there is no
249 + longer need for such a strongly phrased warning.
250
335 - Comments?
336 - source: <xmqqy1jcgbiv.fsf@gitster.g>
251 + Review comments sent.
252 + cf. <xmqqr0p230rj.fsf@gitster.g>
253 + source: <ZLlNtbAbVcYH7eFb@adams>
254
255
339 -* jc/doc-sent-patch-now-what (2023-07-19) 1 commit
340 - - MyFirstContribution: refrain from self-iterating too much
256 +* hy/blame-in-bare-with-contents (2023-07-21) 1 commit
257 + - blame: allow --contents to work with bare repo
258
342 - Process document update.
259 + "git blame --contents=file" has been taught to work in a bare
260 + repository.
261
262 Will merge to 'next'?
345 - source: <xmqqzga9opdu.fsf@gitster.g>
263 + source: <20230721035758.61956-1-hanyang.tony@bytedance.com>
264
265
348 -* jc/gitignore-doc-pattern-markup (2023-07-18) 1 commit
349 - - gitignore.txt: mark up explanation of patterns consistently
266 +* ja/worktree-orphan-fix (2023-07-21) 4 commits
267 + - SQUASH???
268 + - t2400: rewrite regex to avoid unintentional PCRE
269 + - builtin/worktree.c: convert tab in advice to space
270 + - t2400: drop no-op `--sq` from rev-parse call
271
351 - Doc mark-up update.
352 -
353 - Will merge to 'next'.
354 - source: <xmqqwmyxglhg.fsf@gitster.g>
272 + Expecting a reroll.
273 + cf. <axnxvnmo6ekhhccppinji73ivlandwuqs44epmq4pdefm7ukiv@ejz7bee5xjli>
274 + source: <20230721044012.24360-1-jacobabel@nullpo.dev>
275
276
357 -* jc/parse-options-reset (2023-07-19) 1 commit
358 - - reset: reject --no-(mixed|soft|hard|merge|keep) option
277 +* rs/describe-parseopt-fix (2023-07-21) 1 commit
278 + (merged to 'next' on 2023-07-21 at e74749af0c)
279 + + describe: fix --no-exact-match
280
281 Command line parser fix.
282
362 - Will merge to 'next'.
363 - source: <xmqq1qh4c998.fsf@gitster.g>
283 + Will merge to 'master'.
284 + source: <4eea7e15-6594-93e2-27b5-3d6e3c0baac6@web.de>
285
286
366 -* jc/parse-options-short-help (2023-07-18) 3 commits
367 - - short help: allow a gap smaller than USAGE_GAP
368 - - remote: simplify "remote add --tags" help text
369 - - short help: allow multi-line opthelp
287 +* rs/pack-objects-parseopt-fix (2023-07-21) 2 commits
288 + (merged to 'next' on 2023-07-21 at acdf84416c)
289 + + pack-objects: fix --no-quiet
290 + + pack-objects: fix --no-keep-true-parents
291
371 - Command line parser fix, and a small parse-options API update.
292 + Command line parser fix.
293
373 - Comments?
374 - source: <xmqq5y6gg8fn.fsf@gitster.g>
294 + Will merge to 'master'.
295 + source: <xmqqo7k9fa5x.fsf@gitster.g>
296
297
377 -* jc/parse-options-show-branch (2023-07-19) 2 commits
378 - - show-branch: reject --[no-](topo|date)-order
379 - - show-branch: --no-sparse should give dense output
298 +* jc/retire-get-sha1-hex (2023-07-24) 1 commit
299 + - hex: retire get_sha1_hex()
300
381 - Command line parser fixes.
301 + The implementation of "get_sha1_hex()" that reads a hexadecimal
302 + string that spells a full object name has been extended to cope
303 + with any hash function used in the repository, but the "sha1" in
304 + its name survived. Rename it to get_hash_hex(), a name that is
305 + more consistent within its friends like get_hash_hex_algop().
306
307 Will merge to 'next'.
384 - source: <xmqqh6pzc15n.fsf@gitster.g>
308 + source: <xmqq1qgwoqgo.fsf_-_@gitster.g>
309
310
387 -* jc/transport-parseopt-fix (2023-07-18) 2 commits
388 - - fetch: reject --no-ipv[46]
389 - - parse-options: introduce OPT_IPVERSION()
311 +* rs/parse-options-negation-help (2023-07-24) 5 commits
312 + - parse-options: show negatability of options in short help
313 + - t1502: test option negation
314 + - t1502: move optionspec help output to a file
315 + - t1502, docs: disallow --no-help
316 + - subtree: disallow --no-{help,quiet,debug,branch,message}
317
391 - Command line parser fixes.
318 + "git cmd -h" learned to signal which options can be negated by
319 + listing such options like "--[no-]opt".
320
393 - Will merge to 'next'.
394 - source: <xmqqedl4gag8.fsf@gitster.g>
321 + Comments?
322 + Would showing "--[[no-]no-]opt" for "no-opt" be worth it?
323 + cf. <9e8225dd-1e8b-8af2-c3e1-0c5834694244@web.de>
324 + source: <4d01e971-07cb-4f11-3cc6-9d9f21e590c1@web.de>
325
326
397 -* sl/sparse-check-attr (2023-07-18) 3 commits
398 - - check-attr: integrate with sparse-index
399 - - attr.c: read attributes in a sparse directory
400 - - t1092: add tests for 'git check-attr'
327 +* tb/commit-graph-tests (2023-07-24) 5 commits
328 + - t/lib-commit-graph.sh: avoid sub-shell in `graph_git_behavior()`
329 + - t5328: avoid top-level directory changes
330 + - t5318: avoid top-level directory changes
331 + - t/lib-commit-graph.sh: avoid directory change in `graph_git_behavior()`
332 + - t/lib-commit-graph.sh: allow `graph_read_expect()` in sub-directories
333
402 - Teach "git check-attr" work better with sparse-index.
334 + Test updates.
335
404 - Needs review.
405 - source: <20230718232916.31660-1-cheskaqiqi@gmail.com>
336 + Will merge to 'next'?
337 + source: <cover.1690216758.git.me@ttaylorr.com>
338
339 --------------------------------------------------
340 [Stalled]
@@ -470,21 +402,6 @@ Release tarballs are available at:
402 source: <20230120113553.24655-1-carenas@gmail.com>
403
404
473 -* tk/pull-conflict-suggest-rebase-merge-not-rebase-true (2023-02-13) 1 commit
474 - - pull: conflict hint pull.rebase suggestion should offer "merges" vs "true"
475 -
476 - In an advice message after failed non-ff pull, we used to suggest
477 - setting pull.rebase=true, but these days pull.rebase=merges may be
478 - more inline with the original spirit of "rebuild your side on top
479 - of theirs".
480 -
481 - Will discard.
482 - This is too much of a departure from the existing practice.
483 - cf. <CAMMLpeTPEoKVTbfc17w+Y9qn7jOGmQi_Ux0Y3sFW5QTgGWJ=SA@mail.gmail.com>
484 - cf. <CABPp-BGqAxKnxDRVN4cYMteLp33hvto07R3=TJBT5WubJT4+Og@mail.gmail.com>
485 - source: <pull.1474.git.1675614276549.gitgitgadget@gmail.com>
486 -
487 -
405 * ab/tag-object-type-errors (2023-05-10) 4 commits
406 - tag: don't emit potentially incorrect "object is a X, not a Y"
407 - tag: don't misreport type of tagged objects in errors
@@ -499,68 +416,6 @@ Release tarballs are available at:
416 source: <cover-v2-0.3-00000000000-20221230T011725Z-avarab@gmail.com>
417
418
502 -* ad/test-record-count-when-harness-is-in-use (2022-12-25) 1 commit
503 - - test-lib: allow storing counts with test harnesses
504 -
505 - Allow summary results from tests to be written to t/test-results
506 - directory even when a test harness like 'prove' is in use.
507 -
508 - Will discard.
509 - Have been expecting a reroll for too long.
510 - cf. <CABPp-BGoPuGCZw+9wCgdYyRR4Zf4y9Kun27GrQhtMdYWpOUsYQ@mail.gmail.com>
511 - source: <20221224225200.1027806-1-adam@dinwoodie.org>
512 -
513 -
514 -* so/diff-merges-more (2022-12-18) 5 commits
515 - - diff-merges: improve --diff-merges documentation
516 - - diff-merges: issue warning on lone '-m' option
517 - - diff-merges: support list of values for --diff-merges
518 - - diff-merges: implement log.diffMerges-m-imply-p config
519 - - diff-merges: implement [no-]hide option and log.diffMergesHide config
520 -
521 - Assorted updates to "--diff-merges=X" option.
522 -
523 - Will discard.
524 - Breaking compatibility does not seem worth it.
525 - source: <20221217132955.108542-1-sorganov@gmail.com>
526 -
527 -
528 -* ab/imap-send-requires-curl (2023-02-02) 6 commits
529 - - imap-send: correctly report "host" when using "tunnel"
530 - - imap-send: remove old --no-curl codepath
531 - - imap-send: make --curl no-optional
532 - - imap-send: replace auto-probe libcurl with hard dependency
533 - - imap-send doc: the imap.sslVerify is used with imap.tunnel
534 - - imap-send: note "auth_method", not "host" on auth method failure
535 -
536 - Give a hard dependency on cURL library to build "git imap-send",
537 - and remove the code to interact with IMAP server without using cURL.
538 -
539 - Will discard.
540 - Have been expecting a reroll for too long.
541 - The 'tunnel' part is still iffy.
542 - cf. <230203.86bkmabfjr.gmgdl@evledraar.gmail.com>
543 - source: <cover-v2-0.6-00000000000-20230202T093706Z-avarab@gmail.com>
544 -
545 -
546 -* cw/submodule-status-in-parallel (2023-03-02) 6 commits
547 - - diff-lib: parallelize run_diff_files for submodules
548 - - diff-lib: refactor out diff_change logic
549 - - submodule: refactor is_submodule_modified()
550 - - submodule: move status parsing into function
551 - - submodule: rename strbuf variable
552 - - run-command: add on_stderr_output_fn to run_processes_parallel_opts
553 -
554 - "git submodule status" learned to run the comparison in submodule
555 - repositories in parallel.
556 -
557 - Will discard.
558 - Have been expecting a reroll for too long.
559 - cf. <CAFySSZDk05m6gU5-V1R+y3YnQ5PPduVW54+_gjBwD0rmacsLsw@mail.gmail.com>
560 - cf. <230307.865ybc273g.gmgdl@evledraar.gmail.com>
561 - source: <20230302215237.1473444-1-calvinwan@google.com>
562 -
563 -
419 * ob/revert-of-revert (2023-05-05) 1 commit
420 - sequencer: beautify subject of reverts of reverts
421
@@ -585,7 +440,8 @@ Release tarballs are available at:
440 Various fixes to the behaviour of "rebase -i" when the command got
441 interrupted by conflicting changes.
442
588 - Expecting a reroll.
443 + Will discard.
444 + Have been expecting a reroll for too long.
445 cf. <xmqqsfcthrpb.fsf@gitster.g>
446 cf. <1fd54422-b66a-c2e4-7cd7-934ea01190ad@gmail.com>
447 cf. <55dd6194-25e5-1a66-9c39-27cb19bfbb3c@gmail.com>
@@ -594,61 +450,160 @@ Release tarballs are available at:
450 --------------------------------------------------
451 [Cooking]
452
453 +* la/doc-choose-starting-point (2023-07-14) 5 commits
454 + (merged to 'next' on 2023-07-19 at 5a807cae46)
455 + + SubmittingPatches: simplify guidance for choosing a starting point
456 + + SubmittingPatches: emphasize need to communicate non-default starting points
457 + + SubmittingPatches: de-emphasize branches as starting points
458 + + SubmittingPatches: discuss subsystems separately from git.git
459 + + SubmittingPatches: reword awkward phrasing
460 +
461 + Clarify how to choose the starting point for a new topic in
462 + developer guidance document.
463 +
464 + Will merge to 'master'.
465 + source: <pull.1556.v2.git.1689314493.gitgitgadget@gmail.com>
466 +
467 +
468 +* jr/gitignore-doc-example-markup (2023-07-18) 1 commit
469 + (merged to 'next' on 2023-07-19 at 4f2ece568d)
470 + + gitignore.txt: use backticks instead of double quotes
471 +
472 + Doc update.
473 +
474 + Will merge to 'master'.
475 + source: <pull.1553.git.git.1689685982027.gitgitgadget@gmail.com>
476 +
477 +
478 +* jc/am-parseopt-fix (2023-07-18) 1 commit
479 + (merged to 'next' on 2023-07-19 at eaf592531e)
480 + + am: simplify parsing of "--[no-]keep-cr"
481 +
482 + Code simplification.
483 +
484 + Will merge to 'master'.
485 + source: <xmqqr0p5gjv3.fsf@gitster.g>
486 +
487 +
488 +* jc/branch-parseopt-fix (2023-07-18) 1 commit
489 + (merged to 'next' on 2023-07-19 at 738d25bbb6)
490 + + branch: reject "--no-all" and "--no-remotes" early
491 +
492 + Command line parser fixes.
493 +
494 + Will merge to 'master'.
495 + source: <xmqqjzuxgjmi.fsf@gitster.g>
496 +
497 +
498 +* rs/ls-tree-no-full-name-fix (2023-07-18) 1 commit
499 + (merged to 'next' on 2023-07-19 at 86e570c084)
500 + + ls-tree: fix --no-full-name
501 +
502 + Command line parser fix.
503 +
504 + Will merge to 'master'.
505 + source: <d392a005-4eba-7cc7-9554-cdb8dc53975e@web.de>
506 +
507 +
508 +* jc/doc-sent-patch-now-what (2023-07-19) 1 commit
509 + - MyFirstContribution: refrain from self-iterating too much
510 +
511 + Process document update.
512 +
513 + Will merge to 'next'?
514 + source: <xmqqzga9opdu.fsf@gitster.g>
515 +
516 +
517 +* jc/gitignore-doc-pattern-markup (2023-07-18) 1 commit
518 + (merged to 'next' on 2023-07-20 at ecfc9c6118)
519 + + gitignore.txt: mark up explanation of patterns consistently
520 +
521 + Doc mark-up update.
522 +
523 + Will merge to 'master'.
524 + source: <xmqqwmyxglhg.fsf@gitster.g>
525 +
526 +
527 +* jc/parse-options-reset (2023-07-19) 1 commit
528 + (merged to 'next' on 2023-07-20 at d2178a4bd4)
529 + + reset: reject --no-(mixed|soft|hard|merge|keep) option
530 +
531 + Command line parser fix.
532 +
533 + Will merge to 'master'.
534 + source: <xmqq1qh4c998.fsf@gitster.g>
535 +
536 +
537 +* jc/parse-options-short-help (2023-07-19) 3 commits
538 + - short help: allow a gap smaller than USAGE_GAP
539 + - remote: simplify "remote add --tags" help text
540 + - short help: allow multi-line opthelp
541 +
542 + Command line parser fix, and a small parse-options API update.
543 +
544 + Comments?
545 + source: <xmqq5y6gg8fn.fsf@gitster.g>
546 +
547 +
548 +* jc/parse-options-show-branch (2023-07-19) 2 commits
549 + (merged to 'next' on 2023-07-20 at 4fa809c2f2)
550 + + show-branch: reject --[no-](topo|date)-order
551 + + show-branch: --no-sparse should give dense output
552 +
553 + Command line parser fixes.
554 +
555 + Will merge to 'master'.
556 + source: <xmqqh6pzc15n.fsf@gitster.g>
557 +
558 +
559 +* jc/transport-parseopt-fix (2023-07-18) 2 commits
560 + (merged to 'next' on 2023-07-20 at 07f0026aaa)
561 + + fetch: reject --no-ipv[46]
562 + + parse-options: introduce OPT_IPVERSION()
563 +
564 + Command line parser fixes.
565 +
566 + Will merge to 'master'.
567 + source: <xmqqedl4gag8.fsf@gitster.g>
568 +
569 +
570 +* sl/sparse-check-attr (2023-07-18) 3 commits
571 + - check-attr: integrate with sparse-index
572 + - attr.c: read attributes in a sparse directory
573 + - t1092: add tests for 'git check-attr'
574 +
575 + Teach "git check-attr" work better with sparse-index.
576 +
577 + Expecting a reroll.
578 + cf. <c3ebe3b4-88b9-8ca2-2ee3-39a3e0d82201@github.com>
579 + cf. <5e478d8b-9ef4-864b-41e4-e0a79877d278@github.com>
580 + source: <20230718232916.31660-1-cheskaqiqi@gmail.com>
581 +
582 +
583 * ah/autoconf-fixes (2023-07-19) 3 commits
598 - - configure.ac: always save NO_ICONV to config.status
599 - - configure.ac: don't overwrite NO_CURL option
600 - - configure.ac: don't overwrite NO_EXPAT option
584 + (merged to 'next' on 2023-07-25 at 35ff66e0cb)
585 + + configure.ac: always save NO_ICONV to config.status
586 + + configure.ac: don't overwrite NO_CURL option
587 + + configure.ac: don't overwrite NO_EXPAT option
588
589 "./configure --with-expat=no" did not work as a way to refuse use
590 of the expat library on a system with the library installed, which
591 has been corrected.
592
606 - Needs review.
593 + Will merge to 'master'.
594 source: <20230719145211.17854-2-aherrmann@suse.de>
595
596
610 -* jc/branch-in-use-error-message (2023-07-12) 1 commit
611 - . branch: update the message to refuse touching a branch in-use
597 +* jc/branch-in-use-error-message (2023-07-21) 1 commit
598 + - branch: update the message to refuse touching a branch in-use
599
600 "git branch -f X" to repoint the branch X seid that X was "checked
601 out" in another worktree, even when branch X was not and instead
602 being bisected or rebased. The message was reworded to say the
603 branch was "in use".
604
618 - Just a weather-balloon.
619 - source: <xmqqy1jkrcmg.fsf_-_@gitster.g>
620 -
621 -
622 -* tb/object-access-overflow-protection (2023-07-14) 20 commits
623 - (merged to 'next' on 2023-07-17 at 9ad8a08011)
624 - + commit-graph.c: prevent overflow in `verify_commit_graph()`
625 - + commit-graph.c: prevent overflow in `write_commit_graph()`
626 - + commit-graph.c: prevent overflow in `merge_commit_graph()`
627 - + commit-graph.c: prevent overflow in `split_graph_merge_strategy()`
628 - + commit-graph.c: prevent overflow in `load_tree_for_commit()`
629 - + commit-graph.c: prevent overflow in `fill_commit_in_graph()`
630 - + commit-graph.c: prevent overflow in `fill_commit_graph_info()`
631 - + commit-graph.c: prevent overflow in `load_oid_from_graph()`
632 - + commit-graph.c: prevent overflow in add_graph_to_chain()
633 - + commit-graph.c: prevent overflow in `write_commit_graph_file()`
634 - + pack-bitmap.c: ensure that eindex lookups don't overflow
635 - + midx.c: prevent overflow in `fill_included_packs_batch()`
636 - + midx.c: prevent overflow in `write_midx_internal()`
637 - + midx.c: store `nr`, `alloc` variables as `size_t`'s
638 - + midx.c: prevent overflow in `nth_midxed_offset()`
639 - + midx.c: prevent overflow in `nth_midxed_object_oid()`
640 - + midx.c: use `size_t`'s for fanout nr and alloc
641 - + packfile.c: use checked arithmetic in `nth_packed_object_offset()`
642 - + packfile.c: prevent overflow in `load_idx()`
643 - + packfile.c: prevent overflow in `nth_packed_object_id()`
644 -
645 - Various offset computation in the code that accesses the packfiles
646 - and other data in the object layer has been hardened against
647 - arithmetic overflow, especially on 32-bit systems.
648 -
649 - Will merge to 'master'.
650 - source: <ZLAJNbIBFUPHYhlt@nand.local>
651 - source: <cover.1689205042.git.me@ttaylorr.com>
605 + Will merge to 'next'?
606 + source: <xmqqr0p1szhz.fsf_-_@gitster.g>
607
608
609 * jc/doc-submodule-update-settings (2023-07-13) 1 commit
@@ -657,32 +612,19 @@ Release tarballs are available at:
612 Rewrite the description of giving a custom command to the
613 submodule.<name>.update configuraiton variable.
614
660 - Just a weather-balloon.
615 + Expecting a reroll from the original author.
616 + cf. <0d29ac42-4e8f-71b6-b85f-00de182e2957@imap.cc>
617 source: <xmqqwmz3oacg.fsf@gitster.g>
618
619
664 -* ah/advise-force-pushing (2023-07-13) 3 commits
665 - (merged to 'next' on 2023-07-17 at b040e8280e)
666 - + push: don't imply that integration is always required before pushing
667 - + remote: don't imply that integration is always required before pushing
668 - + wt-status: don't show divergence advice when committing
669 -
670 - Help newbies by suggesting that there are cases where force-pushing
671 - is a valid and sensible thing to update a branch at a remote
672 - repository, rather than reconciling with merge/rebase.
673 -
674 - Will merge to 'master'.
675 - cf. <919d1ba8-bb8b-a77b-cef3-db14f168ed4a@gmail.com>
676 - source: <20230713044128.3771818-1-alexhenrie24@gmail.com>
677 -
678 -
620 * jc/tree-walk-drop-base-offset (2023-07-07) 2 commits
680 - - tree-walk: drop unused base_offset from do_match()
681 - - tree-walk: lose base_offset that is never used in tree_entry_interesting
621 + (merged to 'next' on 2023-07-25 at cc050c60a6)
622 + + tree-walk: drop unused base_offset from do_match()
623 + + tree-walk: lose base_offset that is never used in tree_entry_interesting
624
625 Code simplification.
626
685 - Needs review.
627 + Will merge to 'master'.
628 source: <20230707222116.4129415-1-gitster@pobox.com>
629
630
@@ -694,7 +636,7 @@ Release tarballs are available at:
636 source: <pull.1529.git.git.1687596777147.gitgitgadget@gmail.com>
637
638
697 -* cc/repack-sift-filtered-objects-to-separate-pack (2023-07-05) 8 commits
639 +* cc/repack-sift-filtered-objects-to-separate-pack (2023-07-24) 8 commits
640 - gc: add `gc.repackFilterTo` config option
641 - repack: implement `--filter-to` for storing filtered out objects
642 - gc: add `gc.repackFilter` config option
@@ -707,9 +649,8 @@ Release tarballs are available at:
649 "git repack" machinery learns to pay attention to the "--filter="
650 option.
651
710 - Comments?
711 - cf. <xmqqh6qi1byn.fsf@gitster.g>
712 - source: <20230705060812.2865188-1-christian.couder@gmail.com>
652 + Will merge to 'next'.
653 + source: <20230724085909.3831831-1-christian.couder@gmail.com>
654
655
656 * js/doc-unit-tests (2023-06-30) 1 commit
@@ -721,20 +662,6 @@ Release tarballs are available at:
662 source: <0169ce6fb9ccafc089b74ae406db0d1a8ff8ac65.1688165272.git.steadmon@google.com>
663
664
724 -* mh/mingw-case-sensitive-build (2023-06-12) 1 commit
725 - (merged to 'next' on 2023-07-17 at 2c72856851)
726 - + mingw: use lowercase includes for some Windows headers
727 -
728 - Names of MinGW header files are spelled in mixed case in some
729 - source files, but the build host can be using case sensitive
730 - filesystem with header files with their name spelled in all
731 - lowercase.
732 -
733 - Will merge to 'master'.
734 - cf. <xmqqmt14a36k.fsf@gitster.g>
735 - source: <20230604211934.1365289-1-mh@glandium.org>
736 -
737 -
665 * jt/path-filter-fix (2023-07-13) 4 commits
666 - commit-graph: new filter ver. that fixes murmur3
667 - repo-settings: introduce commitgraph.changedPathsVersion
@@ -744,6 +671,9 @@ Release tarballs are available at:
671 The Bloom filter used for path limited history traversal was broken
672 on systems whose "char" is unsigned; update the implementation and
673 bump the format version to 2.
674 +
675 + Expecting a reroll.
676 + cf. <20230720202203.3816309-1-jonathantanmy@google.com>
677 source: <cover.1689283789.git.jonathantanmy@google.com>
678
679
@@ -758,32 +688,6 @@ Release tarballs are available at:
688 source: <pull.1469.v5.git.git.1686945306242.gitgitgadget@gmail.com>
689
690
761 -* tb/refs-exclusion-and-packed-refs (2023-07-10) 16 commits
762 - (merged to 'next' on 2023-07-13 at 6d72f3e995)
763 - + ls-refs.c: avoid enumerating hidden refs where possible
764 - + upload-pack.c: avoid enumerating hidden refs where possible
765 - + builtin/receive-pack.c: avoid enumerating hidden references
766 - + refs.h: implement `hidden_refs_to_excludes()`
767 - + refs.h: let `for_each_namespaced_ref()` take excluded patterns
768 - + revision.h: store hidden refs in a `strvec`
769 - + refs/packed-backend.c: add trace2 counters for jump list
770 - + refs/packed-backend.c: implement jump lists to avoid excluded pattern(s)
771 - + refs/packed-backend.c: refactor `find_reference_location()`
772 - + refs: plumb `exclude_patterns` argument throughout
773 - + builtin/for-each-ref.c: add `--exclude` option
774 - + ref-filter.c: parameterize match functions over patterns
775 - + ref-filter: add `ref_filter_clear()`
776 - + ref-filter: clear reachable list pointers after freeing
777 - + ref-filter.h: provide `REF_FILTER_INIT`
778 - + refs.c: rename `ref_filter`
779 -
780 - Enumerating refs in the packed-refs file, while excluding refs that
781 - match certain patterns, has been optimized.
782 -
783 - Will merge to 'master'.
784 - source: <cover.1689023520.git.me@ttaylorr.com>
785 -
786 -
691 * cc/git-replay (2023-06-03) 15 commits
692 - replay: stop assuming replayed branches do not diverge
693 - replay: add --contained to rebase contained branches
@@ -803,3 +707,14 @@ Release tarballs are available at:
707
708 What's the status of this thing?
709 source: <20230602102533.876905-1-christian.couder@gmail.com>
710 +
711 +--------------------------------------------------
712 +[Discarded]
713 +
714 +* jc/rerere-read-rr-fix (2023-07-21) 1 commit
715 + . rerere: match the hash algorithm with its length
716 +
717 + SHA-256 fix.
718 +
719 + Superseded by jc/retire-get-sha1-hex
720 + source: <xmqqa5vou9ar.fsf@gitster.g>