What's cooking (2022/02 #07)

Junio C Hamano committed Feb 25, 2022 at 17:26 UTC 73fb05af20a42bf6634544a133680f99e09ba943
1 file changed +392 -349
whats-cooking.txt
+392 -349
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Feb 2022, #06; Wed, 23)
4 -X-master-at: dab1b7905d0b295f1acef9785bb2b9cbb0fdec84
3 +Subject: What's cooking in git.git (Feb 2022, #07; Fri, 25)
4 +X-master-at: 715d08a9e51251ad8290b181b6ac3b9e1f9719d7
5 X-next-at: 0bdcbb44647328cb1bdb23be648ecb677189c7b4
6
7 -What's cooking in git.git (Feb 2022, #06; Wed, 23)
7 +What's cooking in git.git (Feb 2022, #07; Fri, 25)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking in my tree. Commits
@@ -18,8 +18,6 @@ useful"). Do not read too much into a topic being in (or not in)
18 'seen'. The ones marked with '.' do not appear in any of the
19 integration branches, but I am still holding onto them.
20
21 -Many topics have no summary written yet for them in this issue.
22 -
21 Copies of the source code to Git live in many repositories, and the
22 following is a list of the ones I push into or their mirrors. Some
23 repositories have only a subset of branches.
@@ -51,191 +49,154 @@ Release tarballs are available at:
49 --------------------------------------------------
50 [Graduated to 'master']
51
54 -* ab/hash-object-leakfix (2022-02-06) 1 commit
55 - (merged to 'next' on 2022-02-10 at 14956d3087)
56 - + hash-object: fix a trivial leak in --path
57 -
58 - Trivial leakfix.
59 - source: <patch-1.1-53863df1455-20220205T000422Z-avarab@gmail.com>
52 +* ab/ambiguous-object-name (2022-01-27) 7 commits
53 + (merged to 'next' on 2022-02-15 at 6028098cfe)
54 + + object-name: re-use "struct strbuf" in show_ambiguous_object()
55 + + object-name: iterate ambiguous objects before showing header
56 + + object-name: show date for ambiguous tag objects
57 + + object-name: make ambiguous object output translatable
58 + + object-name: explicitly handle bad tags in show_ambiguous_object()
59 + + object-name: explicitly handle OBJ_BAD in show_ambiguous_object()
60 + + object-name tests: add tests for ambiguous object blind spots
61
62 + Error output given in response to an ambiguous object name has been
63 + improved.
64 + source: <cover-v8-0.7-00000000000-20220127T052116Z-avarab@gmail.com>
65
62 -* ab/release-transport-ls-refs-options (2022-02-06) 1 commit
63 - (merged to 'next' on 2022-02-10 at c4e57c2b29)
64 - + ls-remote & transport API: release "struct transport_ls_refs_options"
66
66 - source: <patch-1.1-e80e8f64eae-20220205T000809Z-avarab@gmail.com>
67 +* ab/date-mode-release (2022-02-16) 5 commits
68 + (merged to 'next' on 2022-02-17 at 62f1cf68ae)
69 + + date API: add and use a date_mode_release()
70 + + date API: add basic API docs
71 + + date API: provide and use a DATE_MODE_INIT
72 + + date API: create a date.h, split from cache.h
73 + + cache.h: remove always unused show_date_human() declaration
74
75 + Plug (some) memory leaks around parse_date_format().
76 + source: <cover-v3-0.5-00000000000-20220216T081203Z-avarab@gmail.com>
77
69 -* ab/t0051-skip-on-non-windows (2022-02-04) 1 commit
70 - (merged to 'next' on 2022-02-10 at 3e587df1d6)
71 - + t0051: use "skip_all" under !MINGW in single-test file
78
73 - Conditional test update.
74 - source: <patch-v2-1.1-1bc93bcba4b-20220204T134208Z-avarab@gmail.com>
79 +* ab/diff-free-more (2022-02-16) 2 commits
80 + (merged to 'next' on 2022-02-17 at be8ae78a2d)
81 + + diff.[ch]: have diff_free() free options->parseopts
82 + + diff.[ch]: have diff_free() call clear_pathspec(opts.pathspec)
83
84 + Leakfixes.
85 + source: <cover-0.2-00000000000-20220216T105250Z-avarab@gmail.com>
86
77 -* ah/log-no-graph (2022-02-11) 2 commits
78 - (merged to 'next' on 2022-02-14 at 6c8fd1f37f)
79 - + log: add a --no-graph option
80 - + log: fix memory leak if --graph is passed multiple times
87
82 - "git log --graph --graph" used to leak a graph structure, and there
83 - was no way to countermand "--graph" that appear earlier on the
84 - command line. A "--no-graph" option has been added and resource
85 - leakage has been plugged.
86 - source: <20220211163627.598166-2-alexhenrie24@gmail.com>
88 +* ab/grep-patterntype (2022-02-15) 10 commits
89 + (merged to 'next' on 2022-02-16 at 64222759a2)
90 + + grep: simplify config parsing and option parsing
91 + + grep.c: do "if (bool && memchr())" not "if (memchr() && bool)"
92 + + grep.h: make "grep_opt.pattern_type_option" use its enum
93 + + grep API: call grep_config() after grep_init()
94 + + grep.c: don't pass along NULL callback value
95 + + built-ins: trust the "prefix" from run_builtin()
96 + + grep tests: add missing "grep.patternType" config tests
97 + + grep tests: create a helper function for "BRE" or "ERE"
98 + + log tests: check if grep_config() is called by "log"-like cmds
99 + + grep.h: remove unused "regex_t regexp" from grep_opt
100
101 + Some code clean-up in the "git grep" machinery.
102 + source: <cover-v11-00.10-00000000000-20220216T000006Z-avarab@gmail.com>
103
89 -* bc/clarify-eol-attr (2022-02-14) 1 commit
90 - (merged to 'next' on 2022-02-14 at 7e23e61f3f)
91 - + doc: clarify interaction between 'eol' and text=auto
104
93 - Documentation update
94 - source: <xmqqilth2u28.fsf@gitster.g>
105 +* ab/only-single-progress-at-once (2022-02-03) 9 commits
106 + (merged to 'next' on 2022-02-15 at 97ac92e662)
107 + + pack-bitmap-write.c: don't return without stop_progress()
108 + + progress API: unify stop_progress{,_msg}(), fix trace2 bug
109 + + progress.c: refactor stop_progress{,_msg}() to use helpers
110 + + progress.c: use dereferenced "progress" variable, not "(*p_progress)"
111 + + progress.h: format and be consistent with progress.c naming
112 + + progress.c tests: test some invalid usage
113 + + progress.c tests: make start/stop commands on stdin
114 + + progress.c test helper: add missing braces
115 + + leak tests: fix a memory leak in "test-progress" helper
116
117 + Further tweaks on progress API.
118 + source: <cover-v9-0.9-00000000000-20220203T213350Z-avarab@gmail.com>
119
97 -* bs/forbid-i18n-of-protocol-token-in-fetch-pack (2022-02-11) 1 commit
98 - (merged to 'next' on 2022-02-14 at 9abd0dce80)
99 - + fetch-pack: parameterize message containing 'ready' keyword
120
101 - L10n support for a few error messages.
102 - source: <20211222075805.19027-1-bagasdotme@gmail.com>
121 +* ds/core-untracked-cache-config (2022-02-17) 1 commit
122 + (merged to 'next' on 2022-02-18 at 0c426fdec1)
123 + + dir: force untracked cache with core.untrackedCache
124
125 + Setting core.untrackedCache to true failed to add the untracked
126 + cache extension to the index.
127 + source: <pull.1058.v2.git.1645131630140.gitgitgadget@gmail.com>
128
105 -* cb/clear-quarantine-early-on-all-ref-update-errors (2022-02-01) 1 commit
106 - (merged to 'next' on 2022-02-10 at 213f44aec8)
107 - + receive-pack: purge temporary data if no command is ready to run
129
109 - "receive-pack" checks if it will do any ref updates (various
110 - conditions could reject a push) before received objects are taken
111 - out of the temporary directory used for quarantine purposes, so
112 - that a push that is known-to-fail will not leave crufts that a
113 - future "gc" needs to clean up.
114 - source: <20220129063538.24038-1-bojun.cbj@gmail.com>
130 +* ds/sparse-checkout-requires-per-worktree-config (2022-02-08) 6 commits
131 + (merged to 'next' on 2022-02-15 at f86bec6da9)
132 + + config: make git_configset_get_string_tmp() private
133 + + worktree: copy sparse-checkout patterns and config on add
134 + + sparse-checkout: set worktree-config correctly
135 + + config: add repo_config_set_worktree_gently()
136 + + worktree: create init_worktree_config()
137 + + Documentation: add extensions.worktreeConfig details
138 + (this branch is used by ds/worktree-docs.)
139
140 + "git sparse-checkout" wants to work with per-worktree configuration,
141 + but did not work well in a worktree attached to a bare repository.
142 + source: <pull.1101.v6.git.1644269583.gitgitgadget@gmail.com>
143
117 -* ds/mailmap (2022-02-14) 1 commit
118 - (merged to 'next' on 2022-02-14 at 1e50634951)
119 - + mailmap: change primary address for Derrick Stolee
144
121 - Update mailmap entries.
122 - source: <pull.1142.git.1644857153590.gitgitgadget@gmail.com>
145 +* en/ort-inner-merge-conflict-report (2022-02-17) 1 commit
146 + (merged to 'next' on 2022-02-18 at 367dd32e74)
147 + + merge-ort: make informational messages from recursive merges clearer
148
149 + Messages "ort" merge backend prepares while dealing with conflicted
150 + paths were unnecessarily confusing since it did not differentiate
151 + inner merges and outer merges.
152 + source: <pull.1121.git.1645079923090.gitgitgadget@gmail.com>
153
125 -* gc/branch-recurse-submodules (2022-02-04) 7 commits
126 - (merged to 'next' on 2022-02-10 at b54367ff92)
127 - + branch.c: use 'goto cleanup' in setup_tracking() to fix memory leaks
128 - + branch: add --recurse-submodules option for branch creation
129 - + builtin/branch: consolidate action-picking logic in cmd_branch()
130 - + branch: add a dry_run parameter to create_branch()
131 - + branch: make create_branch() always create a branch
132 - + branch: move --set-upstream-to behavior to dwim_and_setup_tracking()
133 - + Merge branch 'js/branch-track-inherit' into gc/branch-recurse-submodules
154
135 - "git branch" learned the "--recurse-submodules" option.
136 - source: <20220129000446.99261-1-chooglen@google.com>
155 +* ja/i18n-common-messages (2022-02-04) 4 commits
156 + (merged to 'next' on 2022-02-15 at 23d56641fc)
157 + + i18n: fix some misformated placeholders in command synopsis
158 + + i18n: remove from i18n strings that do not hold translatable parts
159 + + i18n: factorize "invalid value" messages
160 + + i18n: factorize more 'incompatible options' messages
161
162 + Unify more messages to help l10n.
163 + source: <pull.1123.v4.git.1643666870.gitgitgadget@gmail.com>
164
139 -* hw/t1410-adjust-test-for-reftable (2022-02-09) 2 commits
140 - (merged to 'next' on 2022-02-14 at 6b96b4faa4)
141 - + t1410: mark bufsize boundary test as REFFILES
142 - + t1410: use test-tool ref-store to inspect reflogs
165
144 - Fix tests that are unnecessarily specific to ref-files backend.
145 - source: <pull.1213.git.git.1644406180.gitgitgadget@gmail.com>
166 +* jc/name-rev-stdin (2022-02-15) 1 commit
167 + (merged to 'next' on 2022-02-16 at ee993590a4)
168 + + name-rev: replace --stdin with --annotate-stdin in synopsis
169
170 + Finishing touches to an earlier "name-rev --annotate-stdin" series.
171 + source: <pull.1216.git.git.1644958327302.gitgitgadget@gmail.com>
172
148 -* jc/glossary-worktree (2022-02-09) 1 commit
149 - (merged to 'next' on 2022-02-10 at d05e2b6ea3)
150 - + glossary: describe "worktree"
173
152 - "working tree" and "per-worktree ref" were in glossary, but
153 - "worktree" itself wasn't, which has been corrected.
154 - source: <xmqqczjvxy3o.fsf@gitster.g>
174 +* js/apply-partial-clone-filters-recursively (2022-02-09) 1 commit
175 + (merged to 'next' on 2022-02-16 at 4b3852bd52)
176 + + clone, submodule: pass partial clone filters to submodules
177
178 + "git clone --filter=... --recurse-submodules" only makes the
179 + top-level a partial clone, while submodules are fully cloned. This
180 + behaviour is changed to pass the same filter down to the submodules.
181 + source: <690d2316ad518ea4551821b2b3aa652996858475.1644034886.git.steadmon@google.com>
182
157 -* jd/t0015-modernize (2022-02-09) 1 commit
158 - (merged to 'next' on 2022-02-10 at a3733234c0)
159 - + t/t0015-hash.sh: remove unnecessary '\' at line end
183
161 - Test modernization.
162 - source: <20220208092339.651761-2-jaydeepjd.8914@gmail.com>
163 -
164 -
165 -* js/short-help-outside-repo-fix (2022-02-08) 2 commits
166 - (merged to 'next' on 2022-02-10 at a86376de89)
167 - + t0012: verify that built-ins handle `-h` even without gitdir
168 - + checkout/fetch/pull/pack-objects: allow `-h` outside a repository
169 -
170 - "git cmd -h" outside a repository should error out cleanly for many
171 - commands, but instead it hit a BUG(), which has been corrected.
172 - source: <pull.1139.v2.git.1644319314.gitgitgadget@gmail.com>
173 -
174 -
175 -* ps/avoid-unnecessary-hook-invocation-with-packed-refs (2022-01-17) 6 commits
176 - (merged to 'next' on 2022-02-10 at 4866a64508)
177 - + refs: skip hooks when deleting uncovered packed refs
178 - + refs: do not execute reference-transaction hook on packing refs
179 - + refs: demonstrate excessive execution of the reference-transaction hook
180 - + refs: allow skipping the reference-transaction hook
181 - + refs: allow passing flags when beginning transactions
182 - + refs: extract packed_refs_delete_refs() to allow control of transaction
183 -
184 - Because a deletion of ref would need to remove it from both the
185 - loose ref store and the packed ref store, a delete-ref operation
186 - that logically removes one ref may end up invoking ref-transaction
187 - hook twice, which has been corrected.
188 - source: <cover.1642406989.git.ps@pks.im>
189 -
190 -
191 -* ps/fetch-optim-with-commit-graph (2022-02-10) 2 commits
192 - (merged to 'next' on 2022-02-14 at 2b331293fb)
193 - + fetch: skip computing output width when not printing anything
194 - + fetch-pack: use commit-graph when computing cutoff
195 -
196 - A couple of optimization to "git fetch".
197 - source: <cover.1644495978.git.ps@pks.im>
198 -
199 -
200 -* pw/use-in-process-checkout-in-rebase (2022-01-26) 14 commits
201 - (merged to 'next' on 2022-02-10 at bd7c3615fe)
202 - + rebase -m: don't fork git checkout
203 - + rebase --apply: set ORIG_HEAD correctly
204 - + rebase --apply: fix reflog
205 - + reset_head(): take struct rebase_head_opts
206 - + rebase: cleanup reset_head() calls
207 - + create_autostash(): remove unneeded parameter
208 - + reset_head(): make default_reflog_action optional
209 - + reset_head(): factor out ref updates
210 - + reset_head(): remove action parameter
211 - + rebase --apply: don't run post-checkout hook if there is an error
212 - + rebase: do not remove untracked files on checkout
213 - + rebase: pass correct arguments to post-checkout hook
214 - + t5403: refactor rebase post-checkout hook tests
215 - + rebase: factor out checkout for up to date branch
216 -
217 - Use an internal call to reset_head() helper function instead of
218 - spawning "git checkout" in "rebase", and update code paths that are
219 - involved in the change.
220 - source: <pull.1049.v3.git.1643202349.gitgitgadget@gmail.com>
221 -
222 -
223 -* sy/t0001-use-path-is-helper (2022-02-11) 1 commit
224 - (merged to 'next' on 2022-02-14 at 2f1bdb0803)
225 - + t0001: replace "test [-d|-f]" with test_path_is_* functions
184 +* rs/pcre-invalid-utf8-fix-fix (2022-02-17) 1 commit
185 + (merged to 'next' on 2022-02-18 at 9e47d58bda)
186 + + grep: fix triggering PCRE2_NO_START_OPTIMIZE workaround
187
227 - Test modernization.
228 - source: <20220121102109.433457-2-shaoxuan.yuan02@gmail.com>
188 + Workaround we have for versions of PCRE2 before their version 10.36
189 + were in effect only for their versions newer than 10.36 by mistake,
190 + which has been corrected.
191 + source: <4e391e2e-6561-3c2e-0306-c860a37356bc@web.de>
192
193
231 -* tb/midx-no-bitmap-for-no-objects (2022-02-09) 1 commit
232 - (merged to 'next' on 2022-02-10 at 5c501a3f80)
233 - + midx: prevent writing a .bitmap without any objects
194 +* tb/coc-plc-update (2022-02-18) 1 commit
195 + (merged to 'next' on 2022-02-23 at 9d45e42c9a)
196 + + CODE_OF_CONDUCT.md: update PLC members list
197
235 - When there is no object to write .bitmap file for, "git
236 - multi-pack-index" triggered an error, instead of just skipping,
237 - which has been corrected.
238 - source: <abc67d757cb6b244cf54b7b030985180ce134724.1644434802.git.me@ttaylorr.com>
198 + Document Taylor as a new member of Git PLC at SFC. Welcome.
199 + source: <f5daef58bc0bededd46bc9686c586ba5ae9a453c.1645211253.git.me@ttaylorr.com>
200
201 --------------------------------------------------
202 [New Topics]
@@ -246,21 +207,11 @@ Release tarballs are available at:
207 Insert a layer of preprocessor macros for common functions in xdiff
208 codebase.
209
249 - Sort of Meh, other than the fact that it documents what can
250 - plausibly be renamed.
210 + Expecting a (hopefully final) reroll.
211 + cf. <xmqqbkyudb8n.fsf@gitster.g>
212 source: <20220217225408.GB7@edef91d97c94>
213
214
254 -* tb/coc-plc-update (2022-02-18) 1 commit
255 - (merged to 'next' on 2022-02-23 at 9d45e42c9a)
256 - + CODE_OF_CONDUCT.md: update PLC members list
257 -
258 - Document Taylor as a new member of Git PLC at SFC. Welcome.
259 -
260 - Will merge to 'master'.
261 - source: <f5daef58bc0bededd46bc9686c586ba5ae9a453c.1645211253.git.me@ttaylorr.com>
262 -
263 -
215 * jt/ls-files-stage-recurse (2022-02-23) 1 commit
216 - ls-files: support --recurse-submodules --stage
217
@@ -274,6 +225,11 @@ Release tarballs are available at:
225 - C99: remove hardcoded-out !HAVE_VARIADIC_MACROS code
226 - git-compat-util.h: clarify GCC v.s. C99-specific in comment
227
228 + Remove the escape hatch we added when we introduced the weather
229 + balloon to use variadic macros unconditionally, to make it official
230 + that we now have a hard dependency on the feature.
231 +
232 + Will merge to 'next'.
233 source: <cover-v4-0.2-00000000000-20220221T160440Z-avarab@gmail.com>
234
235
@@ -281,6 +237,9 @@ Release tarballs are available at:
237 - hook tests: use a modern style for "pre-push" tests
238 - hook tests: test for exact "pre-push" hook input
239
240 + Test modernization.
241 +
242 + Will merge to 'next'.
243 source: <cover-0.2-00000000000-20220218T204719Z-avarab@gmail.com>
244
245
@@ -290,6 +249,9 @@ Release tarballs are available at:
249 - test-lib: correct commentary on TEST_DIRECTORY overriding
250 - test-lib: add GIT_SAN_OPTIONS, inherit [AL]SAN_OPTIONS
251
252 + Random test-framework clean-up.
253 +
254 + Will merge to 'next'?
255 source: <cover-v3-0.4-00000000000-20220221T155656Z-avarab@gmail.com>
256
257
@@ -305,8 +267,11 @@ Release tarballs are available at:
267 - worktree: extract copy_sparse_checkout()
268 - worktree: extract copy_filtered_worktree_config()
269 - worktree: combine two translatable messages
308 - (this branch uses ds/sparse-checkout-requires-per-worktree-config.)
270
271 + Tighten the language around "working tree" and "worktree" in the
272 + docs.
273 +
274 + Will merge to 'next'.
275 source: <pull.1154.v3.git.1645626559.gitgitgadget@gmail.com>
276
277
@@ -314,12 +279,18 @@ Release tarballs are available at:
279 - merge-ort: fix small memory leak in unique_path()
280 - merge-ort: fix small memory leak in detect_and_process_renames()
281
282 + Leakfix.
283 +
284 + Will merge to 'next'.
285 source: <pull.1152.v2.git.1645320591.gitgitgadget@gmail.com>
286
287
288 * jc/rerere-train-modernise (2022-02-20) 1 commit
289 - rerere-train: modernise a bit
290
291 + Small modernisation of the rerere-train script (in contrib/).
292 +
293 + Will merge to 'next'.
294 source: <xmqqsfsjuw8m.fsf@gitster.g>
295
296
@@ -334,6 +305,9 @@ Release tarballs are available at:
305 - help.c: use puts() instead of printf{,_ln}() for consistency
306 - help doc: add missing "]" to "[-a|--all]"
307
308 + Updates to how command line options to "git help" are handled.
309 +
310 + Will merge to 'next'?
311 source: <cover-v2-0.9-00000000000-20220221T193708Z-avarab@gmail.com>
312
313
@@ -341,21 +315,243 @@ Release tarballs are available at:
315 - parse-options.c: add style checks for usage-strings
316 - amend remaining usage strings according to style guide
317
318 + Usage-string normalization, plus runtime enforcement.
319 +
320 + Will merge to 'next'?
321 source: <pull.1147.v3.git.1645626455.gitgitgadget@gmail.com>
322
323
347 -* mc/index-pack-report-max-size (2022-02-23) 2 commits
348 - - t5302: confirm that large packs mention limit
324 +* mc/index-pack-report-max-size (2022-02-23) 1 commit
325 - index-pack: clarify the breached limit
326
351 - source: <pull.1158.git.1645632193.gitgitgadget@gmail.com>
327 + When "index-pack" dies due to incoming data exceeding the maximum
328 + allowed input size, include the value of the limit in the error
329 + message.
330 +
331 + Will merge to 'next'?
332 + source: <pull.1158.v2.git.1645661240356.gitgitgadget@gmail.com>
333
334
335 * sm/no-git-in-upstream-of-pipe-in-tests (2022-02-23) 1 commit
336 - t0003: avoid pipes with Git on LHS
337
338 + Test fixes.
339 +
340 + Will merge to 'next'.
341 source: <20220223115347.3083-3-shivam828787@gmail.com>
342
343 +
344 +* ab/c99-designated-initializers (2022-02-24) 9 commits
345 + - fast-import.c: use designated initializers for "partial" struct assignments
346 + - refspec.c: use designated initializers for "struct refspec_item"
347 + - convert.c: use designated initializers for "struct stream_filter*"
348 + - userdiff.c: use designated initializers for "struct userdiff_driver"
349 + - archive-*.c: use designated initializers for "struct archiver"
350 + - object-file: use designated initializers for "struct git_hash_algo"
351 + - trace2: use designated initializers for "struct tr2_dst"
352 + - trace2: use designated initializers for "struct tr2_tgt"
353 + - imap-send.c: use designated initializers for "struct imap_server_conf"
354 +
355 + Use designated initializers we started using in mid 2017 in more
356 + parts of the codebase that are relatively quiescent.
357 +
358 + Will merge to 'next' and then to 'master'.
359 + source: <cover-00.12-00000000000-20220224T092805Z-avarab@gmail.com>
360 +
361 +
362 +* ab/http-gcc-12-workaround (2022-02-25) 1 commit
363 + - http API: fix dangling pointer issue noted by GCC 12.0
364 +
365 + Work around false warning pre-release of GCC 12.
366 + source: <patch-v2-1.1-777838267a5-20220225T090816Z-avarab@gmail.com>
367 +
368 +
369 +* ab/make-optim-noop (2022-02-25) 9 commits
370 + - Makefiles: add and use wildcard "mkdir -p" template
371 + - Makefile: use $(wspfx) for $(QUIET...) in shared.mak
372 + - Makefile: add "$(QUIET)" boilerplate to shared.mak
373 + - Makefile: move $(comma), $(empty) and $(space) to shared.mak
374 + - Makefile: move ".SUFFIXES" rule to shared.mak
375 + - Makefile: define $(LIB_H) in terms of $(FIND_SOURCE_FILES)
376 + - Makefile: disable GNU make built-in wildcard rules
377 + - Makefiles: add "shared.mak", move ".DELETE_ON_ERROR" to it
378 + - scalar Makefile: set the default target after the includes
379 +
380 + Makefile refactoring with a bit of suffixes rule stripping to
381 + optimize the runtime overhead.
382 +
383 + Expecting a reroll.
384 + cf. <220226.861qzq7d2r.gmgdl@evledraar.gmail.com>
385 + source: <cover-v3-0.9-00000000000-20220225T090127Z-avarab@gmail.com>
386 +
387 +
388 +* ah/advice-switch-requires-detach-to-detach (2022-02-24) 1 commit
389 + - switch: mention the --detach option when dying due to lack of a branch
390 +
391 + The error message given by "git switch HEAD~4" has been clarified
392 + to suggest the "--detach" option that is required.
393 +
394 + Will merge to 'next'?
395 + source: <20220224064710.2252637-1-alexhenrie24@gmail.com>
396 +
397 +
398 +* ds/commit-graph-gen-v2-fixes (2022-02-24) 7 commits
399 + - commit-graph: write file format v2
400 + - commit-graph: parse file format v2
401 + - commit-graph: document file format v2
402 + - commit-graph: fix generation number v2 overflow values
403 + - commit-graph: start parsing generation v2 (again)
404 + - commit-graph: fix ordering bug in generation numbers
405 + - test-read-graph: include extra post-parse info
406 +
407 + Fixes to the way generation number v2 in the commit-graph files are
408 + (not) handled, and introduce a newer file format to store the same
409 + information in a way that is more efficient to access.
410 +
411 + Expecting a reroll.
412 + source: <pull.1163.git.1645735117.gitgitgadget@gmail.com>
413 +
414 +
415 +* ds/partial-bundles (2022-02-24) 11 commits
416 + - bundle: unbundle promisor packs
417 + - bundle: create filtered bundles
418 + - rev-list: move --filter parsing into revision.c
419 + - bundle: parse filter capability
420 + - bundle: safely handle --objects option
421 + - MyFirstObjectWalk: update recommended usage
422 + - list-objects: consolidate traverse_commit_list[_filtered]
423 + - pack-bitmap: drop filter in prepare_bitmap_walk()
424 + - pack-objects: use rev.filter when possible
425 + - revision: put object filter into struct rev_info
426 + - index-pack: document and test the --promisor option
427 + (this branch is used by ds/bundle-uri.)
428 +
429 + Bundle file format gets extended to allow a partial bundle,
430 + filtered by similar criteria you would give when making a
431 + partial/lazy clone.
432 + source: <pull.1159.git.1645638911.gitgitgadget@gmail.com>
433 +
434 +
435 +* fs/gpgsm-update (2022-02-24) 3 commits
436 + - t/lib-gpg: kill all gpg components, not just gpg-agent
437 + - t/lib-gpg: reload gpg components after updating trustlist
438 + - gpg-interface/gpgsm: fix for v2.3
439 +
440 + Newer version of GPGSM changed its output in a backward
441 + incompatible way to break our code that parses its output. It also
442 + added more processes our tests need to kill when cleaning up.
443 + Adjustments have been made to accomodate these changes.
444 +
445 + Will merge to 'next'.
446 + source: <20220203123724.47529-1-fs@gigacodes.de>
447 +
448 +
449 +* gc/stash-on-branch-with-multi-level-name (2022-02-24) 1 commit
450 + - stash: strip "refs/heads/" with skip_prefix
451 +
452 + "git checkout -b branch/with/multi/level/name && git stash" only
453 + recorded the last level component of the branch name, which has
454 + been corrected.
455 +
456 + Will merge to 'next'.
457 + source: <20220124205342.41450-1-chooglen@google.com>
458 +
459 +
460 +* jd/prompt-upstream-mark (2022-02-25) 4 commits
461 + - git-prompt: put upstream comments together
462 + - git-prompt: make long upstream state indicator consistent
463 + - git-prompt: make upstream state indicator location consistent
464 + - git-prompt: rename `upstream` to `upstream_type`
465 +
466 + Tweaks in the command line prompt (in contrib/) code around its
467 + GIT_PS1_SHOWUPSTREAM feature.
468 +
469 + Needs reviews.
470 + source: <pull.1162.git.1645789446.gitgitgadget@gmail.com>
471 +
472 +
473 +* pw/worktree-list-with-z (2022-02-25) 1 commit
474 + - worktree: add -z option for list subcommand
475 +
476 + "git worktree list --porcelain" did not c-quote pathnames and lock
477 + reasons with unsafe bytes correctly, which is worked around by
478 + introducing NUL terminated output format with "-z".
479 +
480 + Iffy.
481 + source: <pull.1164.git.1645801727732.gitgitgadget@gmail.com>
482 +
483 +
484 +* rc/fetch-repair (2022-02-24) 8 commits
485 + - doc/partial-clone: mention --repair fetch option
486 + - fetch: after repair, encourage auto gc repacking
487 + - maintenance: add ability to pass config options
488 + - t5615-partial-clone: add test for fetch --repair
489 + - fetch: add --repair option
490 + - builtin/fetch-pack: add --repair option
491 + - fetch-pack: add repairing
492 + - fetch-negotiator: add specific noop initializor
493 +
494 + "git fetch --repair" learned to fetch everything without telling
495 + the other side what we already have, which is useful when you
496 + cannot trust what you have in the local object store.
497 +
498 + Iffy. It may be cleaner to make a fresh clone and salvage bits
499 + out of the suspicious repository being "repair"ed.
500 + source: <pull.1138.v2.git.1645719218.gitgitgadget@gmail.com>
501 +
502 +
503 +* tk/empty-untracked-cache (2022-02-25) 3 commits
504 + - untracked-cache: write index when populating empty untracked cache
505 + - t7519: populate untracked cache before test
506 + - t7519: avoid file to index mtime race for untracked cache
507 +
508 + The untracked cache newly computed weren't written back to the
509 + on-disk index file when there is no other change to the index,
510 + which has been corrected.
511 +
512 + Will merge to 'next'.
513 + source: <pull.986.v2.git.1645809015.gitgitgadget@gmail.com>
514 +
515 +
516 +* tk/simple-autosetupmerge (2022-02-25) 2 commits
517 + - t3200: tests for new branch.autosetupmerge option "simple"
518 + - merge: new autosetupmerge option 'simple' for matching branches
519 +
520 + "git -c branch.autosetupmerge=simple branch $A $B" will set the $B
521 + as $A's upstream only when $A and $B shares the same name, and "git
522 + -c push.default=simple" on branch $A would push to update the
523 + branch $A at the remote $B came from.
524 +
525 + Needs review.
526 + source: <pull.1161.v2.git.1645815142.gitgitgadget@gmail.com>
527 +
528 +
529 +* tk/untracked-cache-with-uall (2022-02-25) 1 commit
530 + - untracked-cache: support '--untracked-files=all' if configured
531 +
532 + The untracked cache system does not work well when the setting of
533 + status.showuntrackedfiles is 'normal' and not 'all', which has been
534 + updated.
535 +
536 + Needs review.
537 + source: <pull.985.v2.git.1645811564461.gitgitgadget@gmail.com>
538 +
539 +
540 +* vd/sparse-read-tree (2022-02-24) 7 commits
541 + - read-tree: make three-way merge sparse-aware
542 + - read-tree: make two-way merge sparse-aware
543 + - read-tree: narrow scope of index expansion for '--prefix'
544 + - read-tree: integrate with sparse index
545 + - read-tree: expand sparse checkout test coverage
546 + - status: fix nested sparse directory diff in sparse index
547 + - sparse-index: prevent repo root from becoming sparse
548 +
549 + "git read-tree" has been made to be aware of the sparse-index
550 + feature.
551 +
552 + Needs review.
553 + source: <pull.1157.v2.git.1645742073.gitgitgadget@gmail.com>
554 +
555 --------------------------------------------------
556 [Stalled]
557
@@ -404,16 +600,6 @@ Release tarballs are available at:
600 source: <pull.1118.v5.git.1645289086.gitgitgadget@gmail.com>
601
602
407 -* jc/name-rev-stdin (2022-02-15) 1 commit
408 - (merged to 'next' on 2022-02-16 at ee993590a4)
409 - + name-rev: replace --stdin with --annotate-stdin in synopsis
410 -
411 - Finishing touches to an earlier "name-rev --annotate-stdin" series.
412 -
413 - Will merge to 'master'.
414 - source: <pull.1216.git.git.1644958327302.gitgitgadget@gmail.com>
415 -
416 -
603 * ab/commit-plug-leaks (2022-02-16) 2 commits
604 - commit: use strbuf_release() instead of UNLEAK()
605 - commit: fix "author_ident" leak
@@ -425,17 +611,6 @@ Release tarballs are available at:
611 source: <cover-0.2-00000000000-20220216T081844Z-avarab@gmail.com>
612
613
428 -* ab/diff-free-more (2022-02-16) 2 commits
429 - (merged to 'next' on 2022-02-17 at be8ae78a2d)
430 - + diff.[ch]: have diff_free() free options->parseopts
431 - + diff.[ch]: have diff_free() call clear_pathspec(opts.pathspec)
432 -
433 - Leakfixes.
434 -
435 - Will merge to 'master'.
436 - source: <cover-0.2-00000000000-20220216T105250Z-avarab@gmail.com>
437 -
438 -
614 * pw/single-key-interactive (2022-02-23) 4 commits
615 - add -p: disable stdin buffering when interactive.singlekey is set
616 - terminal: set VMIN and VTIME in non-canonical mode
@@ -481,29 +656,6 @@ Release tarballs are available at:
656 source: <pull.1143.git.1644940773.gitgitgadget@gmail.com>
657
658
484 -* ds/core-untracked-cache-config (2022-02-17) 1 commit
485 - (merged to 'next' on 2022-02-18 at 0c426fdec1)
486 - + dir: force untracked cache with core.untrackedCache
487 -
488 - Setting core.untrackedCache to true failed to add the untracked
489 - cache extension to the index.
490 -
491 - Will merge to 'master'.
492 - source: <pull.1058.v2.git.1645131630140.gitgitgadget@gmail.com>
493 -
494 -
495 -* en/ort-inner-merge-conflict-report (2022-02-17) 1 commit
496 - (merged to 'next' on 2022-02-18 at 367dd32e74)
497 - + merge-ort: make informational messages from recursive merges clearer
498 -
499 - Messages "ort" merge backend prepares while dealing with conflicted
500 - paths were unnecessarily confusing since it did not differentiate
501 - inner merges and outer merges.
502 -
503 - Will merge to 'master'.
504 - source: <pull.1121.git.1645079923090.gitgitgadget@gmail.com>
505 -
506 -
659 * hn/reftable-no-empty-keys (2022-02-23) 7 commits
660 - reftable: rename writer_stats to reftable_writer_stats
661 - reftable: add test for length of disambiguating prefix
@@ -539,32 +691,6 @@ Release tarballs are available at:
691 source: <cover.1645102965.git.ps@pks.im>
692
693
542 -* rs/pcre-invalid-utf8-fix-fix (2022-02-17) 1 commit
543 - (merged to 'next' on 2022-02-18 at 9e47d58bda)
544 - + grep: fix triggering PCRE2_NO_START_OPTIMIZE workaround
545 -
546 - Workaround we have for versions of PCRE2 before their version 10.36
547 - were in effect only for their versions newer than 10.36 by mistake,
548 - which has been corrected.
549 -
550 - Will merge to 'master'.
551 - source: <4e391e2e-6561-3c2e-0306-c860a37356bc@web.de>
552 -
553 -
554 -* ab/date-mode-release (2022-02-16) 5 commits
555 - (merged to 'next' on 2022-02-17 at 62f1cf68ae)
556 - + date API: add and use a date_mode_release()
557 - + date API: add basic API docs
558 - + date API: provide and use a DATE_MODE_INIT
559 - + date API: create a date.h, split from cache.h
560 - + cache.h: remove always unused show_date_human() declaration
561 -
562 - Plug (some) memory leaks around parse_date_format().
563 -
564 - Will merge to 'master'.
565 - source: <cover-v3-0.5-00000000000-20220216T081203Z-avarab@gmail.com>
566 -
567 -
694 * pw/xdiff-alloc-fail (2022-02-16) 4 commits
695 - xdiff: handle allocation failure when merging
696 - xdiff: refactor a function
@@ -576,15 +702,18 @@ Release tarballs are available at:
702 source: <pull.1140.v2.git.1645006510.gitgitgadget@gmail.com>
703
704
579 -* gc/recursive-fetch-with-unused-submodules (2022-02-10) 8 commits
580 - - submodule: fix bug and remove add_submodule_odb()
705 +* gc/recursive-fetch-with-unused-submodules (2022-02-24) 11 commits
706 + - SQUASH???
707 + - submodule: fix latent check_has_commit() bug
708 - fetch: fetch unpopulated, changed submodules
709 + - submodule: move logic into fetch_task_create()
710 - submodule: extract get_fetch_task()
583 - - t5526: use grep to assert on fetches
584 - - t5526: introduce test helper to assert on fetches
585 - - submodule: make static functions read submodules from commits
711 - submodule: store new submodule commits oid_array in a struct
712 - submodule: inline submodule_commits() into caller
713 + - submodule: make static functions read submodules from commits
714 + - t5526: create superproject commits with test helper
715 + - t5526: stop asserting on stderr literally
716 + - t5526: introduce test helper to assert on fetches
717
718 When "git fetch --recurse-submodules" grabbed submodule commits
719 that would be needed to recursively check out newly fetched commits
@@ -593,8 +722,7 @@ Release tarballs are available at:
722 submodules that have been run "git submodule init" on.
723
724 Expecting a reroll.
596 - cf. <kl6lv8xc51ox.fsf@chooglen-macbookpro.roam.corp.google.com>
597 - source: <20220210044152.78352-1-chooglen@google.com>
725 + source: <20220224100842.95827-1-chooglen@google.com>
726
727
728 * cg/t3903-modernize (2022-02-23) 3 commits
@@ -639,6 +767,9 @@ Release tarballs are available at:
767 - scalar: validate the optional enlistment argument
768 - archive: optionally add "virtual" files
769
770 + Implementation of "scalar diagnose" subcommand.
771 +
772 + What's the state of this thing?
773 source: <pull.1128.v2.git.1644187146.gitgitgadget@gmail.com>
774
775
@@ -698,13 +829,14 @@ Release tarballs are available at:
829 source: <20220128194811.3396281-1-robin.jarry@6wind.com>
830
831
701 -* ab/object-file-api-updates (2022-02-04) 11 commits
832 +* ab/object-file-api-updates (2022-02-25) 12 commits
833 - object-file API: pass an enum to read_object_with_reference()
834 - object-file.c: add a literal version of write_object_file_prepare()
835 - object-file API: have hash_object_file() take "enum object_type"
836 - object API: rename hash_object_file_literally() to write_*()
837 - object-file API: split up and simplify check_object_signature()
707 - - object API: make check_object_signature() oideq()-like, move docs
838 + - object API users + docs: check <0, not !0 with check_object_signature()
839 + - object API docs: move check_object_signature() docs to cache.h
840 - object API: correct "buf" v.s. "map" mismatch in *.c and *.h
841 - object-file API: have write_object_file() take "enum object_type"
842 - object-file API: add a format_object_header() function
@@ -712,20 +844,9 @@ Release tarballs are available at:
844 - object-file.c: split up declaration of unrelated variables
845
846 Object-file API shuffling.
715 - source: <cover-v2-00.11-00000000000-20220204T135005Z-avarab@gmail.com>
847
717 -
718 -* ja/i18n-common-messages (2022-02-04) 4 commits
719 - (merged to 'next' on 2022-02-15 at 23d56641fc)
720 - + i18n: fix some misformated placeholders in command synopsis
721 - + i18n: remove from i18n strings that do not hold translatable parts
722 - + i18n: factorize "invalid value" messages
723 - + i18n: factorize more 'incompatible options' messages
724 -
725 - Unify more messages to help l10n.
726 -
727 - Will merge to 'master'.
728 - source: <pull.1123.v4.git.1643666870.gitgitgadget@gmail.com>
848 + Needs review.
849 + source: <cover-v3-00.12-00000000000-20220204T234435Z-avarab@gmail.com>
850
851
852 * en/merge-tree (2022-02-23) 13 commits
@@ -752,18 +873,6 @@ Release tarballs are available at:
873 source: <pull.1122.v6.git.1645602413.gitgitgadget@gmail.com>
874
875
755 -* js/apply-partial-clone-filters-recursively (2022-02-09) 1 commit
756 - (merged to 'next' on 2022-02-16 at 4b3852bd52)
757 - + clone, submodule: pass partial clone filters to submodules
758 -
759 - "git clone --filter=... --recurse-submodules" only makes the
760 - top-level a partial clone, while submodules are fully cloned. This
761 - behaviour is changed to pass the same filter down to the submodules.
762 -
763 - Will merge to 'master'.
764 - source: <690d2316ad518ea4551821b2b3aa652996858475.1644034886.git.steadmon@google.com>
765 -
766 -
876 * jh/p4-various-fixups (2022-02-10) 22 commits
877 - git-p4: sort imports
878 - git-p4: seperate multiple statements onto seperate lines
@@ -807,25 +916,8 @@ Release tarballs are available at:
916 source: <fead25d6-6f5f-487a-ad4c-0657fe9785fd@www.fastmail.com>
917
918
810 -* ds/sparse-checkout-requires-per-worktree-config (2022-02-08) 6 commits
811 - (merged to 'next' on 2022-02-15 at f86bec6da9)
812 - + config: make git_configset_get_string_tmp() private
813 - + worktree: copy sparse-checkout patterns and config on add
814 - + sparse-checkout: set worktree-config correctly
815 - + config: add repo_config_set_worktree_gently()
816 - + worktree: create init_worktree_config()
817 - + Documentation: add extensions.worktreeConfig details
818 - (this branch is used by ds/worktree-docs.)
819 -
820 - "git sparse-checkout" wants to work with per-worktree configration,
821 - but did not work well in a worktree attached to a bare repository.
822 -
823 - Will merge to 'master'.
824 - source: <pull.1101.v6.git.1644269583.gitgitgadget@gmail.com>
825 -
826 -
827 -* en/present-despite-skipped (2022-02-20) 7 commits
828 - - Provide config option to expect files outside sparse patterns
919 +* en/present-despite-skipped (2022-02-25) 7 commits
920 + - repo_read_index: add config to expect files outside sparse patterns
921 (merged to 'next' on 2022-02-15 at 960873fdad)
922 + Accelerate clear_skip_worktree_from_present_files() by caching
923 + Update documentation related to sparsity and the skip-worktree bit
@@ -839,31 +931,10 @@ Release tarballs are available at:
931 harder to correct. Automatically detecting and correcting the marking
932 of such files has been added to avoid these problems.
933
842 - On hold.
843 - cf. <YhBNgUFnujFGVcRo@google.com>
844 - cf. <CABPp-BFEt1zxR6xoZmwmY2dtXkK+ti+g-1DHZCgeP2VpzWqqyA@mail.gmail.com>
934 + Will merge to 'next'?
935 source: <pull.1114.v2.git.1642175983.gitgitgadget@gmail.com>
936
937
848 -* ab/grep-patterntype (2022-02-15) 10 commits
849 - (merged to 'next' on 2022-02-16 at 64222759a2)
850 - + grep: simplify config parsing and option parsing
851 - + grep.c: do "if (bool && memchr())" not "if (memchr() && bool)"
852 - + grep.h: make "grep_opt.pattern_type_option" use its enum
853 - + grep API: call grep_config() after grep_init()
854 - + grep.c: don't pass along NULL callback value
855 - + built-ins: trust the "prefix" from run_builtin()
856 - + grep tests: add missing "grep.patternType" config tests
857 - + grep tests: create a helper function for "BRE" or "ERE"
858 - + log tests: check if grep_config() is called by "log"-like cmds
859 - + grep.h: remove unused "regex_t regexp" from grep_opt
860 -
861 - Some code clean-up in the "git grep" machinery.
862 -
863 - Will merge to 'master'.
864 - source: <cover-v11-00.10-00000000000-20220216T000006Z-avarab@gmail.com>
865 -
866 -
938 * js/use-builtin-add-i (2021-12-01) 2 commits
939 - add -i: default to the built-in implementation
940 - t2016: require the PERL prereq only when necessary
@@ -881,23 +952,6 @@ Release tarballs are available at:
952 source: <pull.1087.git.1638281655.gitgitgadget@gmail.com>
953
954
884 -* ab/ambiguous-object-name (2022-01-27) 7 commits
885 - (merged to 'next' on 2022-02-15 at 6028098cfe)
886 - + object-name: re-use "struct strbuf" in show_ambiguous_object()
887 - + object-name: iterate ambiguous objects before showing header
888 - + object-name: show date for ambiguous tag objects
889 - + object-name: make ambiguous object output translatable
890 - + object-name: explicitly handle bad tags in show_ambiguous_object()
891 - + object-name: explicitly handle OBJ_BAD in show_ambiguous_object()
892 - + object-name tests: add tests for ambiguous object blind spots
893 -
894 - Error output given in response to an ambiguous object name has been
895 - improved.
896 -
897 - Will merge to 'master'.
898 - source: <cover-v8-0.7-00000000000-20220127T052116Z-avarab@gmail.com>
899 -
900 -
955 * tl/ls-tree-oid-only (2022-02-08) 13 commits
956 - ls-tree.c: support --object-only option for "git-ls-tree"
957 - ls-tree: introduce function "fast_path()"
@@ -915,6 +969,8 @@ Release tarballs are available at:
969
970 "git ls-tree" learns "--oid-only" option, similar to "--name-only",
971 and more generalized "--format" option.
972 +
973 + What's the status of this thing?
974 source: <cover.1644319434.git.dyroneteng@gmail.com>
975
976
@@ -952,6 +1008,9 @@ Release tarballs are available at:
1008 (this branch is used by jh/builtin-fsmonitor-part3.)
1009
1010 Built-in fsmonitor (part 2).
1011 +
1012 + Expecting a (hopefully final) reroll.
1013 + cf. <4aa1293e-00b6-b9ef-efd4-cdf605db37a1@jeffhostetler.com>
1014 source: <pull.1041.v5.git.1644612979.gitgitgadget@gmail.com>
1015
1016
@@ -963,22 +1022,6 @@ Release tarballs are available at:
1022
1023 A configuration variable in a submodule points at the location of
1024 the superproject it is bound to (RFC).
966 - source: <20220203215914.683922-1-emilyshaffer@google.com>
967 -
1025
969 -* ab/only-single-progress-at-once (2022-02-03) 9 commits
970 - (merged to 'next' on 2022-02-15 at 97ac92e662)
971 - + pack-bitmap-write.c: don't return without stop_progress()
972 - + progress API: unify stop_progress{,_msg}(), fix trace2 bug
973 - + progress.c: refactor stop_progress{,_msg}() to use helpers
974 - + progress.c: use dereferenced "progress" variable, not "(*p_progress)"
975 - + progress.h: format and be consistent with progress.c naming
976 - + progress.c tests: test some invalid usage
977 - + progress.c tests: make start/stop commands on stdin
978 - + progress.c test helper: add missing braces
979 - + leak tests: fix a memory leak in "test-progress" helper
980 -
981 - Further tweaks on progress API.
982 -
983 - Will merge to 'master'.
984 - source: <cover-v9-0.9-00000000000-20220203T213350Z-avarab@gmail.com>
1026 + What is the status of this thing?
1027 + source: <20220203215914.683922-1-emilyshaffer@google.com>