What's cooking (2022/01 #02)
Junio C Hamano committed
Jan 5, 2022 at 14:55 UTC
e09a8b5320fdf7f57c11d82be40635b64f318e20
1 file changed
+339
-366
whats-cooking.txt
+339
-366
@@ -1,12 +1,22 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (Jan 2022, #01; Mon, 3)
4
-X-master-at: dcc0cd074f0c639a0df20461a301af6d45bd582e
5
-X-next-at: 194610f4cf2df839ebfd040c5da187c8c0162620
3
+Subject: What's cooking in git.git (Jan 2022, #02; Wed, 5)
4
+X-master-at: e83ba647f7c61cf945690d6a0bd8c172a6498dc8
5
+X-next-at: 24525b3c66f3a5878e67d92b3e0fd082dc1d905e
6
7
-What's cooking in git.git (Jan 2022, #01; Mon, 3)
7
+What's cooking in git.git (Jan 2022, #02; Wed, 5)
8
--------------------------------------------------
9
10
+It's a bit early to publish another issue of this report, but a
11
+bunch of topics have graduated to 'master' and a handful of topics
12
+have joined 'next', so here is the second installment of the month.
13
+
14
+About 25 topics are cooking in 'next', all of which hopefully can be
15
+in the upcoming release. Those not yet in may need bumping, but it
16
+was expected to be a slow cycle due to end-of-year holidays, so it
17
+is also OK to give them enough time to get polished into good enough
18
+shape, rather than merging them prematurely.
19
+
20
Here are the topics that have been cooking in my tree. Commits
21
prefixed with '+' are in 'next' (being in 'next' is a sign that a
22
topic is stable enough to be used and are candidate to be in a
@@ -18,11 +28,6 @@ useful"). Do not read too much into a topic being in (or not in)
28
'seen'. The ones marked with '.' do not appear in any of the
29
integration branches, but I am still holding onto them.
30
21
-Hopefully this will be the last issue of "What's cooking" report of
22
-this year. Please expect my tree will be slow moving this week and
23
-whereever you are on the globe, relax and enjoy the remainder of
24
-this year.
25
-
31
Copies of the source code to Git live in many repositories, and the
32
following is a list of the ones I push into or their mirrors. Some
33
repositories have only a subset of branches.
@@ -54,103 +59,252 @@ Release tarballs are available at:
59
--------------------------------------------------
60
[Graduated to 'master']
61
57
-* en/sparse-checkout-set (2021-12-23) 11 commits
58
- (merged to 'next' on 2021-12-25 at 510f9eba9a)
59
- + sparse-checkout: remove stray trailing space
60
- (merged to 'next' on 2021-12-21 at 36a98aed11)
61
- + clone: avoid using deprecated `sparse-checkout init`
62
- + Documentation: clarify/correct a few sparsity related statements
63
- + git-sparse-checkout.txt: update to document init/set/reapply changes
64
- + sparse-checkout: enable reapply to take --[no-]{cone,sparse-index}
65
- + sparse-checkout: enable `set` to initialize sparse-checkout mode
66
- + sparse-checkout: split out code for tweaking settings config
67
- + sparse-checkout: disallow --no-stdin as an argument to set
68
- + sparse-checkout: add sanity-checks on initial sparsity state
69
- + sparse-checkout: break apart functions for sparse_checkout_(set|add)
70
- + sparse-checkout: pass use_stdin as a parameter instead of as a global
71
-
72
- The "init" and "set" subcommands in "git sparse-checkout" have been
73
- unified for a better user experience and performance.
74
- source: <pull.1151.v4.git.git.1639454952.gitgitgadget@gmail.com>
75
-
76
-
77
-* es/test-chain-lint (2021-12-13) 19 commits
78
- (merged to 'next' on 2021-12-21 at d6f56f3248)
79
- + t6000-t9999: detect and signal failure within loop
80
- + t5000-t5999: detect and signal failure within loop
81
- + t4000-t4999: detect and signal failure within loop
82
- + t0000-t3999: detect and signal failure within loop
83
- + tests: simplify by dropping unnecessary `for` loops
84
- + tests: apply modern idiom for exiting loop upon failure
85
- + tests: apply modern idiom for signaling test failure
86
- + tests: fix broken &&-chains in `{...}` groups
87
- + tests: fix broken &&-chains in `$(...)` command substitutions
88
- + tests: fix broken &&-chains in compound statements
89
- + tests: use test_write_lines() to generate line-oriented output
90
- + tests: simplify construction of large blocks of text
91
- + t9107: use shell parameter expansion to avoid breaking &&-chain
92
- + t6300: make `%(raw:size) --shell` test more robust
93
- + t5516: drop unnecessary subshell and command invocation
94
- + t4202: clarify intent by creating expected content less cleverly
95
- + t1020: avoid aborting entire test script when one test fails
96
- + t1010: fix unnoticed failure on Windows
97
- + t/lib-pager: use sane_unset() to avoid breaking &&-chain
98
-
99
- Broken &&-chains in the test scripts have been corrected.
100
- source: <20211209051115.52629-1-sunshine@sunshineco.com>
101
-
102
-
103
-* jc/unleak-log (2021-12-16) 1 commit
104
- (merged to 'next' on 2021-12-21 at c39506ec86)
105
- + format-patch: mark rev_info with UNLEAK
106
-
107
- "git format-patch" uses a single rev_info instance and then exits.
108
- Mark the structure with UNLEAK() macro to squelch leak sanitizer.
109
- source: <xmqqee6dz5s9.fsf@gitster.g>
110
-
111
-
112
-* ns/tmp-objdir (2021-12-08) 2 commits
113
- (merged to 'next' on 2021-12-21 at d316ff36fc)
114
- + tmp-objdir: disable ref updates when replacing the primary odb
115
- + tmp-objdir: new API for creating temporary writable databases
116
- (this branch is used by en/remerge-diff.)
117
-
118
- New interface into the tmp-objdir API to help in-core use of the
119
- quarantine feature.
120
- source: <pull.1091.v3.git.1638828305.gitgitgadget@gmail.com>
62
+* ds/repack-fixlets (2021-12-20) 2 commits
63
+ (merged to 'next' on 2021-12-27 at 8f8474ae84)
64
+ + repack: make '--quiet' disable progress
65
+ + repack: respect kept objects with '--write-midx -b'
66
+
67
+ Two fixes around "git repack".
68
+ source: <pull.1098.v2.git.1640011691.gitgitgadget@gmail.com>
69
+
70
+
71
+* en/keep-cwd (2021-12-09) 11 commits
72
+ (merged to 'next' on 2021-12-27 at 7cd8f7fdc0)
73
+ + t2501: simplify the tests since we can now assume desired behavior
74
+ + dir: new flag to remove_dir_recurse() to spare the original_cwd
75
+ + dir: avoid incidentally removing the original_cwd in remove_path()
76
+ + stash: do not attempt to remove startup_info->original_cwd
77
+ + rebase: do not attempt to remove startup_info->original_cwd
78
+ + clean: do not attempt to remove startup_info->original_cwd
79
+ + symlinks: do not include startup_info->original_cwd in dir removal
80
+ + unpack-trees: add special cwd handling
81
+ + unpack-trees: refuse to remove startup_info->original_cwd
82
+ + setup: introduce startup_info->original_cwd
83
+ + t2501: add various tests for removing the current working directory
84
+
85
+ Many git commands that deal with working tree files try to remove a
86
+ directory that becomes empty (i.e. "git switch" from a branch that
87
+ has the directory to another branch that does not would attempt
88
+ remove all files in the directory and the directory itself). This
89
+ drops users into an unfamiliar situation if the command was run in
90
+ a subdirectory that becomes subject to removal due to the command.
91
+ The commands have been taught to keep an empty directory if it is
92
+ the directory they were started in to avoid surprising users.
93
+ source: <pull.1140.v6.git.git.1639026515.gitgitgadget@gmail.com>
94
+
95
+
96
+* gh/gpg-doc-markup-fix (2021-12-17) 1 commit
97
+ (merged to 'next' on 2021-12-27 at 7988d71a27)
98
+ + docs: add missing colon to Documentation/config/gpg.txt
99
+
100
+ Doc markup fix.
101
+ source: <20211217161718.15767-1-greg@hurrell.net>
102
+
103
+
104
+* jc/flex-array-definition (2021-12-08) 1 commit
105
+ (merged to 'next' on 2021-12-27 at 9db6a814b7)
106
+ + flex-array: simplify compiler-specific workaround
107
+
108
+ The conditions to choose different definitions of the FLEX_ARRAY
109
+ macro for vendor compilers has been simplified to make it easier to
110
+ maintain.
111
+ source: <xmqqee6mv9no.fsf@gitster.g>
112
+
113
+
114
+* jc/merge-detached-head-name (2021-12-20) 1 commit
115
+ (merged to 'next' on 2021-12-27 at 01f9fe17b9)
116
+ + merge: allow to pretend a merge is made into a different branch
117
+
118
+ The default merge message prepared by "git merge" records the name
119
+ of the current branch; the name can be overridden with a new option
120
+ to allow users to pretend a merge is made on a different branch.
121
+ source: <xmqqee66ubuw.fsf_-_@gitster.g>
122
+
123
+
124
+* jc/t4204-do-not-write-git-on-upstream-of-pipe (2021-12-16) 1 commit
125
+ (merged to 'next' on 2021-12-27 at dc2c5db807)
126
+ + t4204 is not sanitizer clean at all
127
+
128
+ Test fixes.
129
+ source: <xmqqtuf86t7z.fsf_-_@gitster.g>
130
+
131
+
132
+* jh/p4-rcs-expansion-in-bytestring (2021-12-16) 5 commits
133
+ (merged to 'next' on 2021-12-27 at 650cb248ea)
134
+ + git-p4: resolve RCS keywords in bytes not utf-8
135
+ + git-p4: open temporary patch file for write only
136
+ + git-p4: add raw option to read_pipelines
137
+ + git-p4: pre-compile RCS keyword regexes
138
+ + git-p4: use with statements to close files after use in patchRCSKeywords
139
+
140
+ The RCS keyword substitution in "git p4" used to be done assuming
141
+ that the contents are UTF-8 text, which can trigger decoding
142
+ errors. We now treat the contents as a bytestring for robustness
143
+ and correctness.
144
+ source: <20211216134619.2048348-1-jholdsworth@nvidia.com>
145
+
146
+
147
+* jk/ssh-signing-doc-markup-fix (2021-12-15) 1 commit
148
+ (merged to 'next' on 2021-12-27 at 2188dc2023)
149
+ + doc/config: mark ssh allowedSigners example as literal
150
+
151
+ Docfix.
152
+ source: <YboWlOG3vZD/7Osx@coredump.intra.peff.net>
153
+
154
+
155
+* jv/use-larger-buffer-in-upload-pack (2021-12-15) 1 commit
156
+ (merged to 'next' on 2021-12-27 at 3a1afc1ef8)
157
+ + upload-pack.c: increase output buffer size
158
+
159
+ "git upload-pack" (the other side of "git fetch") used a 8kB buffer
160
+ but most of its payload came on 64kB "packets". The buffer size
161
+ has been enlarged so that such a packet fits.
162
+ source: <20211214194626.33814-1-jacob@gitlab.com>
163
+
164
+
165
+* km/help-prompt-fix (2021-12-16) 1 commit
166
+ (merged to 'next' on 2021-12-27 at a16d8fa62a)
167
+ + help: make auto-correction prompt more consistent
168
+
169
+ Among some code paths that ask an yes/no question, only one place
170
+ gave a prompt that looked different from the others, which has been
171
+ updated to match what the others create.
172
+ source: <xmqqy24k8c0j.fsf@gitster.g>
173
+
174
+
175
+* pw/diff-color-moved-fix (2021-12-09) 15 commits
176
+ (merged to 'next' on 2021-12-27 at 443dd9f97f)
177
+ + diff --color-moved: intern strings
178
+ + diff: use designated initializers for emitted_diff_symbol
179
+ + diff --color-moved-ws=allow-indentation-change: improve hash lookups
180
+ + diff --color-moved: stop clearing potential moved blocks
181
+ + diff --color-moved: shrink potential moved blocks as we go
182
+ + diff --color-moved: unify moved block growth functions
183
+ + diff --color-moved: call comparison function directly
184
+ + diff --color-moved-ws=allow-indentation-change: simplify and optimize
185
+ + diff: simplify allow-indentation-change delta calculation
186
+ + diff --color-moved: avoid false short line matches and bad zebra coloring
187
+ + diff --color-moved=zebra: fix alternate coloring
188
+ + diff --color-moved: rewind when discarding pmb
189
+ + diff --color-moved: factor out function
190
+ + diff --color-moved: clear all flags on blocks that are too short
191
+ + diff --color-moved: add perf tests
192
+
193
+ Correctness and performance update to "diff --color-moved" feature.
194
+ source: <pull.981.v5.git.1639045809.gitgitgadget@gmail.com>
195
+
196
+
197
+* rs/daemon-plug-leak (2021-12-20) 1 commit
198
+ (merged to 'next' on 2021-12-27 at 55b058a8bb)
199
+ + daemon: plug memory leak on overlong path
200
+
201
+ Plug a memory leak.
202
+ source: <5b151dc3-d4c7-29d3-71ed-a79033693d5d@web.de>
203
+
204
+
205
+* rs/log-invert-grep-with-headers (2021-12-17) 1 commit
206
+ (merged to 'next' on 2021-12-27 at 861648fe8c)
207
+ + log: let --invert-grep only invert --grep
208
+
209
+ "git log --invert-grep --author=<name>" used to exclude commits
210
+ written by the given author, but now "--invert-grep" only affects
211
+ the matches made by the "--grep=<pattern>" option.
212
+ source: <xmqqee6cbalb.fsf@gitster.g>
213
+
214
+
215
+* rs/pcre2-utf (2021-12-20) 2 commits
216
+ (merged to 'next' on 2021-12-27 at 5dc740c331)
217
+ + grep/pcre2: factor out literal variable
218
+ + grep/pcre2: use PCRE2_UTF even with ASCII patterns
219
+
220
+ "git grep --perl-regexp" failed to match UTF-8 characters with
221
+ wildcard when the pattern consists only of ASCII letters, which has
222
+ been corrected.
223
+ source: <5fa6962e-3c1c-6dbc-f6d7-589151a9baec@web.de>
224
+
225
+
226
+* rs/t4202-invert-grep-test-fix (2021-12-17) 1 commit
227
+ (merged to 'next' on 2021-12-27 at b09cee1626)
228
+ + t4202: fix patternType setting in --invert-grep test
229
+
230
+ Test fix.
231
+ source: <79dcebc0-e569-cc8a-4702-c572b062ed6d@web.de>
232
+
233
+
234
+* xw/am-empty (2021-12-15) 3 commits
235
+ (merged to 'next' on 2021-12-27 at 562e1552f6)
236
+ + am: support --allow-empty to record specific empty patches
237
+ + am: support --empty=<option> to handle empty patches
238
+ + doc: git-format-patch: describe the option --always
239
+
240
+ "git am" learns "--empty=(stop|drop|keep)" option to tweak what is
241
+ done to a piece of e-mail without a patch in it.
242
+ source: <pull.1076.v19.git.1639034755.gitgitgadget@gmail.com>
243
244
--------------------------------------------------
245
[New Topics]
246
125
-* en/merge-ort-renorm-with-rename-delete-conflict-fix (2021-12-30) 1 commit
126
- - merge-ort: fix bug with renormalization and rename/delete conflicts
247
+* bc/csprng-mktemps (2022-01-04) 2 commits
248
+ - wrapper: use a CSPRNG to generate random file names
249
+ - wrapper: add a helper to generate numbers from a CSPRNG
250
128
- A corner case bug in the ort merge strategy has been corrected.
251
+ Pick a better random number generator and use it when we prepare
252
+ temporary filenames.
253
130
- Will merge to 'next'.
131
- source: <pull.1174.git.git.1640650846612.gitgitgadget@gmail.com>
254
+ Expecting a reroll.
255
+ cf. <YdTQodIhZ9273nJE@camp.crustytoothpaste.net>
256
+ source: <20220104015555.3387101-1-sandals@crustytoothpaste.net>
257
258
134
-* jc/find-header (2022-01-03) 1 commit
135
- - receive-pack.c: consolidate find header logic
259
+* jc/reflog-parse-options (2022-01-05) 2 commits
260
+ - builtin/reflog.c: use parse-options api for expire, delete subcommands
261
+ - Merge branch 'ab/reflog-prep' into jc/reflog-parse-options
262
+ (this branch uses ab/reflog-prep.)
263
137
- Code clean-up.
264
+ Use the parse-options API in "git reflog" command.
265
+ source: <pull.1175.v3.git.git.1641318061821.gitgitgadget@gmail.com>
266
139
- Will merge to 'next'?
140
- source: <pull.1125.v2.git.git.1640758765723.gitgitgadget@gmail.com>
267
268
+* vd/sparse-clean-etc (2022-01-04) 9 commits
269
+ - update-index: reduce scope of index expansion in do_reupdate
270
+ - update-index: integrate with sparse index
271
+ - update-index: add tests for sparse-checkout compatibility
272
+ - checkout-index: integrate with sparse index
273
+ - checkout-index: add --ignore-skip-worktree-bits option
274
+ - checkout-index: expand sparse checkout compatibility tests
275
+ - clean: integrate with sparse index
276
+ - reset: reorder wildcard pathspec conditions
277
+ - reset: fix validation in sparse index test
278
143
-* jc/name-rev-stdin (2022-01-03) 4 commits
144
- - fixup! name-rev.c: use strbuf_getline instead of limited size buffer
145
- - fixup! name-rev: deprecate --stdin in favor of --annotate-text
146
- - name-rev.c: use strbuf_getline instead of limited size buffer
147
- - name-rev: deprecate --stdin in favor of --annotate-text
279
+ "git update-index", "git checkout-index", and "git clean" are
280
+ taught to work better with the sparse checkout feature.
281
+ source: <pull.1109.git.1641317820.gitgitgadget@gmail.com>
282
149
- "git name-rev --stdin" does not behave like usual "--stdin" at
150
- all. Start the process of renaming it to "--annotate-stdin".
283
152
- Expecting a reroll.
153
- source: <pull.1171.v3.git.git.1641221261.gitgitgadget@gmail.com>
284
+* en/stash-df-fix (2022-01-04) 1 commit
285
+ - stash: do not return before restoring untracked files
286
+
287
+ "git stash apply" forgot to attempt restoring untracked files when
288
+ it failed to restore changes to tracked ones.
289
+
290
+ Will merge to 'next'.
291
+ source: <pull.1180.git.git.1641337498996.gitgitgadget@gmail.com>
292
+
293
+
294
+* ms/t-readme-typofix (2022-01-04) 1 commit
295
+ - t/README: fix typo
296
+
297
+ Typofix.
298
+
299
+ Will merge to 'next'.
300
+ source: <pull.1110.git.1641338224631.gitgitgadget@gmail.com>
301
+
302
+
303
+* ms/update-index-racy (2022-01-05) 2 commits
304
+ - update-index: refresh should rewrite index in case of racy timestamps
305
+ - t7508: add tests capturing racy timestamp handling
306
+
307
+ source: <pull.1105.v2.git.1641388523.gitgitgadget@gmail.com>
308
309
--------------------------------------------------
310
[Stalled]
@@ -205,6 +359,36 @@ Release tarballs are available at:
359
--------------------------------------------------
360
[Cooking]
361
362
+* en/merge-ort-renorm-with-rename-delete-conflict-fix (2021-12-30) 1 commit
363
+ (merged to 'next' on 2022-01-05 at bb81dd432d)
364
+ + merge-ort: fix bug with renormalization and rename/delete conflicts
365
+
366
+ A corner case bug in the ort merge strategy has been corrected.
367
+
368
+ Will merge to 'master'.
369
+ source: <pull.1174.git.git.1640650846612.gitgitgadget@gmail.com>
370
+
371
+
372
+* jc/find-header (2022-01-03) 1 commit
373
+ - receive-pack.c: consolidate find header logic
374
+
375
+ Code clean-up.
376
+
377
+ Will merge to 'next'?
378
+ source: <pull.1125.v2.git.git.1640758765723.gitgitgadget@gmail.com>
379
+
380
+
381
+* jc/name-rev-stdin (2022-01-05) 2 commits
382
+ - name-rev.c: use strbuf_getline instead of limited size buffer
383
+ - name-rev: deprecate --stdin in favor of --annotate-stdin
384
+
385
+ "git name-rev --stdin" does not behave like usual "--stdin" at
386
+ all. Start the process of renaming it to "--annotate-stdin".
387
+
388
+ Not quite ready yet.
389
+ source: <pull.1171.v5.git.git.1641356439.gitgitgadget@gmail.com>
390
+
391
+
392
* ab/makefile-hook-list-dependency-fix (2021-12-25) 1 commit
393
(merged to 'next' on 2022-01-03 at 8c8ca0cbce)
394
+ Makefile: correct the dependency graph of hook-list.h
@@ -245,27 +429,15 @@ Release tarballs are available at:
429
source: <patch-v3-1.1-6b33b104c84-20211216T125317Z-avarab@gmail.com>
430
431
248
-* km/help-prompt-fix (2021-12-16) 1 commit
249
- (merged to 'next' on 2021-12-27 at a16d8fa62a)
250
- + help: make auto-correction prompt more consistent
251
-
252
- Among some code paths that ask an yes/no question, only one place
253
- gave a prompt that looked different from the others, which has been
254
- updated to match what the others create.
255
-
256
- Will merge to 'master'.
257
- source: <xmqqy24k8c0j.fsf@gitster.g>
258
-
259
-
260
-* lh/use-gnu-color-in-grep (2021-12-16) 1 commit
261
- - grep: align default colors with GNU grep ones
432
+* lh/use-gnu-color-in-grep (2022-01-05) 1 commit
433
+ (merged to 'next' on 2022-01-05 at a0e2068cb7)
434
+ + grep: align default colors with GNU grep ones
435
436
The color palette used by "git grep" has been updated to match that
437
of GNU grep.
438
266
- On hold.
267
- cf. <xmqqh7b88b3o.fsf@gitster.g>
268
- source: <20211216115622.85506-1-lenaic@lhuard.fr>
439
+ Will merge to 'master'.
440
+ source: <20220105081835.4949-1-lenaic@lhuard.fr>
441
442
443
* ws/fast-export-with-revision-options (2021-12-21) 1 commit
@@ -281,49 +453,6 @@ Release tarballs are available at:
453
source: <pull.1084.v2.git.1639037637231.gitgitgadget@gmail.com>
454
455
284
-* jc/t4204-do-not-write-git-on-upstream-of-pipe (2021-12-16) 1 commit
285
- (merged to 'next' on 2021-12-27 at dc2c5db807)
286
- + t4204 is not sanitizer clean at all
287
-
288
- Test fixes.
289
-
290
- Will merge to 'master'.
291
- source: <xmqqtuf86t7z.fsf_-_@gitster.g>
292
-
293
-
294
-* ds/repack-fixlets (2021-12-20) 2 commits
295
- (merged to 'next' on 2021-12-27 at 8f8474ae84)
296
- + repack: make '--quiet' disable progress
297
- + repack: respect kept objects with '--write-midx -b'
298
-
299
- Two fixes around "git repack".
300
-
301
- Will merge to 'master'.
302
- source: <pull.1098.v2.git.1640011691.gitgitgadget@gmail.com>
303
-
304
-
305
-* gh/gpg-doc-markup-fix (2021-12-17) 1 commit
306
- (merged to 'next' on 2021-12-27 at 7988d71a27)
307
- + docs: add missing colon to Documentation/config/gpg.txt
308
-
309
- Doc markup fix.
310
-
311
- Will merge to 'master'.
312
- source: <20211217161718.15767-1-greg@hurrell.net>
313
-
314
-
315
-* jc/merge-detached-head-name (2021-12-20) 1 commit
316
- (merged to 'next' on 2021-12-27 at 01f9fe17b9)
317
- + merge: allow to pretend a merge is made into a different branch
318
-
319
- The default merge message prepared by "git merge" records the name
320
- of the current branch; the name can be overridden with a new option
321
- to allow users to pretend a merge is made on a different branch.
322
-
323
- Will merge to 'master'.
324
- source: <xmqqee66ubuw.fsf_-_@gitster.g>
325
-
326
-
456
* jh/p4-human-unit-numbers (2021-12-20) 2 commits
457
(merged to 'next' on 2022-01-03 at c385766ff4)
458
+ git-p4: show progress as an integer
@@ -359,51 +488,6 @@ Release tarballs are available at:
488
source: <pull.1100.git.1640010777.gitgitgadget@gmail.com>
489
490
362
-* rs/daemon-plug-leak (2021-12-20) 1 commit
363
- (merged to 'next' on 2021-12-27 at 55b058a8bb)
364
- + daemon: plug memory leak on overlong path
365
-
366
- Plug a memory leak.
367
-
368
- Will merge to 'master'.
369
- source: <5b151dc3-d4c7-29d3-71ed-a79033693d5d@web.de>
370
-
371
-
372
-* rs/log-invert-grep-with-headers (2021-12-17) 1 commit
373
- (merged to 'next' on 2021-12-27 at 861648fe8c)
374
- + log: let --invert-grep only invert --grep
375
-
376
- "git log --invert-grep --author=<name>" used to exclude commits
377
- written by the given author, but now "--invert-grep" only affects
378
- the matches made by the "--grep=<pattern>" option.
379
-
380
- Will merge to 'master'.
381
- source: <xmqqee6cbalb.fsf@gitster.g>
382
-
383
-
384
-* rs/pcre2-utf (2021-12-20) 2 commits
385
- (merged to 'next' on 2021-12-27 at 5dc740c331)
386
- + grep/pcre2: factor out literal variable
387
- + grep/pcre2: use PCRE2_UTF even with ASCII patterns
388
-
389
- "git grep --perl-regexp" failed to match UTF-8 characters with
390
- wildcard when the pattern consists only of ASCII letters, which has
391
- been corrected.
392
-
393
- Will merge to 'master'.
394
- source: <5fa6962e-3c1c-6dbc-f6d7-589151a9baec@web.de>
395
-
396
-
397
-* rs/t4202-invert-grep-test-fix (2021-12-17) 1 commit
398
- (merged to 'next' on 2021-12-27 at b09cee1626)
399
- + t4202: fix patternType setting in --invert-grep test
400
-
401
- Test fix.
402
-
403
- Will merge to 'master'.
404
- source: <79dcebc0-e569-cc8a-4702-c572b062ed6d@web.de>
405
-
406
-
491
* ds/sparse-checkout-requires-per-worktree-config (2021-12-21) 5 commits
492
. sparse-checkout: use repo_config_set_worktree_gently()
493
. config: add repo_config_set_worktree_gently()
@@ -497,6 +581,7 @@ Release tarballs are available at:
581
+ reflog: change one->many worktree->refnames to use a string_list
582
+ reflog expire: narrow scope of "cb" in cmd_reflog_expire()
583
+ reflog delete: narrow scope of "cmd" passed to count_reflog_ent()
584
+ (this branch is used by jc/reflog-parse-options.)
585
586
Code refactoring in the reflog part of refs API.
587
@@ -550,23 +635,6 @@ Release tarballs are available at:
635
source: <pull.1164.git.git.1640287790.gitgitgadget@gmail.com>
636
637
553
-* jh/p4-rcs-expansion-in-bytestring (2021-12-16) 5 commits
554
- (merged to 'next' on 2021-12-27 at 650cb248ea)
555
- + git-p4: resolve RCS keywords in bytes not utf-8
556
- + git-p4: open temporary patch file for write only
557
- + git-p4: add raw option to read_pipelines
558
- + git-p4: pre-compile RCS keyword regexes
559
- + git-p4: use with statements to close files after use in patchRCSKeywords
560
-
561
- The RCS keyword substitution in "git p4" used to be done assuming
562
- that the contents are UTF-8 text, which can trigger decoding
563
- errors. We now treat the contents as a bytestring for robustness
564
- and correctness.
565
-
566
- Will merge to 'master'.
567
- source: <20211216134619.2048348-1-jholdsworth@nvidia.com>
568
-
569
-
638
* ds/sparse-checkout-malformed-pattern-fix (2021-12-30) 3 commits
639
(merged to 'next' on 2021-12-30 at c8b2ade48c)
640
+ sparse-checkout: refuse to add to bad patterns
@@ -596,28 +664,6 @@ Release tarballs are available at:
664
source: <20211220233459.45739-1-chooglen@google.com>
665
666
599
-* jk/ssh-signing-doc-markup-fix (2021-12-15) 1 commit
600
- (merged to 'next' on 2021-12-27 at 2188dc2023)
601
- + doc/config: mark ssh allowedSigners example as literal
602
-
603
- Docfix.
604
-
605
- Will merge to 'master'.
606
- source: <YboWlOG3vZD/7Osx@coredump.intra.peff.net>
607
-
608
-
609
-* jv/use-larger-buffer-in-upload-pack (2021-12-15) 1 commit
610
- (merged to 'next' on 2021-12-27 at 3a1afc1ef8)
611
- + upload-pack.c: increase output buffer size
612
-
613
- "git upload-pack" (the other side of "git fetch") used a 8kB buffer
614
- but most of its payload came on 64kB "packets". The buffer size
615
- has been enlarged so that such a packet fits.
616
-
617
- Will merge to 'master'.
618
- source: <20211214194626.33814-1-jacob@gitlab.com>
619
-
620
-
667
* hn/reftable-coverity-fixes (2021-12-22) 18 commits
668
- reftable: be more paranoid about 0-length memcpy calls
669
- reftable: add print functions to the record types
@@ -641,11 +687,13 @@ Release tarballs are available at:
687
Problems identified by Coverity in the reftable code have been
688
corrected.
689
644
- Will merge to 'next'?
690
+ Expecting a reroll.
691
+ cf. <211228.86lf04j0lg.gmgdl@evledraar.gmail.com>
692
source: <pull.1152.v5.git.git.1640199396.gitgitgadget@gmail.com>
693
694
648
-* tb/midx-bitmap-corruption-fix (2021-12-23) 9 commits
695
+* tb/midx-bitmap-corruption-fix (2022-01-04) 9 commits
696
+ - pack-bitmap.c: gracefully fallback after opening pack/MIDX
697
- midx: read `RIDX` chunk when present
698
- t/lib-bitmap.sh: parameterize tests over reverse index source
699
- t5326: move tests to t/lib-bitmap.sh
@@ -654,26 +702,10 @@ Release tarballs are available at:
702
- pack-revindex.c: instrument loading on-disk reverse index
703
- midx.c: make changing the preferred pack safe
704
- t5326: demonstrate bitmap corruption after permutation
657
- - Merge branch 'tb/cruft-packs' into tb/midx-bitmap-corruption-fix
658
- (this branch uses tb/cruft-packs.)
705
706
A bug that made multi-pack bitmap and the object order out-of-sync
707
(hence the .midx data gets corrupted) has been fixed.
662
-
663
- What's the status of this thing?
664
- source: <cover.1639446906.git.me@ttaylorr.com>
665
-
666
-
667
-* jc/flex-array-definition (2021-12-08) 1 commit
668
- (merged to 'next' on 2021-12-27 at 9db6a814b7)
669
- + flex-array: simplify compiler-specific workaround
670
-
671
- The conditions to choose different definitions of the FLEX_ARRAY
672
- macro for vendor compilers has been simplified to make it easier to
673
- maintain.
674
-
675
- Will merge to 'master'.
676
- source: <xmqqee6mv9no.fsf@gitster.g>
708
+ source: <cover.1641320129.git.me@ttaylorr.com>
709
710
711
* pw/fix-some-issues-in-reset-head (2021-12-08) 14 commits
@@ -703,7 +735,7 @@ Release tarballs are available at:
735
source: <pull.1049.v2.git.1638975481.gitgitgadget@gmail.com>
736
737
706
-* ja/i18n-similar-messages (2022-01-03) 11 commits
738
+* ja/i18n-similar-messages (2022-01-05) 11 commits
739
- i18n: turn even more messages into "cannot be used together" ones
740
- i18n: ref-filter: factorize "%(foo) atom used without %(bar) atom"
741
- i18n: factorize "--foo outside a repository"
@@ -719,8 +751,8 @@ Release tarballs are available at:
751
Similar message templates have been consolidated so that
752
translators need to work on fewer number of messages.
753
722
- cf. <48262743.WQR3eRXon5@cayenne>
723
- source: <pull.1088.v4.git.1641143745.gitgitgadget@gmail.com>
754
+ Will merge to 'next'.
755
+ source: <pull.1088.v5.git.1641412944.gitgitgadget@gmail.com>
756
757
758
* ab/usage-die-message (2021-12-07) 6 commits
@@ -739,20 +771,21 @@ Release tarballs are available at:
771
772
773
* ab/cat-file (2021-12-30) 10 commits
742
- - cat-file: use GET_OID_ONLY_TO_DIE in --(textconv|filters)
743
- - object-name.c: don't have GET_OID_ONLY_TO_DIE imply *_QUIETLY
744
- - cat-file: correct and improve usage information
745
- - cat-file: fix remaining usage bugs
746
- - cat-file: make --batch-all-objects a CMDMODE
747
- - cat-file: move "usage" variable to cmd_cat_file()
748
- - cat-file docs: fix SYNOPSIS and "-h" output
749
- - parse-options API: add a usage_msg_optf()
750
- - cat-file tests: test messaging on bad objects/paths
751
- - cat-file tests: test bad usage
774
+ (merged to 'next' on 2022-01-05 at e145efa605)
775
+ + cat-file: use GET_OID_ONLY_TO_DIE in --(textconv|filters)
776
+ + object-name.c: don't have GET_OID_ONLY_TO_DIE imply *_QUIETLY
777
+ + cat-file: correct and improve usage information
778
+ + cat-file: fix remaining usage bugs
779
+ + cat-file: make --batch-all-objects a CMDMODE
780
+ + cat-file: move "usage" variable to cmd_cat_file()
781
+ + cat-file docs: fix SYNOPSIS and "-h" output
782
+ + parse-options API: add a usage_msg_optf()
783
+ + cat-file tests: test messaging on bad objects/paths
784
+ + cat-file tests: test bad usage
785
786
Assorted updates to "git cat-file", especially "-h".
787
755
- Will merge to 'next'.
788
+ Will merge to 'master'.
789
source: <cover-v6-00.10-00000000000-20211228T132637Z-avarab@gmail.com>
790
791
@@ -799,24 +832,23 @@ Release tarballs are available at:
832
833
834
* tb/cruft-packs (2021-11-29) 17 commits
802
- - sha1-file.c: don't freshen cruft packs
803
- - builtin/gc.c: conditionally avoid pruning objects via loose
804
- - builtin/repack.c: add cruft packs to MIDX during geometric repack
805
- - builtin/repack.c: use named flags for existing_packs
806
- - builtin/repack.c: allow configuring cruft pack generation
807
- - builtin/repack.c: support generating a cruft pack
808
- - builtin/pack-objects.c: --cruft with expiration
809
- - reachable: report precise timestamps from objects in cruft packs
810
- - reachable: add options to add_unseen_recent_objects_to_traversal
811
- - builtin/pack-objects.c: --cruft without expiration
812
- - builtin/pack-objects.c: return from create_object_entry()
813
- - t/helper: add 'pack-mtimes' test-tool
814
- - pack-mtimes: support writing pack .mtimes files
815
- - chunk-format.h: extract oid_version()
816
- - pack-write: pass 'struct packing_data' to 'stage_tmp_packfiles'
817
- - pack-mtimes: support reading .mtimes files
818
- - Documentation/technical: add cruft-packs.txt
819
- (this branch is used by tb/midx-bitmap-corruption-fix.)
835
+ . sha1-file.c: don't freshen cruft packs
836
+ . builtin/gc.c: conditionally avoid pruning objects via loose
837
+ . builtin/repack.c: add cruft packs to MIDX during geometric repack
838
+ . builtin/repack.c: use named flags for existing_packs
839
+ . builtin/repack.c: allow configuring cruft pack generation
840
+ . builtin/repack.c: support generating a cruft pack
841
+ . builtin/pack-objects.c: --cruft with expiration
842
+ . reachable: report precise timestamps from objects in cruft packs
843
+ . reachable: add options to add_unseen_recent_objects_to_traversal
844
+ . builtin/pack-objects.c: --cruft without expiration
845
+ . builtin/pack-objects.c: return from create_object_entry()
846
+ . t/helper: add 'pack-mtimes' test-tool
847
+ . pack-mtimes: support writing pack .mtimes files
848
+ . chunk-format.h: extract oid_version()
849
+ . pack-write: pass 'struct packing_data' to 'stage_tmp_packfiles'
850
+ . pack-mtimes: support reading .mtimes files
851
+ . Documentation/technical: add cruft-packs.txt
852
853
Instead of leaving unreachable objects in loose form when packing,
854
or ejecting them into loose form when repacking, gather them in a
@@ -830,14 +862,14 @@ Release tarballs are available at:
862
source: <cover.1638224692.git.me@ttaylorr.com>
863
864
833
-* jl/subtree-check-parents-argument-passing-fix (2021-12-05) 1 commit
834
- - subtree: fix argument handling in check_parents
865
+* jl/subtree-check-parents-argument-passing-fix (2022-01-04) 1 commit
866
+ (merged to 'next' on 2022-01-05 at 7dc995f026)
867
+ + subtree: fix argument handling in check_parents
868
869
Fix performance-releated bug in "git subtree" (in contrib/).
870
838
- Expecting a reroll.
839
- cf. <nycvar.QRO.7.76.6.2112072243310.90@tvgsbejvaqbjf.bet>
840
- source: <pull.1086.v3.git.1638758742741.gitgitgadget@gmail.com>
871
+ Will merge to 'master'.
872
+ source: <pull.1086.v4.git.1638929518657.gitgitgadget@gmail.com>
873
874
875
* ab/ambiguous-object-name (2021-12-30) 6 commits
@@ -853,44 +885,21 @@ Release tarballs are available at:
885
source: <cover-v6-0.6-00000000000-20211228T143223Z-avarab@gmail.com>
886
887
856
-* en/keep-cwd (2021-12-09) 11 commits
857
- (merged to 'next' on 2021-12-27 at 7cd8f7fdc0)
858
- + t2501: simplify the tests since we can now assume desired behavior
859
- + dir: new flag to remove_dir_recurse() to spare the original_cwd
860
- + dir: avoid incidentally removing the original_cwd in remove_path()
861
- + stash: do not attempt to remove startup_info->original_cwd
862
- + rebase: do not attempt to remove startup_info->original_cwd
863
- + clean: do not attempt to remove startup_info->original_cwd
864
- + symlinks: do not include startup_info->original_cwd in dir removal
865
- + unpack-trees: add special cwd handling
866
- + unpack-trees: refuse to remove startup_info->original_cwd
867
- + setup: introduce startup_info->original_cwd
868
- + t2501: add various tests for removing the current working directory
869
-
870
- Many git commands that deal with working tree files try to remove a
871
- directory that becomes empty (i.e. "git switch" from a branch that
872
- has the directory to another branch that does not would attempt
873
- remove all files in the directory and the directory itself). This
874
- drops users into an unfamiliar situation if the command was run in
875
- a subdirectory that becomes subject to removal due to the command.
876
- The commands have been taught to keep an empty directory if it is
877
- the directory they were started in to avoid surprising users.
878
-
879
- Will merge to 'master'.
880
- source: <pull.1140.v6.git.git.1639026515.gitgitgadget@gmail.com>
881
-
882
-
888
* tl/ls-tree-oid-only (2022-01-03) 8 commits
884
- - ls-tree.c: introduce "--format" option
885
- - ls-tree.c: introduce struct "shown_data"
886
- - ls-tree.c: support --object-only option for "git-ls-tree"
887
- - ls-tree: split up the "init" part of show_tree()
888
- - ls-tree: use "size_t", not "int" for "struct strbuf"'s "len"
889
- - ls-tree: use "enum object_type", not {blob,tree,commit}_type
890
- - ls-tree: add missing braces to "else" arms
891
- - ls-tree: remove commented-out code
889
+ . ls-tree.c: introduce "--format" option
890
+ . ls-tree.c: introduce struct "shown_data"
891
+ . ls-tree.c: support --object-only option for "git-ls-tree"
892
+ . ls-tree: split up the "init" part of show_tree()
893
+ . ls-tree: use "size_t", not "int" for "struct strbuf"'s "len"
894
+ . ls-tree: use "enum object_type", not {blob,tree,commit}_type
895
+ . ls-tree: add missing braces to "else" arms
896
+ . ls-tree: remove commented-out code
897
898
"git ls-tree" learns "--oid-only" option, similar to "--name-only".
899
+
900
+ Expecting a reroll.
901
+ cf. <nycvar.QRO.7.76.6.2201041533540.7076@tvgsbejvaqbjf.bet>
902
+ cf. <nycvar.QRO.7.76.6.2201041615560.7076@tvgsbejvaqbjf.bet>
903
source: <cover.1641043500.git.dyroneteng@gmail.com>
904
905
@@ -909,50 +918,14 @@ Release tarballs are available at:
918
source: <pull.1080.v4.git.1640182856.gitgitgadget@gmail.com>
919
920
912
-* xw/am-empty (2021-12-15) 3 commits
913
- (merged to 'next' on 2021-12-27 at 562e1552f6)
914
- + am: support --allow-empty to record specific empty patches
915
- + am: support --empty=<option> to handle empty patches
916
- + doc: git-format-patch: describe the option --always
917
-
918
- "git am" learns "--empty=(stop|drop|keep)" option to tweak what is
919
- done to a piece of e-mail without a patch in it.
920
-
921
- Will merge to 'master'.
922
- source: <pull.1076.v19.git.1639034755.gitgitgadget@gmail.com>
923
-
924
-
925
-* pw/diff-color-moved-fix (2021-12-09) 15 commits
926
- (merged to 'next' on 2021-12-27 at 443dd9f97f)
927
- + diff --color-moved: intern strings
928
- + diff: use designated initializers for emitted_diff_symbol
929
- + diff --color-moved-ws=allow-indentation-change: improve hash lookups
930
- + diff --color-moved: stop clearing potential moved blocks
931
- + diff --color-moved: shrink potential moved blocks as we go
932
- + diff --color-moved: unify moved block growth functions
933
- + diff --color-moved: call comparison function directly
934
- + diff --color-moved-ws=allow-indentation-change: simplify and optimize
935
- + diff: simplify allow-indentation-change delta calculation
936
- + diff --color-moved: avoid false short line matches and bad zebra coloring
937
- + diff --color-moved=zebra: fix alternate coloring
938
- + diff --color-moved: rewind when discarding pmb
939
- + diff --color-moved: factor out function
940
- + diff --color-moved: clear all flags on blocks that are too short
941
- + diff --color-moved: add perf tests
942
-
943
- Correctness and performance update to "diff --color-moved" feature.
944
-
945
- Will merge to 'master'.
946
- source: <pull.981.v5.git.1639045809.gitgitgadget@gmail.com>
947
-
948
-
921
* jc/doc-submitting-patches-choice-of-base (2021-12-30) 1 commit
950
- - SubmittingPatchs: clarify choice of base and testing
922
+ (merged to 'next' on 2022-01-05 at eb97c01c24)
923
+ + SubmittingPatchs: clarify choice of base and testing
924
925
Extend the guidance to choose the base commit to build your work
926
on, and hint/nudge contributors to read others' changes.
927
955
- Will merge to 'next'.
928
+ Will merge to 'master'.
929
source: <xmqqh7apsv6s.fsf_-_@gitster.g>
930
931