What's cooking (2021/10 #04)
Junio C Hamano committed
Oct 14, 2021 at 15:19 UTC
2d679f40c21efe91581ef430fe197c0e43a20e34
1 file changed
+397
-367
whats-cooking.txt
+397
-367
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (Oct 2021, #03; Mon, 11)
4
-X-master-at: 2a97289ad8b103625d3a1a12f66c27f50df822ce
5
-X-next-at: b88fcb3f61432d526395a9937acaea0c67ee1aaf
3
+Subject: What's cooking in git.git (Oct 2021, #04; Thu, 14)
4
+X-master-at: f443b226ca681d87a3a31e245a70e6bc2769123c
5
+X-next-at: 33379063c9546476a80d42c704efc4ea5d0d95e5
6
7
-What's cooking in git.git (Oct 2021, #03; Mon, 11)
7
+What's cooking in git.git (Oct 2021, #04; Thu, 14)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking in my tree. Commits
@@ -18,8 +18,8 @@ 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
-The eleventh and twelfth batches of topics are in the 'master'
22
-branch, and quite a many topics started cooking in 'next'.
21
+A handful of topics have been merged to 'master' and 'next' has also
22
+acquired some topics.
23
24
Copies of the source code to Git live in many repositories, and the
25
following is a list of the ones I push into or their mirrors. Some
@@ -52,137 +52,354 @@ Release tarballs are available at:
52
--------------------------------------------------
53
[Graduated to 'master']
54
55
-* ab/designated-initializers (2021-09-27) 5 commits
56
- (merged to 'next' on 2021-10-03 at 179f652de6)
57
- + cbtree.h: define cb_init() in terms of CBTREE_INIT
58
- + *.h: move some *_INIT to designated initializers
59
- + *.h _INIT macros: don't specify fields equal to 0
60
- + *.[ch] *_INIT macros: use { 0 } for a "zero out" idiom
61
- + submodule-config.h: remove unused SUBMODULE_INIT macro
62
- (this branch is used by ab/designated-initializers-more.)
55
+* ab/align-parse-options-help (2021-09-22) 4 commits
56
+ (merged to 'next' on 2021-10-06 at e22da7ef85)
57
+ + parse-options: properly align continued usage output
58
+ + git rev-parse --parseopt tests: add more usagestr tests
59
+ + send-pack: properly use parse_options() API for usage string
60
+ + parse-options API users: align usage output in C-strings
61
64
- Code clean-up.
62
+ When "git cmd -h" shows more than one line of usage text (e.g.
63
+ the cmd subcommand may take sub-sub-command), parse-options API
64
+ learned to align these lines, even across i18n/l10n.
65
+
66
+
67
+* ab/config-based-hooks-1 (2021-09-27) 8 commits
68
+ (merged to 'next' on 2021-10-06 at d05325ed35)
69
+ + hook-list.h: add a generated list of hooks, like config-list.h
70
+ + hook.c users: use "hook_exists()" instead of "find_hook()"
71
+ + hook.c: add a hook_exists() wrapper and use it in bugreport.c
72
+ + hook.[ch]: move find_hook() from run-command.c to hook.c
73
+ + Makefile: remove an out-of-date comment
74
+ + Makefile: don't perform "mv $@+ $@" dance for $(GENERATED_H)
75
+ + Makefile: stop hardcoding {command,config}-list.h
76
+ + Makefile: mark "check" target as .PHONY
77
+ (this branch is used by ab/config-based-hooks-2.)
78
+
79
+ Mostly preliminary clean-up in the hook API.
80
+
81
+
82
+* ab/help-config-vars (2021-09-23) 9 commits
83
+ (merged to 'next' on 2021-10-06 at bf9538cfbd)
84
+ + help: move column config discovery to help.c library
85
+ + help / completion: make "git help" do the hard work
86
+ + help tests: test --config-for-completion option & output
87
+ + help: simplify by moving to OPT_CMDMODE()
88
+ + help: correct logic error in combining --all and --guides
89
+ + help: correct logic error in combining --all and --config
90
+ + help tests: add test for --config output
91
+ + help: correct usage & behavior of "git help --guides"
92
+ + help: correct the usage string in -h and documentation
93
+
94
+ Teach "git help -c" into helping the command line completion of
95
+ configuration variables.
96
+
97
+
98
+* ab/lib-subtest (2021-09-22) 9 commits
99
+ (merged to 'next' on 2021-10-06 at e8fa261811)
100
+ + test-lib tests: get rid of copy/pasted mock test code
101
+ + test-lib tests: assert 1 exit code, not non-zero
102
+ + test-lib tests: refactor common part of check_sub_test_lib_test*()
103
+ + test-lib tests: avoid subshell for "test_cmp" for readability
104
+ + test-lib tests: don't provide a description for the sub-tests
105
+ + test-lib tests: split up "write and run" into two functions
106
+ + test-lib tests: move "run_sub_test" to a new lib-subtest.sh
107
+ + Merge branch 'ps/t0000-output-directory-fix' into ab/lib-subtest
108
+ + Merge branch 'jk/t0000-subtests-fix' into ab/lib-subtest
109
+
110
+ Updates to the tests in t0000 to test the test framework.
111
+
112
+
113
+* ab/make-sparse-for-real (2021-09-22) 1 commit
114
+ (merged to 'next' on 2021-10-06 at 10e3c31d6a)
115
+ + Makefile: make the "sparse" target non-.PHONY
116
+
117
+ Prevent "make sparse" from running for the source files that
118
+ haven't been modified.
119
+
120
+
121
+* ds/add-rm-with-sparse-index (2021-09-28) 13 commits
122
+ (merged to 'next' on 2021-10-06 at 80a9cda797)
123
+ + advice: update message to suggest '--sparse'
124
+ + mv: refuse to move sparse paths
125
+ + rm: skip sparse paths with missing SKIP_WORKTREE
126
+ + rm: add --sparse option
127
+ + add: update --renormalize to skip sparse paths
128
+ + add: update --chmod to skip sparse paths
129
+ + add: implement the --sparse option
130
+ + add: skip tracked paths outside sparse-checkout cone
131
+ + add: fail when adding an untracked sparse file
132
+ + dir: fix pattern matching on dirs
133
+ + dir: select directories correctly
134
+ + t1092: behavior for adding sparse files
135
+ + t3705: test that 'sparse_entry' is unstaged
136
+
137
+ "git add", "git mv", and "git rm" have been adjusted to avoid
138
+ updating paths outside of the sparse-checkout definition unless
139
+ the user specifies a "--sparse" option.
140
+
141
+
142
+* en/removing-untracked-fixes (2021-09-27) 12 commits
143
+ (merged to 'next' on 2021-10-06 at fc4e387fda)
144
+ + Documentation: call out commands that nuke untracked files/directories
145
+ + Comment important codepaths regarding nuking untracked files/dirs
146
+ + unpack-trees: avoid nuking untracked dir in way of locally deleted file
147
+ + unpack-trees: avoid nuking untracked dir in way of unmerged file
148
+ + Change unpack_trees' 'reset' flag into an enum
149
+ + Remove ignored files by default when they are in the way
150
+ + unpack-trees: make dir an internal-only struct
151
+ + unpack-trees: introduce preserve_ignored to unpack_trees_options
152
+ + read-tree, merge-recursive: overwrite ignored files by default
153
+ + checkout, read-tree: fix leak of unpack_trees_options.dir
154
+ + t2500: add various tests for nuking untracked files
155
+ + Merge branch 'en/am-abort-fix' into en/removing-untracked-fixes
156
+
157
+ Various fixes in code paths that move untracked files away to make room.
158
+
159
+
160
+* ja/doc-status-types-and-copies (2021-10-04) 4 commits
161
+ (merged to 'next' on 2021-10-06 at 4de6571bf7)
162
+ + Documentation/git-status: mention how to detect copies
163
+ + Documentation/git-status: document porcelain status T (typechange)
164
+ + Documentation/diff-format: state in which cases porcelain status is T
165
+ + Documentation/git-status: remove impossible porcelain status DR and DC
166
+
167
+ A few kinds of changes "git status" can show were not documented.
168
+
169
+
170
+* jh/builtin-fsmonitor-part1 (2021-09-20) 7 commits
171
+ (merged to 'next' on 2021-10-06 at 021f633b9c)
172
+ + t/helper/simple-ipc: convert test-simple-ipc to use start_bg_command
173
+ + run-command: create start_bg_command
174
+ + simple-ipc/ipc-win32: add Windows ACL to named pipe
175
+ + simple-ipc/ipc-win32: add trace2 debugging
176
+ + simple-ipc: move definition of ipc_active_state outside of ifdef
177
+ + simple-ipc: preparations for supporting binary messages.
178
+ + trace2: add trace2_child_ready() to report on background children
179
180
+ Built-in fsmonitor (part 1).
181
67
-* ab/http-pinned-public-key-mismatch (2021-09-27) 1 commit
68
- (merged to 'next' on 2021-10-03 at cd67328eed)
69
- + http: check CURLE_SSL_PINNEDPUBKEYNOTMATCH when emitting errors
182
71
- HTTPS error handling updates.
183
+* mt/grep-submodule-textconv (2021-09-29) 1 commit
184
+ (merged to 'next' on 2021-10-06 at 1950944b8c)
185
+ + grep: demonstrate bug with textconv attributes and submodules
186
187
+ "git grep --recurse-submodules" takes trees and blobs from the
188
+ submodule repository, but the textconv settings when processing a
189
+ blob from the submodule is not taken from the submodule repository.
190
+ A test is added to demonstrate the issue, without fixing it.
191
+
192
+--------------------------------------------------
193
+[New Topics]
194
+
195
+* ab/fix-commit-error-message-upon-unwritable-object-store (2021-10-12) 2 commits
196
+ (merged to 'next' on 2021-10-14 at 08c52f5cd5)
197
+ + commit: fix duplication regression in permission error output
198
+ + unwritable tests: assert exact error output
199
+
200
+ "git commit" gave duplicated error message when the object store
201
+ was unwritable, which has been corrected.
202
+
203
+ Will merge to 'master'.
204
74
-* ab/retire-git-config-key-is-valid (2021-09-28) 1 commit
75
- (merged to 'next' on 2021-10-03 at fc7a0a55d1)
76
- + config.c: remove unused git_config_key_is_valid()
205
78
- Code cleanup.
206
+* ab/test-cleanly-recreate-trash-directory (2021-10-11) 2 commits
207
+ - SQUASH???
208
+ - test-lib.sh: try to re-chmod & retry on failed trash removal
209
210
+ Improve test framework around unwritable directories.
211
81
-* ab/sanitize-leak-ci (2021-09-23) 2 commits
82
- (merged to 'next' on 2021-10-03 at dcd62a3fc6)
83
- + tests: add a test mode for SANITIZE=leak, run it in CI
84
- + Makefile: add SANITIZE=leak flag to GIT-BUILD-OPTIONS
85
- (this branch is used by ab/mark-leak-free-tests, ab/mark-leak-free-tests-more and ab/unpack-trees-leakfix.)
212
+ Will merge to 'next' after squashing the fixlet in?
213
87
- CI learns to run the leak sanitizer builds.
214
215
+* rb/doc-commit-header-continuation-line (2021-10-11) 1 commit
216
+ - signature-format.txt: add space to fix gpgsig continuation line
217
90
-* da/difftool (2021-09-30) 6 commits
91
- (merged to 'next' on 2021-10-03 at 3ba0335e4e)
92
- + difftool: add a missing space to the run_dir_diff() comments
93
- + difftool: remove an unnecessary call to strbuf_release()
94
- + difftool: refactor dir-diff to write files using helper functions
95
- + difftool: create a tmpdir path without repeated slashes
96
- + Merge branch 'da/difftool-dir-diff-symlink-fix' into da/difftool
97
- + Merge branch 'ab/retire-option-argument' into da/difftool
218
+ Values in the header portion of commit object can be multi-lined
219
+ by a single SP indentation of the second and subsequent lines, and
220
+ this applies to an empty line as well. Update an example in the
221
+ technical documentation to highlight it.
222
99
- Code clean-up in "git difftool".
223
+ Under discussion.
224
225
+ I am tempted to supersede this with the one with another approach,
226
+ in the jc/doc-commit-header-continuation-line topic.
227
102
-* jk/ref-paranoia (2021-09-27) 16 commits
103
- (merged to 'next' on 2021-10-03 at 8c2cb6a3a6)
104
- + refs: drop "broken" flag from for_each_fullref_in()
105
- + ref-filter: drop broken-ref code entirely
106
- + ref-filter: stop setting FILTER_REFS_INCLUDE_BROKEN
107
- + repack, prune: drop GIT_REF_PARANOIA settings
108
- + refs: turn on GIT_REF_PARANOIA by default
109
- + refs: omit dangling symrefs when using GIT_REF_PARANOIA
110
- + refs: add DO_FOR_EACH_OMIT_DANGLING_SYMREFS flag
111
- + refs-internal.h: reorganize DO_FOR_EACH_* flag documentation
112
- + refs-internal.h: move DO_FOR_EACH_* flags next to each other
113
- + t5312: be more assertive about command failure
114
- + t5312: test non-destructive repack
115
- + t5312: create bogus ref as necessary
116
- + t5312: drop "verbose" helper
117
- + t5600: provide detached HEAD for corruption failures
118
- + t5516: don't use HEAD ref for invalid ref-deletion tests
119
- + t7900: clean up some more broken refs
120
- (this branch is used by jt/no-abuse-alternate-odb-for-submodules.)
228
122
- The ref iteration code used to optionally allow dangling refs to be
123
- shown, which has been tightened up.
229
+* rs/disable-gc-during-perf-tests (2021-10-11) 1 commit
230
+ (merged to 'next' on 2021-10-14 at e0dd4b9bd4)
231
+ + perf: disable automatic housekeeping
232
233
+ Avoid performance measurements from getting ruined by gc and other
234
+ housekeeping pauses interfering in the middle.
235
126
-* js/win-lazyload-buildfix (2021-09-28) 3 commits
127
- (merged to 'next' on 2021-10-03 at 26802e5d73)
128
- + Makefile: restrict -Wpedantic and -Wno-pedantic-ms-format better
129
- + lazyload.h: use an even more generic function pointer than FARPROC
130
- + lazyload.h: fix warnings about mismatching function pointer types
236
+ Will merge to 'master'.
237
132
- Compilation fix.
238
239
+* da/mergetools-special-case-xxdiff-exit-128 (2021-10-13) 1 commit
240
+ - mergetools/xxdiff: prevent segfaults from stopping difftool
241
135
-* mr/bisect-in-c-4 (2021-10-01) 1 commit
136
- (merged to 'next' on 2021-10-06 at c13c14238d)
137
- + bisect--helper: add space between colon and following sentence
242
+ The xxdiff difftool backend can exit with status 128, which the
243
+ difftool-helper that launches the backend takes as a significant
244
+ failure, when it is not significant at all. Work it around.
245
139
- Message fix.
246
+ Will merge to 'next'.
247
248
142
-* rs/p3400-lose-tac (2021-10-03) 1 commit
143
- (merged to 'next' on 2021-10-06 at 688dc7137c)
144
- + p3400: stop using tac(1)
249
+* fs/ssh-signing-fix (2021-10-13) 3 commits
250
+ (merged to 'next' on 2021-10-14 at 97735c6091)
251
+ + ssh signing: clarify trustlevel usage in docs
252
+ + ssh signing: fmt-merge-msg tests & config parse
253
+ + Merge branch 'fs/ssh-signing' into fs/ssh-signing-fix
254
+ (this branch uses fs/ssh-signing.)
255
146
- Test portability update.
256
+ Fix-up for the other topic already in 'next'.
257
+
258
+ Will merge to 'master'.
259
260
149
-* sg/test-split-index-fix (2021-09-07) 7 commits
150
- (merged to 'next' on 2021-09-29 at 661ae75778)
151
- + read-cache: fix GIT_TEST_SPLIT_INDEX
152
- + tests: disable GIT_TEST_SPLIT_INDEX for sparse index tests
153
- + read-cache: look for shared index files next to the index, too
154
- + t1600-index: disable GIT_TEST_SPLIT_INDEX
155
- + t1600-index: don't run git commands upstream of a pipe
156
- + t1600-index: remove unnecessary redirection
157
- + Merge branch 'ds/sparse-index-ignored-files' into sg/test-split-index-fix
261
+* gc/remote-with-fewer-static-global-variables (2021-10-13) 3 commits
262
+ - remote: add struct repository parameter to external functions
263
+ - remote: use remote_state parameter internally
264
+ - remote: move static variables into per-repository struct
265
159
- Test updates.
266
+ Code clean-up to eventually allow information on remotes defined
267
+ for an arbitrary repository to be read.
268
269
+ Will merge to 'next'?
270
162
-* tb/aggregate-ignore-leading-whitespaces (2021-10-04) 1 commit
163
- (merged to 'next' on 2021-10-06 at 619a7db2d4)
164
- + t/perf/aggregate.perl: tolerate leading spaces
271
166
- Test portability update.
272
+* jc/doc-commit-header-continuation-line (2021-10-12) 1 commit
273
+ - signature-format.txt: explain and illustrate multi-line headers
274
+
275
+ Doc update.
276
+
277
+ Will merge to 'next'?
278
+
279
+
280
+* jk/loosen-urlmatch (2021-10-12) 1 commit
281
+ - urlmatch: add underscore to URL_HOST_CHARS
282
+
283
+ Treat "_" as any other DNS-valid characters in an URL when matching
284
+ the per-URL configuration variable names.
285
+
286
+ Will merge to 'next'?
287
+
288
+
289
+* js/windows-ci-path-fix (2021-10-13) 1 commit
290
+ (merged to 'next' on 2021-10-14 at 3047fe56fc)
291
+ + ci(windows): ensure that we do not pick up random executables
292
+
293
+ The PATH used in CI job may be too wide and let incompatible dlls
294
+ to be grabbed, which can cause the build&test to fail. Tighten it.
295
+
296
+ Will merge to 'master'.
297
+
298
+
299
+* rs/add-dry-run-without-objects (2021-10-12) 1 commit
300
+ (merged to 'next' on 2021-10-14 at a42928e134)
301
+ + add: don't write objects with --dry-run
302
+
303
+ Stop "git add --dry-run" from creating new blob and tree objects.
304
+
305
+ Will merge to 'master'.
306
+
307
+
308
+* tz/doc-link-to-bundle-format-fix (2021-10-13) 1 commit
309
+ (merged to 'next' on 2021-10-14 at dee8053d49)
310
+ + doc: add bundle-format to TECH_DOCS
311
+
312
+ Doc update.
313
+
314
+ Will merge to 'master'.
315
+
316
+
317
+* ab/test-bail (2021-10-14) 2 commits
318
+ - test-lib.sh: use "Bail out!" syntax on bad SANITIZE=leak use
319
+ - test-lib.sh: de-duplicate error() teardown code
320
+
321
+ A new feature has been added to abort early in the test framework.
322
+
323
+ Will merge to 'next'.
324
325
169
-* tb/midx-write-propagate-namehash (2021-09-17) 7 commits
170
- (merged to 'next' on 2021-09-29 at 24732fcfc8)
171
- + t5326: test propagating hashcache values
172
- + p5326: generate pack bitmaps before writing the MIDX bitmap
173
- + p5326: don't set core.multiPackIndex unnecessarily
174
- + p5326: create missing 'perf-tag' tag
175
- + midx.c: respect 'pack.writeBitmapHashcache' when writing bitmaps
176
- + pack-bitmap.c: propagate namehash values from existing bitmaps
177
- + t/helper/test-bitmap.c: add 'dump-hashes' mode
326
+* jh/builtin-fsmonitor-part2 (2021-10-14) 5 commits
327
+ - fsmonitor: update fsmonitor config documentation
328
+ - fsmonitor: use IPC to query the builtin FSMonitor daemon
329
+ - fsmonitor: config settings are repository-specific
330
+ - fsmonitor-ipc: create client routines for git-fsmonitor--daemon
331
+ - fsmonitor: enhance existing comments
332
179
- "git multi-pack-index write --bitmap" learns to propagate the
180
- hashcache from original bitmap to resulting bitmap.
333
+ Built-in fsmonitor (part 2).
334
+
335
+
336
+* ld/sparse-diff-blame (2021-10-14) 3 commits
337
+ - blame: enable and test the sparse index
338
+ - diff: enable and test the sparse index
339
+ - Merge branch 'vd/sparse-reset' into ld/sparse-diff-blame
340
+ (this branch uses vd/sparse-reset.)
341
+
342
+ Teach diff and blame to work well with sparse index.
343
+
344
+ Seems to break tests (e.g. 1092) when merged to 'seen'.
345
346
--------------------------------------------------
183
-[New Topics]
347
+[Stalled]
348
+
349
+* ar/submodule-update (2021-10-13) 9 commits
350
+ . submodule--helper: rename helper functions
351
+ . submodule--helper: remove unused helpers
352
+ . submodule: move core cmd_update() logic to C
353
+ . submodule--helper: run update using child process struct
354
+ . submodule--helper: allow setting superprefix for init_submodule()
355
+ . submodule--helper: refactor get_submodule_displaypath()
356
+ . submodule--helper: rename helpers for update-clone
357
+ . submodule--helper: get remote names from any repository
358
+ . submodule--helper: split up ensure_core_worktree()
359
+
360
+ Rewrite of "git submodule update" in C.
361
+
362
+ Kicked out of 'seen' to make room for es/superproject-aware-submodules
363
+ which is among the topics this topic stomps on.
364
+
365
+
366
+* pw/diff-color-moved-fix (2021-08-05) 13 commits
367
+ - diff: drop unused options parameter from cmp_in_block_with_wsd()
368
+ - diff --color-moved: intern strings
369
+ - diff: use designated initializers for emitted_diff_symbol
370
+ - diff --color-moved-ws=allow-indentation-change: improve hash lookups
371
+ - diff --color-moved: stop clearing potential moved blocks
372
+ - diff --color-moved: shrink potential moved blocks as we go
373
+ - diff --color-moved: unify moved block growth functions
374
+ - diff --color-moved: call comparison function directly
375
+ - diff --color-moved-ws=allow-indentation-change: simplify and optimize
376
+ - diff: simplify allow-indentation-change delta calculation
377
+ - diff --color-moved: avoid false short line matches and bad zerba coloring
378
+ - diff --color-moved=zebra: fix alternate coloring
379
+ - diff --color-moved: add perf tests
380
+
381
+ Originally merged to 'next' on 2021-08-05
382
+
383
+ Long-overdue correctness and performance update to "diff
384
+ --color-moved" feature.
385
+
386
+ Expecting a reroll.
387
+ cf. <8bec1a6d-5052-50c3-4100-e6348289d581@gmail.com>
388
+
389
+
390
+* cf/fetch-set-upstream-while-detached (2021-07-06) 1 commit
391
+ - fetch: fix segfault on --set-upstream while on a detached HEAD
392
+
393
+ "git fetch --set-upstream" while on detached HEAD segfaulted
394
+ instead of noticing that such an operation did not make sense.
395
+
396
+ Expecting a reroll.
397
+ cf. <xmqqsg0ri5mq.fsf@gitster.g>
398
+
399
+--------------------------------------------------
400
+[Cooking]
401
185
-* ab/mark-leak-free-tests (2021-10-07) 11 commits
402
+* ab/mark-leak-free-tests (2021-10-12) 10 commits
403
- leak tests: mark some misc tests as passing with SANITIZE=leak
404
- leak tests: mark various "generic" tests as passing with SANITIZE=leak
405
- leak tests: mark some read-tree tests as passing with SANITIZE=leak
@@ -190,15 +407,13 @@ Release tarballs are available at:
407
- leak tests: mark all checkout-index tests as passing with SANITIZE=leak
408
- leak tests: mark all trace2 tests as passing with SANITIZE=leak
409
- leak tests: mark all ls-tree tests as passing with SANITIZE=leak
193
- - leak tests: mark t0000-init.sh as passing with SANITIZE=leak
410
- leak tests: run various "test-tool" tests in t00*.sh SANITIZE=leak
411
- leak tests: run various built-in tests in t00*.sh SANITIZE=leak
412
- Merge branch 'ab/sanitize-leak-ci' into ab/mark-leak-free-tests
413
414
Bunch of tests are marked as "passing leak check".
415
200
- Expecting a reroll.
201
- cf. <xmqqmtnko3zn.fsf@gitster.g>
416
+ Will merge to 'next'.
417
418
419
* ab/mark-leak-free-tests-more (2021-10-07) 8 commits
@@ -213,16 +428,19 @@ Release tarballs are available at:
428
429
Bunch of tests are marked as "passing leak check".
430
216
- Will merge to 'next'?
431
+ Will merge to 'next'.
432
433
219
-* ab/unpack-trees-leakfix (2021-10-07) 2 commits
220
- - unpack-trees: don't leak memory in verify_clean_subdirectory()
221
- - Merge branch 'ab/sanitize-leak-ci' into ab/unpack-trees-leakfix
434
+* ab/unpack-trees-leakfix (2021-10-13) 4 commits
435
+ (merged to 'next' on 2021-10-14 at bb54827704)
436
+ + sequencer: fix a memory leak in do_reset()
437
+ + sequencer: add a "goto cleanup" to do_reset()
438
+ + unpack-trees: don't leak memory in verify_clean_subdirectory()
439
+ + Merge branch 'ab/sanitize-leak-ci' into ab/unpack-trees-leakfix
440
441
Leakfix.
442
225
- Will merge to 'next'?
443
+ Will merge to 'master'.
444
445
446
* jk/cat-file-batch-all-wo-replace (2021-10-08) 5 commits
@@ -252,7 +470,7 @@ Release tarballs are available at:
470
471
Userdiff patterns for the C++ language has been updated.
472
255
- Will merge to 'next'?
473
+ Will merge to 'next'.
474
475
476
* mp/absorb-submodule-git-dir-upon-deinit (2021-10-07) 1 commit
@@ -326,77 +544,24 @@ Release tarballs are available at:
544
Will merge to 'master'.
545
546
329
-* vd/sparse-reset (2021-10-07) 8 commits
547
+* vd/sparse-reset (2021-10-11) 8 commits
548
- unpack-trees: improve performance of next_cache_entry
549
- reset: make --mixed sparse-aware
550
- reset: make sparse-aware (except --mixed)
551
- reset: integrate with sparse index
552
- reset: expand test coverage for sparse checkouts
335
- - update-index: add --force-full-index option for expand/collapse test
553
+ - sparse-index: update command for expand/collapse test
554
- reset: preserve skip-worktree bit in mixed reset
555
- reset: rename is_missing to !is_in_reset_tree
556
+ (this branch is used by ld/sparse-diff-blame.)
557
558
Various operating modes of "git reset" have been made to work
559
better with the sparse index.
560
561
Needs review.
562
344
---------------------------------------------------
345
-[Stalled]
346
-
347
-* ar/submodule-update (2021-09-20) 8 commits
348
- . submodule--helper: rename helper functions
349
- . submodule--helper: remove unused helpers
350
- . submodule--helper: remove update-clone subcommand
351
- . submodule: move core cmd_update() logic to C
352
- . submodule--helper: refactor get_submodule_displaypath()
353
- . submodule--helper: rename helpers for update-clone
354
- . submodule--helper: get remote names from any repository
355
- . submodule--helper: split up ensure_core_worktree()
356
-
357
- Rewrite of "git submodule update" in C.
358
-
359
- Kicked out of 'seen' to make room for es/superproject-aware-submodules
360
- which is among the topics this topic stomps on.
361
-
362
-
363
-* pw/diff-color-moved-fix (2021-08-05) 13 commits
364
- - diff: drop unused options parameter from cmp_in_block_with_wsd()
365
- - diff --color-moved: intern strings
366
- - diff: use designated initializers for emitted_diff_symbol
367
- - diff --color-moved-ws=allow-indentation-change: improve hash lookups
368
- - diff --color-moved: stop clearing potential moved blocks
369
- - diff --color-moved: shrink potential moved blocks as we go
370
- - diff --color-moved: unify moved block growth functions
371
- - diff --color-moved: call comparison function directly
372
- - diff --color-moved-ws=allow-indentation-change: simplify and optimize
373
- - diff: simplify allow-indentation-change delta calculation
374
- - diff --color-moved: avoid false short line matches and bad zerba coloring
375
- - diff --color-moved=zebra: fix alternate coloring
376
- - diff --color-moved: add perf tests
377
-
378
- Originally merged to 'next' on 2021-08-05
379
-
380
- Long-overdue correctness and performance update to "diff
381
- --color-moved" feature.
382
-
383
- Expecting a reroll.
384
- cf. <8bec1a6d-5052-50c3-4100-e6348289d581@gmail.com>
385
-
386
-
387
-* cf/fetch-set-upstream-while-detached (2021-07-06) 1 commit
388
- - fetch: fix segfault on --set-upstream while on a detached HEAD
389
-
390
- "git fetch --set-upstream" while on detached HEAD segfaulted
391
- instead of noticing that such an operation did not make sense.
392
-
393
- Expecting a reroll.
394
- cf. <xmqqsg0ri5mq.fsf@gitster.g>
563
396
---------------------------------------------------
397
-[Cooking]
398
-
399
-* gc/use-repo-settings (2021-10-04) 3 commits
564
+* gc/use-repo-settings (2021-10-12) 3 commits
565
- gc: perform incremental repack when implictly enabled
566
- fsck: verify multi-pack-index when implictly enabled
567
- fsck: verify commit graph when implicitly enabled
@@ -405,16 +570,17 @@ Release tarballs are available at:
570
subsystem, as things like feature.experimental can affect their
571
default values.
572
408
- Under review.
409
- cf. <70aca052-716f-40ed-47c4-1882fdbd221e@gmail.com>
573
+ Expecting a reroll.
574
+ cf. <kl6l1r4p3mi3.fsf@chooglen-macbookpro.roam.corp.google.com>
575
576
577
* jh/perf-remove-test-times (2021-10-04) 1 commit
413
- - t/perf/perf-lib.sh: remove test_times.* at the end test_perf_()
578
+ (merged to 'next' on 2021-10-14 at 473a26166c)
579
+ + t/perf/perf-lib.sh: remove test_times.* at the end test_perf_()
580
581
Perf test fix.
582
417
- Will merge to 'next'.
583
+ Will merge to 'master'.
584
585
586
* pw/fix-some-issues-in-reset-head (2021-10-01) 12 commits
@@ -483,18 +649,6 @@ Release tarballs are available at:
649
Will merge to 'master'.
650
651
486
-* ja/doc-status-types-and-copies (2021-10-04) 4 commits
487
- (merged to 'next' on 2021-10-06 at 4de6571bf7)
488
- + Documentation/git-status: mention how to detect copies
489
- + Documentation/git-status: document porcelain status T (typechange)
490
- + Documentation/diff-format: state in which cases porcelain status is T
491
- + Documentation/git-status: remove impossible porcelain status DR and DC
492
-
493
- A few kinds of changes "git status" can show were not described.
494
-
495
- Will merge to 'master'.
496
-
497
-
652
* ab/designated-initializers-more (2021-10-01) 6 commits
653
(merged to 'next' on 2021-10-11 at 9b9836c3df)
654
+ builtin/remote.c: add and use SHOW_INFO_INIT
@@ -523,24 +677,10 @@ Release tarballs are available at:
677
678
Random changes to parse-options implementation.
679
526
- Will merge to 'next'?
527
-
528
-
529
-* mt/grep-submodule-textconv (2021-09-29) 1 commit
530
- (merged to 'next' on 2021-10-06 at 1950944b8c)
531
- + grep: demonstrate bug with textconv attributes and submodules
532
-
533
- "git grep --recurse-submodules" takes trees and blobs from the
534
- submodule repository, but the textconv settings when processing a
535
- blob from the submodule is not taken from the submodule repository.
536
- A demonstration is added to demonstrate the issue, without fixing
537
- it.
538
-
539
- Will merge to 'master'.
680
+ Will merge to 'next'.
681
682
542
-* es/superproject-aware-submodules (2021-08-19) 5 commits
543
- - fixup! introduce submodule.superprojectGitDir record
683
+* es/superproject-aware-submodules (2021-10-14) 4 commits
684
- submodule: record superproject gitdir during 'update'
685
- submodule: record superproject gitdir during absorbgitdirs
686
- introduce submodule.superprojectGitDir record
@@ -554,72 +694,48 @@ Release tarballs are available at:
694
695
696
* ab/fsck-unexpected-type (2021-10-01) 17 commits
557
- - fsck: report invalid object type-path combinations
558
- - fsck: don't hard die on invalid object types
559
- - object-file.c: stop dying in parse_loose_header()
560
- - object-file.c: return ULHR_TOO_LONG on "header too long"
561
- - object-file.c: use "enum" return type for unpack_loose_header()
562
- - object-file.c: simplify unpack_loose_short_header()
563
- - object-file.c: make parse_loose_header_extended() public
564
- - object-file.c: return -1, not "status" from unpack_loose_header()
565
- - object-file.c: don't set "typep" when returning non-zero
566
- - cat-file tests: test for current --allow-unknown-type behavior
567
- - cat-file tests: add corrupt loose object test
568
- - cat-file tests: test for missing/bogus object with -t, -s and -p
569
- - cat-file tests: move bogus_* variable declarations earlier
570
- - fsck tests: test for garbage appended to a loose object
571
- - fsck tests: test current hash/type mismatch behavior
572
- - fsck tests: refactor one test to use a sub-repo
573
- - fsck tests: add test for fsck-ing an unknown type
697
+ (merged to 'next' on 2021-10-14 at 10edc78c9c)
698
+ + fsck: report invalid object type-path combinations
699
+ + fsck: don't hard die on invalid object types
700
+ + object-file.c: stop dying in parse_loose_header()
701
+ + object-file.c: return ULHR_TOO_LONG on "header too long"
702
+ + object-file.c: use "enum" return type for unpack_loose_header()
703
+ + object-file.c: simplify unpack_loose_short_header()
704
+ + object-file.c: make parse_loose_header_extended() public
705
+ + object-file.c: return -1, not "status" from unpack_loose_header()
706
+ + object-file.c: don't set "typep" when returning non-zero
707
+ + cat-file tests: test for current --allow-unknown-type behavior
708
+ + cat-file tests: add corrupt loose object test
709
+ + cat-file tests: test for missing/bogus object with -t, -s and -p
710
+ + cat-file tests: move bogus_* variable declarations earlier
711
+ + fsck tests: test for garbage appended to a loose object
712
+ + fsck tests: test current hash/type mismatch behavior
713
+ + fsck tests: refactor one test to use a sub-repo
714
+ + fsck tests: add test for fsck-ing an unknown type
715
716
"git fsck" has been taught to report mismatch between expected and
717
actual types of an object better.
718
578
- Will merge to 'next'.
579
-
580
-
581
-* ab/config-based-hooks-1 (2021-09-27) 8 commits
582
- (merged to 'next' on 2021-10-06 at d05325ed35)
583
- + hook-list.h: add a generated list of hooks, like config-list.h
584
- + hook.c users: use "hook_exists()" instead of "find_hook()"
585
- + hook.c: add a hook_exists() wrapper and use it in bugreport.c
586
- + hook.[ch]: move find_hook() from run-command.c to hook.c
587
- + Makefile: remove an out-of-date comment
588
- + Makefile: don't perform "mv $@+ $@" dance for $(GENERATED_H)
589
- + Makefile: stop hardcoding {command,config}-list.h
590
- + Makefile: mark "check" target as .PHONY
591
-
592
- Mostly preliminary clean-up in the hook API.
593
-
594
- Will merge to 'master'.
595
-
596
-
597
-* ab/make-sparse-for-real (2021-09-22) 1 commit
598
- (merged to 'next' on 2021-10-06 at 10e3c31d6a)
599
- + Makefile: make the "sparse" target non-.PHONY
600
-
601
- Prevent "make sparse" from running for the source files that
602
- haven't been modified.
603
-
719
Will merge to 'master'.
720
721
722
* jt/no-abuse-alternate-odb-for-submodules (2021-10-08) 9 commits
608
- - submodule: trace adding submodule ODB as alternate
609
- - submodule: pass repo to check_has_commit()
610
- - object-file: only register submodule ODB if needed
611
- - merge-{ort,recursive}: remove add_submodule_odb()
612
- - refs: peeling non-the_repository iterators is BUG
613
- - refs: teach arbitrary repo support to iterators
614
- - refs: plumb repo into ref stores
615
- - Merge branch 'jk/ref-paranoia' into jt/no-abuse-alternate-odb-for-submodules
616
- - Merge branch 'jt/add-submodule-odb-clean-up' into jt/no-abuse-alternate-odb-for-submodules
723
+ (merged to 'next' on 2021-10-14 at ae49a2ceda)
724
+ + submodule: trace adding submodule ODB as alternate
725
+ + submodule: pass repo to check_has_commit()
726
+ + object-file: only register submodule ODB if needed
727
+ + merge-{ort,recursive}: remove add_submodule_odb()
728
+ + refs: peeling non-the_repository iterators is BUG
729
+ + refs: teach arbitrary repo support to iterators
730
+ + refs: plumb repo into ref stores
731
+ + Merge branch 'jk/ref-paranoia' into jt/no-abuse-alternate-odb-for-submodules
732
+ + Merge branch 'jt/add-submodule-odb-clean-up' into jt/no-abuse-alternate-odb-for-submodules
733
734
Follow through the work to use the repo interface to access
735
submodule objects in-process, instead of abusing the alternate
736
object database interface.
737
622
- Will merge to 'next'?
738
+ Will merge to 'master'.
739
740
741
* tp/send-email-completion (2021-10-07) 3 commits
@@ -648,26 +764,6 @@ Release tarballs are available at:
764
cf. <xmqq1r4vjji3.fsf@gitster.g>
765
766
651
-* en/removing-untracked-fixes (2021-09-27) 12 commits
652
- (merged to 'next' on 2021-10-06 at fc4e387fda)
653
- + Documentation: call out commands that nuke untracked files/directories
654
- + Comment important codepaths regarding nuking untracked files/dirs
655
- + unpack-trees: avoid nuking untracked dir in way of locally deleted file
656
- + unpack-trees: avoid nuking untracked dir in way of unmerged file
657
- + Change unpack_trees' 'reset' flag into an enum
658
- + Remove ignored files by default when they are in the way
659
- + unpack-trees: make dir an internal-only struct
660
- + unpack-trees: introduce preserve_ignored to unpack_trees_options
661
- + read-tree, merge-recursive: overwrite ignored files by default
662
- + checkout, read-tree: fix leak of unpack_trees_options.dir
663
- + t2500: add various tests for nuking untracked files
664
- + Merge branch 'en/am-abort-fix' into en/removing-untracked-fixes
665
-
666
- Various fixes in code paths that move untracked files away to make room.
667
-
668
- Will merge to 'master'.
669
-
670
-
767
* ks/submodule-add-message-fix (2021-09-20) 1 commit
768
- submodule--helper: fix incorrect newlines in an error message
769
@@ -694,53 +790,6 @@ Release tarballs are available at:
790
Will merge to 'next'?
791
792
697
-* jh/builtin-fsmonitor-part1 (2021-09-20) 7 commits
698
- (merged to 'next' on 2021-10-06 at 021f633b9c)
699
- + t/helper/simple-ipc: convert test-simple-ipc to use start_bg_command
700
- + run-command: create start_bg_command
701
- + simple-ipc/ipc-win32: add Windows ACL to named pipe
702
- + simple-ipc/ipc-win32: add trace2 debugging
703
- + simple-ipc: move definition of ipc_active_state outside of ifdef
704
- + simple-ipc: preparations for supporting binary messages.
705
- + trace2: add trace2_child_ready() to report on background children
706
-
707
- Built-in fsmonitor (part 1).
708
-
709
- Will merge to 'master'.
710
-
711
-
712
-* ab/align-parse-options-help (2021-09-22) 4 commits
713
- (merged to 'next' on 2021-10-06 at e22da7ef85)
714
- + parse-options: properly align continued usage output
715
- + git rev-parse --parseopt tests: add more usagestr tests
716
- + send-pack: properly use parse_options() API for usage string
717
- + parse-options API users: align usage output in C-strings
718
-
719
- When "git cmd -h" shows more than one line of usage text (e.g.
720
- the cmd subcommand may take sub-sub-command), parse-options API
721
- learned to align these lines, even across i18n/l10n.
722
-
723
- Will merge to 'master'.
724
-
725
-
726
-* ab/help-config-vars (2021-09-23) 9 commits
727
- (merged to 'next' on 2021-10-06 at bf9538cfbd)
728
- + help: move column config discovery to help.c library
729
- + help / completion: make "git help" do the hard work
730
- + help tests: test --config-for-completion option & output
731
- + help: simplify by moving to OPT_CMDMODE()
732
- + help: correct logic error in combining --all and --guides
733
- + help: correct logic error in combining --all and --config
734
- + help tests: add test for --config output
735
- + help: correct usage & behavior of "git help --guides"
736
- + help: correct the usage string in -h and documentation
737
-
738
- Teach "git help -c" into helping the command line completion of
739
- configuration variables.
740
-
741
- Will merge to 'master'.
742
-
743
-
793
* tb/repack-write-midx (2021-10-07) 10 commits
794
(merged to 'next' on 2021-10-08 at ff8fec247e)
795
+ test-read-midx: fix leak of bitmap_index struct
@@ -761,29 +810,6 @@ Release tarballs are available at:
810
Will merge to 'master'.
811
812
764
-* ds/add-rm-with-sparse-index (2021-09-28) 13 commits
765
- (merged to 'next' on 2021-10-06 at 80a9cda797)
766
- + advice: update message to suggest '--sparse'
767
- + mv: refuse to move sparse paths
768
- + rm: skip sparse paths with missing SKIP_WORKTREE
769
- + rm: add --sparse option
770
- + add: update --renormalize to skip sparse paths
771
- + add: update --chmod to skip sparse paths
772
- + add: implement the --sparse option
773
- + add: skip tracked paths outside sparse-checkout cone
774
- + add: fail when adding an untracked sparse file
775
- + dir: fix pattern matching on dirs
776
- + dir: select directories correctly
777
- + t1092: behavior for adding sparse files
778
- + t3705: test that 'sparse_entry' is unstaged
779
-
780
- "git add", "git mv", and "git rm" have been adjusted to avoid
781
- updating paths outside of the sparse-checkout definition unless
782
- the user specifies a "--sparse" option.
783
-
784
- Will merge to 'master'.
785
-
786
-
813
* en/zdiff3 (2021-09-20) 2 commits
814
- update documentation for new zdiff3 conflictStyle
815
- xdiff: implement a zealous diff3, or "zdiff3"
@@ -836,49 +862,52 @@ Release tarballs are available at:
862
863
The "--preserve-merges" option of "git rebase" has been removed.
864
839
- Will cook in 'next'.
865
+ Will merge to 'master'.
866
867
842
-* ab/refs-errno-cleanup (2021-08-25) 4 commits
843
- - refs: make errno output explicit for refs_resolve_ref_unsafe
844
- - refs: explicitly return failure_errno from parse_loose_ref_contents
868
+* ab/refs-errno-cleanup (2021-10-14) 20 commits
869
+ - refs API: post-migration API renaming [2/2]
870
+ - refs API: post-migration API renaming [1/2]
871
+ - refs API: don't expose "errno" in run_transaction_hook()
872
+ - refs API: make expand_ref() & repo_dwim_log() not set errno
873
+ - refs API: make resolve_ref_unsafe() not set errno
874
+ - refs API: make refs_ref_exists() not set errno
875
+ - refs API: make refs_resolve_refdup() not set errno
876
+ - refs tests: ignore ignore errno in test-ref-store helper
877
+ - refs API: ignore errno in worktree.c's find_shared_symref()
878
+ - refs API: ignore errno in worktree.c's add_head_info()
879
+ - refs API: make files_copy_or_rename_ref() et al not set errno
880
+ - refs API: make loose_fill_ref_dir() not set errno
881
+ - refs API: make resolve_gitlink_ref() not set errno
882
+ - refs API: remove refs_read_ref_full() wrapper
883
+ - refs/files: remove "name exist?" check in lock_ref_oid_basic()
884
+ - refs API: make refs_rename_ref_available() static
885
+ - refs API: make parse_loose_ref_contents() not set errno
886
+ - refs API: make refs_read_raw_ref() not set errno
887
+ - refs API: add a version of refs_resolve_ref_unsafe() with "errno"
888
- branch tests: test for errno propagating on failing read
846
- - refs: add failure_errno to refs_read_raw_ref() signature
889
890
The "remainder" of hn/refs-errno-cleanup topic.
891
892
+ Breaks the build.
893
+ cf. <xmqqh7djba6e.fsf@gitster.g>
894
851
-* ab/lib-subtest (2021-09-22) 9 commits
852
- (merged to 'next' on 2021-10-06 at e8fa261811)
853
- + test-lib tests: get rid of copy/pasted mock test code
854
- + test-lib tests: assert 1 exit code, not non-zero
855
- + test-lib tests: refactor common part of check_sub_test_lib_test*()
856
- + test-lib tests: avoid subshell for "test_cmp" for readability
857
- + test-lib tests: don't provide a description for the sub-tests
858
- + test-lib tests: split up "write and run" into two functions
859
- + test-lib tests: move "run_sub_test" to a new lib-subtest.sh
860
- + Merge branch 'ps/t0000-output-directory-fix' into ab/lib-subtest
861
- + Merge branch 'jk/t0000-subtests-fix' into ab/lib-subtest
862
-
863
- Updates to the tests in t0000 to test the test framework.
864
-
865
- Will merge to 'master'.
895
867
-
868
-* ab/only-single-progress-at-once (2021-09-22) 8 commits
896
+* ab/only-single-progress-at-once (2021-10-13) 10 commits
897
- progress.c: add & assert a "global_progress" variable
870
- - pack-bitmap-write.c: add a missing stop_progress()
898
+ - various *.c: use isatty(1|2), not isatty(STDIN_FILENO|STDERR_FILENO)
899
+ - pack-bitmap-write.c: don't return without stop_progress()
900
- progress.c: add temporary variable from progress struct
872
- - progress.c: stop eagerly fflush(stderr) when not a terminal
901
- progress.c: call progress_interval() from progress_test_force_update()
902
- progress.c: move signal handler functions lower
903
- progress.c tests: test some invalid usage
904
- progress.c tests: make start/stop verbs on stdin
905
+ - progress.c test helper: add missing braces
906
+ - leak tests: fix a memory leaks in "test-progress" helper
907
908
Further tweaks on progress API.
909
880
- Under review.
881
- cf. <20211010212949.GC571180@szeder.dev>
910
+ Will merge to 'next'?
911
912
913
* fs/ssh-signing (2021-09-10) 9 commits
@@ -892,6 +921,7 @@ Release tarballs are available at:
921
+ ssh signing: add ssh key format and signing code
922
+ ssh signing: add test prereqs
923
+ ssh signing: preliminary refactoring and clean-up
924
+ (this branch is used by fs/ssh-signing-fix.)
925
926
Use ssh public crypto for object and push-cert signing.
927