What's cooking (2021/10 #06)
Junio C Hamano committed
Oct 25, 2021 at 16:34 UTC
d50f041775036f45fb320db498b09fc683cf0a96
1 file changed
+605
-639
whats-cooking.txt
+605
-639
@@ -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, #05; Mon, 18)
4
-X-master-at: 9d530dc0024503ab4218fe6c4395b8a0aa245478
5
-X-next-at: d3b4e01def5a9517c919f0b815c1b12296dc3dc2
3
+Subject: What's cooking in git.git (Oct 2021, #06; Mon, 25)
4
+X-master-at: e9e5ba39a78c8f5057262d49e261b42a8660d5b9
5
+X-next-at: c40950c09aa26fafb743328ce2dee3ba26b22eec
6
7
-What's cooking in git.git (Oct 2021, #05; Mon, 18)
7
+What's cooking in git.git (Oct 2021, #06; Mon, 25)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking in my tree. Commits
@@ -18,14 +18,9 @@ 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 fourteenth batch of topics are in 'master'. It has only been
22
-just a few days since the last batch, but I'd be offline tomorrow
23
-(a forced day-off), so I'm merging them a bit earlier.
24
-
25
-I expect that things will start to calm down in preparation for the
26
-release expected in mid November. Topics that are not marked with
27
-any plans may be in that status because they didn't get much
28
-attention by reviewers, in which case you folks know what to do ;-)
21
+The fifteenth batch of topics are in 'master'. I expect that this
22
+is more-or-less what we can expect in the -rc0, unless there is a
23
+hotfix to what's already merged.
24
25
Copies of the source code to Git live in many repositories, and the
26
following is a list of the ones I push into or their mirrors. Some
@@ -58,272 +53,6 @@ Release tarballs are available at:
53
--------------------------------------------------
54
[Graduated to 'master']
55
61
-* ab/align-parse-options-help (2021-09-22) 4 commits
62
- (merged to 'next' on 2021-10-06 at e22da7ef85)
63
- + parse-options: properly align continued usage output
64
- + git rev-parse --parseopt tests: add more usagestr tests
65
- + send-pack: properly use parse_options() API for usage string
66
- + parse-options API users: align usage output in C-strings
67
-
68
- When "git cmd -h" shows more than one line of usage text (e.g.
69
- the cmd subcommand may take sub-sub-command), parse-options API
70
- learned to align these lines, even across i18n/l10n.
71
-
72
-
73
-* ab/config-based-hooks-1 (2021-09-27) 8 commits
74
- (merged to 'next' on 2021-10-06 at d05325ed35)
75
- + hook-list.h: add a generated list of hooks, like config-list.h
76
- + hook.c users: use "hook_exists()" instead of "find_hook()"
77
- + hook.c: add a hook_exists() wrapper and use it in bugreport.c
78
- + hook.[ch]: move find_hook() from run-command.c to hook.c
79
- + Makefile: remove an out-of-date comment
80
- + Makefile: don't perform "mv $@+ $@" dance for $(GENERATED_H)
81
- + Makefile: stop hardcoding {command,config}-list.h
82
- + Makefile: mark "check" target as .PHONY
83
- (this branch is used by ab/config-based-hooks-2.)
84
-
85
- Mostly preliminary clean-up in the hook API.
86
-
87
-
88
-* ab/designated-initializers-more (2021-10-01) 6 commits
89
- (merged to 'next' on 2021-10-11 at 9b9836c3df)
90
- + builtin/remote.c: add and use SHOW_INFO_INIT
91
- + builtin/remote.c: add and use a REF_STATES_INIT
92
- + urlmatch.[ch]: add and use URLMATCH_CONFIG_INIT
93
- + builtin/blame.c: refactor commit_info_init() to COMMIT_INFO_INIT macro
94
- + daemon.c: refactor hostinfo_init() to HOSTINFO_INIT macro
95
- + Merge branch 'ab/designated-initializers' into ab/designated-initializers-more
96
-
97
- Code clean-up.
98
-
99
-
100
-* ab/help-config-vars (2021-09-23) 9 commits
101
- (merged to 'next' on 2021-10-06 at bf9538cfbd)
102
- + help: move column config discovery to help.c library
103
- + help / completion: make "git help" do the hard work
104
- + help tests: test --config-for-completion option & output
105
- + help: simplify by moving to OPT_CMDMODE()
106
- + help: correct logic error in combining --all and --guides
107
- + help: correct logic error in combining --all and --config
108
- + help tests: add test for --config output
109
- + help: correct usage & behavior of "git help --guides"
110
- + help: correct the usage string in -h and documentation
111
-
112
- Teach "git help -c" into helping the command line completion of
113
- configuration variables.
114
-
115
-
116
-* ab/lib-subtest (2021-09-22) 9 commits
117
- (merged to 'next' on 2021-10-06 at e8fa261811)
118
- + test-lib tests: get rid of copy/pasted mock test code
119
- + test-lib tests: assert 1 exit code, not non-zero
120
- + test-lib tests: refactor common part of check_sub_test_lib_test*()
121
- + test-lib tests: avoid subshell for "test_cmp" for readability
122
- + test-lib tests: don't provide a description for the sub-tests
123
- + test-lib tests: split up "write and run" into two functions
124
- + test-lib tests: move "run_sub_test" to a new lib-subtest.sh
125
- + Merge branch 'ps/t0000-output-directory-fix' into ab/lib-subtest
126
- + Merge branch 'jk/t0000-subtests-fix' into ab/lib-subtest
127
-
128
- Updates to the tests in t0000 to test the test framework.
129
-
130
-
131
-* ab/make-sparse-for-real (2021-09-22) 1 commit
132
- (merged to 'next' on 2021-10-06 at 10e3c31d6a)
133
- + Makefile: make the "sparse" target non-.PHONY
134
-
135
- Prevent "make sparse" from running for the source files that
136
- haven't been modified.
137
-
138
-
139
-* bs/doc-blame-color-lines (2021-10-08) 2 commits
140
- (merged to 'next' on 2021-10-11 at a2cb7768b6)
141
- + blame: document --color-* options
142
- + blame: describe default output format
143
-
144
- The "--color-lines" and "--color-by-age" options of "git blame"
145
- have been missing, which are now documented.
146
-
147
-
148
-* cm/save-restore-terminal (2021-10-06) 2 commits
149
- (merged to 'next' on 2021-10-11 at 962bb3e75b)
150
- + editor: save and reset terminal after calling EDITOR
151
- + terminal: teach git how to save/restore its terminal settings
152
-
153
- An editor session launched during a Git operation (e.g. during 'git
154
- commit') can leave the terminal in a funny state. The code path
155
- has updated to save the terminal state before, and restore it
156
- after, it spawns an editor.
157
-
158
-
159
-* ds/add-rm-with-sparse-index (2021-09-28) 13 commits
160
- (merged to 'next' on 2021-10-06 at 80a9cda797)
161
- + advice: update message to suggest '--sparse'
162
- + mv: refuse to move sparse paths
163
- + rm: skip sparse paths with missing SKIP_WORKTREE
164
- + rm: add --sparse option
165
- + add: update --renormalize to skip sparse paths
166
- + add: update --chmod to skip sparse paths
167
- + add: implement the --sparse option
168
- + add: skip tracked paths outside sparse-checkout cone
169
- + add: fail when adding an untracked sparse file
170
- + dir: fix pattern matching on dirs
171
- + dir: select directories correctly
172
- + t1092: behavior for adding sparse files
173
- + t3705: test that 'sparse_entry' is unstaged
174
-
175
- "git add", "git mv", and "git rm" have been adjusted to avoid
176
- updating paths outside of the sparse-checkout definition unless
177
- the user specifies a "--sparse" option.
178
-
179
-
180
-* en/removing-untracked-fixes (2021-09-27) 12 commits
181
- (merged to 'next' on 2021-10-06 at fc4e387fda)
182
- + Documentation: call out commands that nuke untracked files/directories
183
- + Comment important codepaths regarding nuking untracked files/dirs
184
- + unpack-trees: avoid nuking untracked dir in way of locally deleted file
185
- + unpack-trees: avoid nuking untracked dir in way of unmerged file
186
- + Change unpack_trees' 'reset' flag into an enum
187
- + Remove ignored files by default when they are in the way
188
- + unpack-trees: make dir an internal-only struct
189
- + unpack-trees: introduce preserve_ignored to unpack_trees_options
190
- + read-tree, merge-recursive: overwrite ignored files by default
191
- + checkout, read-tree: fix leak of unpack_trees_options.dir
192
- + t2500: add various tests for nuking untracked files
193
- + Merge branch 'en/am-abort-fix' into en/removing-untracked-fixes
194
-
195
- Various fixes in code paths that move untracked files away to make room.
196
-
197
-
198
-* ja/doc-status-types-and-copies (2021-10-04) 4 commits
199
- (merged to 'next' on 2021-10-06 at 4de6571bf7)
200
- + Documentation/git-status: mention how to detect copies
201
- + Documentation/git-status: document porcelain status T (typechange)
202
- + Documentation/diff-format: state in which cases porcelain status is T
203
- + Documentation/git-status: remove impossible porcelain status DR and DC
204
-
205
- A few kinds of changes "git status" can show were not documented.
206
-
207
-
208
-* jh/builtin-fsmonitor-part1 (2021-09-20) 7 commits
209
- (merged to 'next' on 2021-10-06 at 021f633b9c)
210
- + t/helper/simple-ipc: convert test-simple-ipc to use start_bg_command
211
- + run-command: create start_bg_command
212
- + simple-ipc/ipc-win32: add Windows ACL to named pipe
213
- + simple-ipc/ipc-win32: add trace2 debugging
214
- + simple-ipc: move definition of ipc_active_state outside of ifdef
215
- + simple-ipc: preparations for supporting binary messages.
216
- + trace2: add trace2_child_ready() to report on background children
217
-
218
- Built-in fsmonitor (part 1).
219
-
220
-
221
-* jk/cat-file-batch-all-wo-replace (2021-10-08) 5 commits
222
- (merged to 'next' on 2021-10-11 at 9415f7c43a)
223
- + cat-file: use packed_object_info() for --batch-all-objects
224
- + cat-file: split ordered/unordered batch-all-objects callbacks
225
- + cat-file: disable refs/replace with --batch-all-objects
226
- + cat-file: mention --unordered along with --batch-all-objects
227
- + t1006: clean up broken objects
228
-
229
- "git cat-file --batch" with the "--batch-all-objects" option is
230
- supposed to iterate over all the objects found in a repository, but
231
- it used to translate these object names using the replace mechanism,
232
- which defeats the point of enumerating all objects in the repository.
233
- This has been corrected.
234
-
235
-
236
-* js/retire-preserve-merges (2021-09-07) 11 commits
237
- (merged to 'next' on 2021-09-10 at f645ffd7a3)
238
- + sequencer: restrict scope of a formerly public function
239
- + rebase: remove a no-longer-used function
240
- + rebase: stop mentioning the -p option in comments
241
- + rebase: remove obsolete code comment
242
- + rebase: drop the internal `rebase--interactive` command
243
- + git-svn: drop support for `--preserve-merges`
244
- + rebase: drop support for `--preserve-merges`
245
- + pull: remove support for `--rebase=preserve`
246
- + tests: stop testing `git rebase --preserve-merges`
247
- + remote: warn about unhandled branch.<name>.rebase values
248
- + t5520: do not use `pull.rebase=preserve`
249
-
250
- The "--preserve-merges" option of "git rebase" has been removed.
251
-
252
-
253
-* js/windows-ci-path-fix (2021-10-13) 1 commit
254
- (merged to 'next' on 2021-10-14 at 3047fe56fc)
255
- + ci(windows): ensure that we do not pick up random executables
256
-
257
- The PATH used in CI job may be too wide and let incompatible dlls
258
- to be grabbed, which can cause the build&test to fail. Tighten it.
259
-
260
-
261
-* mt/grep-submodule-textconv (2021-09-29) 1 commit
262
- (merged to 'next' on 2021-10-06 at 1950944b8c)
263
- + grep: demonstrate bug with textconv attributes and submodules
264
-
265
- "git grep --recurse-submodules" takes trees and blobs from the
266
- submodule repository, but the textconv settings when processing a
267
- blob from the submodule is not taken from the submodule repository.
268
- A test is added to demonstrate the issue, without fixing it.
269
-
270
-
271
-* rs/make-verify-path-really-verify-again (2021-10-07) 3 commits
272
- (merged to 'next' on 2021-10-11 at 6b4358876f)
273
- + read-cache: let verify_path() reject trailing dir separators again
274
- + read-cache: add verify_path_internal()
275
- + t3905: show failure to ignore sub-repo
276
-
277
- Recent sparse-index work broke safety against attempts to add paths
278
- with trailing slashes to the index, which has been corrected.
279
-
280
-
281
-* rs/mergesort (2021-10-08) 10 commits
282
- (merged to 'next' on 2021-10-08 at 2e83706316)
283
- + test-mergesort: use repeatable random numbers
284
- (merged to 'next' on 2021-10-03 at 29a672574f)
285
- + mergesort: use ranks stack
286
- + p0071: test performance of llist_mergesort()
287
- + p0071: measure sorting of already sorted and reversed files
288
- + test-mergesort: add unriffle_skewed mode
289
- + test-mergesort: add unriffle mode
290
- + test-mergesort: add generate subcommand
291
- + test-mergesort: add test subcommand
292
- + test-mergesort: add sort subcommand
293
- + test-mergesort: use strbuf_getline()
294
-
295
- The mergesort implementation used to sort linked list has been
296
- optimized.
297
-
298
-
299
-* tb/repack-write-midx (2021-10-07) 10 commits
300
- (merged to 'next' on 2021-10-08 at ff8fec247e)
301
- + test-read-midx: fix leak of bitmap_index struct
302
- (merged to 'next' on 2021-10-06 at ccdd5aaf2a)
303
- + builtin/repack.c: pass `--refs-snapshot` when writing bitmaps
304
- + builtin/repack.c: make largest pack preferred
305
- + builtin/repack.c: support writing a MIDX while repacking
306
- + builtin/repack.c: extract showing progress to a variable
307
- + builtin/repack.c: rename variables that deal with non-kept packs
308
- + builtin/repack.c: keep track of existing packs unconditionally
309
- + midx: preliminary support for `--refs-snapshot`
310
- + builtin/multi-pack-index.c: support `--stdin-packs` mode
311
- + midx: expose `write_midx_file_only()` publicly
312
- (this branch is used by tb/fix-midx-rename-while-mapped.)
313
-
314
- "git repack" has been taught to generate multi-pack reachability
315
- bitmaps.
316
-
317
-
318
-* tz/doc-link-to-bundle-format-fix (2021-10-13) 1 commit
319
- (merged to 'next' on 2021-10-14 at dee8053d49)
320
- + doc: add bundle-format to TECH_DOCS
321
-
322
- Doc update.
323
-
324
---------------------------------------------------
325
-[New Topics]
326
-
56
* ab/fix-commit-error-message-upon-unwritable-object-store (2021-10-12) 2 commits
57
(merged to 'next' on 2021-10-14 at 08c52f5cd5)
58
+ commit: fix duplication regression in permission error output
@@ -332,130 +61,228 @@ Release tarballs are available at:
61
"git commit" gave duplicated error message when the object store
62
was unwritable, which has been corrected.
63
335
- Will merge to 'master'.
64
65
+* ab/fix-make-lint-docs (2021-10-15) 4 commits
66
+ (merged to 'next' on 2021-10-18 at 22ebb3213f)
67
+ + doc lint: make "lint-docs" non-.PHONY
68
+ + doc build: speed up "make lint-docs"
69
+ + doc lint: emit errors on STDERR
70
+ + doc lint: fix error-hiding regression
71
338
-* rs/disable-gc-during-perf-tests (2021-10-11) 1 commit
339
- (merged to 'next' on 2021-10-14 at e0dd4b9bd4)
340
- + perf: disable automatic housekeeping
72
+ Build fix.
73
342
- Avoid performance measurements from getting ruined by gc and other
343
- housekeeping pauses interfering in the middle.
74
345
- Will merge to 'master'.
75
+* ab/fsck-unexpected-type (2021-10-01) 17 commits
76
+ (merged to 'next' on 2021-10-14 at 10edc78c9c)
77
+ + fsck: report invalid object type-path combinations
78
+ + fsck: don't hard die on invalid object types
79
+ + object-file.c: stop dying in parse_loose_header()
80
+ + object-file.c: return ULHR_TOO_LONG on "header too long"
81
+ + object-file.c: use "enum" return type for unpack_loose_header()
82
+ + object-file.c: simplify unpack_loose_short_header()
83
+ + object-file.c: make parse_loose_header_extended() public
84
+ + object-file.c: return -1, not "status" from unpack_loose_header()
85
+ + object-file.c: don't set "typep" when returning non-zero
86
+ + cat-file tests: test for current --allow-unknown-type behavior
87
+ + cat-file tests: add corrupt loose object test
88
+ + cat-file tests: test for missing/bogus object with -t, -s and -p
89
+ + cat-file tests: move bogus_* variable declarations earlier
90
+ + fsck tests: test for garbage appended to a loose object
91
+ + fsck tests: test current hash/type mismatch behavior
92
+ + fsck tests: refactor one test to use a sub-repo
93
+ + fsck tests: add test for fsck-ing an unknown type
94
95
+ "git fsck" has been taught to report mismatch between expected and
96
+ actual types of an object better.
97
348
-* gc/remote-with-fewer-static-global-variables (2021-10-13) 3 commits
349
- - remote: add struct repository parameter to external functions
350
- - remote: use remote_state parameter internally
351
- - remote: move static variables into per-repository struct
98
353
- Code clean-up to eventually allow information on remotes defined
354
- for an arbitrary repository to be read.
99
+* ab/mark-leak-free-tests (2021-10-12) 10 commits
100
+ (merged to 'next' on 2021-10-18 at c522807d5d)
101
+ + leak tests: mark some misc tests as passing with SANITIZE=leak
102
+ + leak tests: mark various "generic" tests as passing with SANITIZE=leak
103
+ + leak tests: mark some read-tree tests as passing with SANITIZE=leak
104
+ + leak tests: mark some ls-files tests as passing with SANITIZE=leak
105
+ + leak tests: mark all checkout-index tests as passing with SANITIZE=leak
106
+ + leak tests: mark all trace2 tests as passing with SANITIZE=leak
107
+ + leak tests: mark all ls-tree tests as passing with SANITIZE=leak
108
+ + leak tests: run various "test-tool" tests in t00*.sh SANITIZE=leak
109
+ + leak tests: run various built-in tests in t00*.sh SANITIZE=leak
110
+ + Merge branch 'ab/sanitize-leak-ci' into ab/mark-leak-free-tests
111
356
- Will merge to 'next'?
112
+ Bunch of tests are marked as "passing leak check".
113
114
359
-* jk/loosen-urlmatch (2021-10-12) 1 commit
360
- - urlmatch: add underscore to URL_HOST_CHARS
115
+* ab/mark-leak-free-tests-more (2021-10-07) 8 commits
116
+ (merged to 'next' on 2021-10-18 at fe798f77b8)
117
+ + merge: add missing strbuf_release()
118
+ + ls-files: add missing string_list_clear()
119
+ + ls-files: fix a trivial dir_clear() leak
120
+ + tests: fix test-oid-array leak, test in SANITIZE=leak
121
+ + tests: fix a memory leak in test-oidtree.c
122
+ + tests: fix a memory leak in test-parse-options.c
123
+ + tests: fix a memory leak in test-prio-queue.c
124
+ + Merge branch 'ab/sanitize-leak-ci' into ab/mark-leak-free-tests-more
125
362
- Treat "_" as any other DNS-valid characters in an URL when matching
363
- the per-URL configuration variable names.
126
+ Bunch of tests are marked as "passing leak check".
127
365
- Will merge to 'next'?
128
129
+* ab/parse-options-cleanup (2021-10-08) 10 commits
130
+ (merged to 'next' on 2021-10-18 at 305d339ad9)
131
+ + parse-options: change OPT_{SHORT,UNSET} to an enum
132
+ + parse-options tests: test optname() output
133
+ + parse-options.[ch]: make opt{bug,name}() "static"
134
+ + commit-graph: stop using optname()
135
+ + parse-options.c: move optname() earlier in the file
136
+ + parse-options.h: make the "flags" in "struct option" an enum
137
+ + parse-options.c: use exhaustive "case" arms for "enum parse_opt_result"
138
+ + parse-options.[ch]: consistently use "enum parse_opt_result"
139
+ + parse-options.[ch]: consistently use "enum parse_opt_flags"
140
+ + parse-options.h: move PARSE_OPT_SHELL_EVAL between enums
141
368
-* rs/add-dry-run-without-objects (2021-10-12) 1 commit
369
- (merged to 'next' on 2021-10-14 at a42928e134)
370
- + add: don't write objects with --dry-run
142
+ Random changes to parse-options implementation.
143
372
- Stop "git add --dry-run" from creating new blob and tree objects.
144
374
- Will merge to 'master'.
145
+* ab/pkt-line-cleanup (2021-10-15) 2 commits
146
+ (merged to 'next' on 2021-10-18 at 79b07663da)
147
+ + pkt-line.[ch]: remove unused packet_read_line_buf()
148
+ + pkt-line.[ch]: remove unused packet_buf_write_len()
149
150
+ Code clean-up.
151
377
-* ab/test-bail (2021-10-14) 2 commits
378
- - test-lib.sh: use "Bail out!" syntax on bad SANITIZE=leak use
379
- - test-lib.sh: de-duplicate error() teardown code
152
381
- A new feature has been added to abort early in the test framework.
153
+* ab/test-cleanly-recreate-trash-directory (2021-10-15) 1 commit
154
+ (merged to 'next' on 2021-10-18 at 6fdb43973b)
155
+ + test-lib.sh: try to re-chmod & retry on failed trash removal
156
383
- Will merge to 'next'.
157
+ Improve test framework around unwritable directories.
158
159
386
-* ab/config-based-hooks-2 (2021-10-15) 14 commits
387
- - run-command: remove old run_hook_{le,ve}() hook API
388
- - receive-pack: convert push-to-checkout hook to hook.h
389
- - read-cache: convert post-index-change to use hook.h
390
- - commit: convert {pre-commit,prepare-commit-msg} hook to hook.h
391
- - git-p4: use 'git hook' to run hooks
392
- - send-email: use 'git hook run' for 'sendemail-validate'
393
- - git hook run: add an --ignore-missing flag
394
- - merge: convert post-merge to use hook.h
395
- - hooks: convert 'post-checkout' hook to hook library
396
- - am: convert applypatch to use hook.h
397
- - rebase: convert pre-rebase to use hook.h
398
- - gc: use hook library for pre-auto-gc hook
399
- - hook: add 'run' subcommand
400
- - Merge branch 'ab/config-based-hooks-1' into ab/config-based-hooks-2
160
+* ab/test-lib-diff-cleanup (2021-10-15) 2 commits
161
+ (merged to 'next' on 2021-10-18 at 5229c5d01d)
162
+ + tests: stop using top-level "README" and "COPYING" files
163
+ + "lib-diff" tests: make "README" and "COPYING" test data smaller
164
402
- More "config-based hooks".
165
+ Test clean-up.
166
404
- Breaks t2400.
167
168
+* ab/unpack-trees-leakfix (2021-10-13) 4 commits
169
+ (merged to 'next' on 2021-10-14 at bb54827704)
170
+ + sequencer: fix a memory leak in do_reset()
171
+ + sequencer: add a "goto cleanup" to do_reset()
172
+ + unpack-trees: don't leak memory in verify_clean_subdirectory()
173
+ + Merge branch 'ab/sanitize-leak-ci' into ab/unpack-trees-leakfix
174
407
-* ab/fix-make-lint-docs (2021-10-15) 4 commits
408
- (merged to 'next' on 2021-10-18 at 22ebb3213f)
409
- + doc lint: make "lint-docs" non-.PHONY
410
- + doc build: speed up "make lint-docs"
411
- + doc lint: emit errors on STDERR
412
- + doc lint: fix error-hiding regression
175
+ Leakfix.
176
414
- Build fix.
177
416
- Will merge to 'master'.
178
+* da/mergetools-special-case-xxdiff-exit-128 (2021-10-13) 1 commit
179
+ (merged to 'next' on 2021-10-18 at 0dd8a08c63)
180
+ + mergetools/xxdiff: prevent segfaults from stopping difftool
181
182
+ The xxdiff difftool backend can exit with status 128, which the
183
+ difftool-helper that launches the backend takes as a significant
184
+ failure, when it is not significant at all. Work it around.
185
419
-* ab/ignore-replace-while-working-on-commit-graph (2021-10-15) 3 commits
420
- - commit-graph: don't consider "replace" objects with "verify"
421
- - commit-graph tests: fix another graph_git_two_modes() helper
422
- - commit-graph tests: fix error-hiding graph_git_two_modes() helper
423
- (this branch is used by gc/use-repo-settings.)
186
425
- Teach "git commit-graph" command not to allow using replace objects
426
- at all, as we do not use the commit-graph at runtime when we see
427
- object replacement.
187
+* fs/ssh-signing (2021-09-10) 9 commits
188
+ (merged to 'next' on 2021-10-11 at b456b95672)
189
+ + ssh signing: test that gpg fails for unknown keys
190
+ + ssh signing: tests for logs, tags & push certs
191
+ + ssh signing: duplicate t7510 tests for commits
192
+ + ssh signing: verify signatures using ssh-keygen
193
+ + ssh signing: provide a textual signing_key_id
194
+ + ssh signing: retrieve a default key from ssh-agent
195
+ + ssh signing: add ssh key format and signing code
196
+ + ssh signing: add test prereqs
197
+ + ssh signing: preliminary refactoring and clean-up
198
+ (this branch is used by fs/ssh-signing-fix and fs/ssh-signing-key-lifetime.)
199
429
- Will merge to 'next'?
200
+ Use ssh public crypto for object and push-cert signing.
201
202
432
-* ab/pkt-line-cleanup (2021-10-15) 2 commits
433
- (merged to 'next' on 2021-10-18 at 79b07663da)
434
- + pkt-line.[ch]: remove unused packet_read_line_buf()
435
- + pkt-line.[ch]: remove unused packet_buf_write_len()
203
+* fs/ssh-signing-fix (2021-10-18) 5 commits
204
+ (merged to 'next' on 2021-10-18 at 5ffa706433)
205
+ + gpg-interface: fix leak of strbufs in get_ssh_key_fingerprint()
206
+ + gpg-interface: fix leak of "line" in parse_ssh_output()
207
+ (merged to 'next' on 2021-10-14 at 97735c6091)
208
+ + ssh signing: clarify trustlevel usage in docs
209
+ + ssh signing: fmt-merge-msg tests & config parse
210
+ + Merge branch 'fs/ssh-signing' into fs/ssh-signing-fix
211
+ (this branch is used by fs/ssh-signing-key-lifetime; uses fs/ssh-signing.)
212
437
- Code clean-up.
213
+ Fix-up for the other topic already in 'next'.
214
439
- Will merge to 'master'.
215
216
+* jc/doc-commit-header-continuation-line (2021-10-12) 1 commit
217
+ (merged to 'next' on 2021-10-18 at 99b71c0aaf)
218
+ + signature-format.txt: explain and illustrate multi-line headers
219
442
-* ab/test-lib-diff-cleanup (2021-10-15) 2 commits
443
- (merged to 'next' on 2021-10-18 at 5229c5d01d)
444
- + tests: stop using top-level "README" and "COPYING" files
445
- + "lib-diff" tests: make "README" and "COPYING" test data smaller
220
+ Doc update.
221
447
- Test clean-up.
222
449
- Will merge to 'master'.
223
+* jh/perf-remove-test-times (2021-10-04) 1 commit
224
+ (merged to 'next' on 2021-10-14 at 473a26166c)
225
+ + t/perf/perf-lib.sh: remove test_times.* at the end test_perf_()
226
227
+ Perf test fix.
228
452
-* so/stash-staged (2021-10-18) 1 commit
453
- - stash: implement '--staged' option for 'push' and 'save'
229
455
- "git stash" learned the "--staged" option to stash away what has
456
- been added to the index (and nothing else).
230
+* js/userdiff-cpp (2021-10-25) 7 commits
231
+ (merged to 'next' on 2021-10-25 at 2158813163)
232
+ + userdiff-cpp: back out the digit-separators in numbers
233
+ (merged to 'next' on 2021-10-18 at fea77f6c4e)
234
+ + userdiff-cpp: learn the C++ spaceship operator
235
+ + userdiff-cpp: permit the digit-separating single-quote in numbers
236
+ + userdiff-cpp: prepare test cases with yet unsupported features
237
+ + userdiff-cpp: tighten word regex
238
+ + t4034: add tests showing problematic cpp tokenizations
239
+ + t4034/cpp: actually test that operator tokens are not split
240
458
- Will merge to 'next'?
241
+ Userdiff patterns for the C++ language has been updated.
242
+
243
+
244
+* jt/no-abuse-alternate-odb-for-submodules (2021-10-08) 9 commits
245
+ (merged to 'next' on 2021-10-14 at ae49a2ceda)
246
+ + submodule: trace adding submodule ODB as alternate
247
+ + submodule: pass repo to check_has_commit()
248
+ + object-file: only register submodule ODB if needed
249
+ + merge-{ort,recursive}: remove add_submodule_odb()
250
+ + refs: peeling non-the_repository iterators is BUG
251
+ + refs: teach arbitrary repo support to iterators
252
+ + refs: plumb repo into ref stores
253
+ + Merge branch 'jk/ref-paranoia' into jt/no-abuse-alternate-odb-for-submodules
254
+ + Merge branch 'jt/add-submodule-odb-clean-up' into jt/no-abuse-alternate-odb-for-submodules
255
+
256
+ Follow through the work to use the repo interface to access
257
+ submodule objects in-process, instead of abusing the alternate
258
+ object database interface.
259
+
260
+
261
+* pw/sparse-cache-tree-verify-fix (2021-10-18) 2 commits
262
+ (merged to 'next' on 2021-10-18 at 0186a643cc)
263
+ + t1092: run "rebase --apply" without "-q" in testing
264
+ (merged to 'next' on 2021-10-11 at 2f90c87850)
265
+ + sparse index: fix use-after-free bug in cache_tree_verify()
266
+
267
+ Recent sparse-index addition, namely any use of index_name_pos(),
268
+ can expand sparse index entries and breaks any code that walks
269
+ cache-tree or existing index entries. One such instance of such a
270
+ breakage has been corrected.
271
+
272
+
273
+* rs/add-dry-run-without-objects (2021-10-12) 1 commit
274
+ (merged to 'next' on 2021-10-14 at a42928e134)
275
+ + add: don't write objects with --dry-run
276
+
277
+ Stop "git add --dry-run" from creating new blob and tree objects.
278
+
279
+
280
+* rs/disable-gc-during-perf-tests (2021-10-11) 1 commit
281
+ (merged to 'next' on 2021-10-14 at e0dd4b9bd4)
282
+ + perf: disable automatic housekeeping
283
+
284
+ Avoid performance measurements from getting ruined by gc and other
285
+ housekeeping pauses interfering in the middle.
286
287
288
* tb/fix-midx-rename-while-mapped (2021-10-15) 5 commits
@@ -471,58 +298,245 @@ Release tarballs are available at:
298
version of .midx before removing them from the disk, as some
299
platforms do not allow removal of a file that still has mapping.
300
301
+--------------------------------------------------
302
+[New Topics]
303
+
304
+* ab/generate-command-list (2021-10-23) 10 commits
305
+ - generate-cmdlist.sh: replace "cut", "tr" and "grep" with pure-shell
306
+ - generate-cmdlist.sh: replace "grep' invocation with a shell version
307
+ - generate-cmdlist.sh: do not shell out to "sed"
308
+ - generate-cmdlist.sh: stop sorting category lines
309
+ - generate-cmdlist.sh: replace for loop by printf's auto-repeat feature
310
+ - generate-cmdlist.sh: run "grep | sort", not "sort | grep"
311
+ - generate-cmdlist.sh: don't call get_categories() from category_list()
312
+ - generate-cmdlist.sh: spawn fewer processes
313
+ - generate-cmdlist.sh: trivial whitespace change
314
+ - command-list.txt: sort with "LC_ALL=C sort"
315
+
316
+ Build optimization.
317
+
318
+
319
+* ab/ref-filter-leakfix (2021-10-20) 3 commits
320
+ (merged to 'next' on 2021-10-23 at 8066971a3d)
321
+ + branch: use ref_sorting_release()
322
+ + ref-filter API user: add and use a ref_sorting_release()
323
+ + tag: use a "goto cleanup" pattern, leak less memory
324
+ (this branch is used by jc/fix-ref-sorting-parse.)
325
+
326
+ "git for-each-ref" family of commands were leaking the ref_sorting
327
+ instances that hold sorting keys specified by the user; this has
328
+ been corrected.
329
+
330
Will merge to 'master'.
331
332
477
-* vd/sparse-sparsity-fix-on-read (2021-10-15) 2 commits
478
- - sparse-index: update index read to consider index.sparse config
479
- - test-read-cache.c: prepare_repo_settings after config init
333
+* bs/doc-blame-color-lines (2021-10-20) 1 commit
334
+ (merged to 'next' on 2021-10-23 at 4da10a5162)
335
+ + git config doc: fix recent ASCIIDOC formatting regression
336
481
- Ensure that the sparseness of the in-core index matches the
482
- index.sparse configuration specified by the repository immediately
483
- after the on-disk index file is read.
337
+ Doc fix.
338
485
- Under discussion.
339
+ Will merge to 'master'.
340
341
488
-* jc/fix-ref-sorting-parse (2021-10-18) 1 commit
489
- - for-each-ref: delay parsing of --sort=<atom> options
342
+* jc/fix-pull-ff-only-when-already-up-to-date (2021-10-20) 1 commit
343
+ - pull: --ff-only should make it a noop when already-up-to-date
344
491
- Things like "git -c branch.sort=bogus branch new HEAD", i.e. the
492
- operation modes of the "git branch" command that do not need the
493
- sort key information, no longer errors out by seeing a bogus sort
494
- key.
345
+ "git pull --ff-only" and "git pull --rebase --ff-only" should make
346
+ it a no-op to attempt pulling from a remote that is behind us, but
347
+ instead the command errored out by saying it was impossible to
348
+ fast-forward, which may technically be true, but not a useful thing
349
+ to diagnose as an error. This has been corrected.
350
351
Will merge to 'next'?
352
353
499
-* jc/tutorial-format-patch-base (2021-10-18) 1 commit
500
- - MyFirstContribution: teach to use "format-patch --base=auto"
354
+* ab/make-sparse-for-real (2021-10-21) 1 commit
355
+ (merged to 'next' on 2021-10-23 at f7a8389fb3)
356
+ + Makefile: remove redundant GIT-CFLAGS dependency from "sparse"
357
502
- Teach and encourage first-time contributors to this project to
503
- state the base commit when they submit their topic.
358
+ Fix-up for a recent topic.
359
360
+ Will merge to 'master'.
361
506
-* jk/http-push-status-fix (2021-10-18) 2 commits
507
- - transport-helper: recognize "expecting report" error from send-pack
508
- - send-pack: complain about "expecting report" with --helper-status
362
510
- "git push" client talking to an HTTP server did not diagnose the
511
- lack of the final status report from the other side correctly,
512
- which has been corrected.
363
+* ab/plug-handle-path-exclude-leak (2021-10-21) 1 commit
364
+ (merged to 'next' on 2021-10-23 at 6be5d7bea8)
365
+ + config.c: don't leak memory in handle_path_include()
366
+
367
+ Leakfix.
368
+
369
+ Will merge to 'master'.
370
+
371
+
372
+* ab/plug-random-leaks (2021-10-23) 6 commits
373
+ (merged to 'next' on 2021-10-23 at 9c04a95718)
374
+ + reflog: free() ref given to us by dwim_log()
375
+ + submodule--helper: fix small memory leaks
376
+ + clone: fix a memory leak of the "git_dir" variable
377
+ + grep: fix a "path_list" memory leak
378
+ + grep: use object_array_clear() in cmd_grep()
379
+ + grep: prefer "struct grep_opt" over its "void *" equivalent
380
+
381
+ Leakfix.
382
+
383
+ Will merge to 'master'.
384
+
385
+
386
+* ab/sh-retire-helper-functions (2021-10-21) 6 commits
387
+ - git-sh-setup: remove "sane_grep", it's not needed anymore
388
+ - git-sh-setup: remove unused sane_egrep() function
389
+ - git-instaweb: unconditionally assume that gitweb is mod_perl capable
390
+ - Makefile: remove $(NO_CURL) from $(SCRIPT_DEFINES)
391
+ - Makefile: remove $(GIT_VERSION) from $(SCRIPT_DEFINES)
392
+ - Makefile: move git-SCRIPT-DEFINES adjacent to $(SCRIPT_DEFINES)
393
+
394
+ Make a few helper functions unused and then lose them.
395
+
396
+
397
+* ab/sh-retire-rebase-preserve-merges (2021-10-21) 2 commits
398
+ (merged to 'next' on 2021-10-23 at f1fede7500)
399
+ + git-sh-setup: remove messaging supporting --preserve-merges
400
+ + git-sh-i18n: remove unused eval_ngettext()
401
+
402
+ Code clean-up to remove unused helpers.
403
+
404
+ Will merge to 'master'.
405
+
406
+
407
+* ow/stash-count-in-status-porcelain-output (2021-10-21) 2 commits
408
+ - status: print stash info with --porcelain=v2 --show-stash
409
+ - status: count stash entries in separate function
410
+
411
+ Allow "git status --porcelain=v2" to show the number of stash
412
+ entries with --show-stash like the normal output does.
413
414
Will merge to 'next'.
415
416
517
-* js/branch-track-inherit (2021-10-18) 1 commit
518
- - branch: add flags and config to inherit tracking
417
+* tb/plug-pack-bitmap-leaks (2021-10-21) 9 commits
418
+ - pack-bitmap.c: more aggressively free in free_bitmap_index()
419
+ - pack-bitmap.c: don't leak type-level bitmaps
420
+ - pack-bitmap.c: avoid leaking via midx_bitmap_filename()
421
+ - builtin/multi-pack-index.c: don't leak concatenated options
422
+ - builtin/repack.c: avoid leaking child arguments
423
+ - builtin/pack-objects.c: don't leak memory via arguments
424
+ - t/helper/test-read-midx.c: free MIDX within read_midx_file()
425
+ - midx.c: don't leak MIDX from verify_midx_file
426
+ - midx.c: clean up chunkfile after reading the MIDX
427
520
- "git -c branch.autosetupmerge=inherit branch new old" makes "new"
521
- to have the same upstream as the "old" branch, instead of marking
522
- "old" itself as its upstream.
428
+ Leakfix.
429
+
430
+ Will merge to 'next'?
431
+
432
+
433
+* bs/archive-doc-compression-level (2021-10-25) 1 commit
434
+ (merged to 'next' on 2021-10-25 at 9360d864a2)
435
+ + archive: describe compression level option
436
+
437
+ Update "git archive" documentation and give explicit mention on the
438
+ compression level for both zip and tar.gz format.
439
+
440
+ Will merge to 'master'.
441
+
442
+
443
+* es/pretty-describe-more (2021-10-23) 3 commits
444
+ - pretty: add abbrev option to %(describe)
445
+ - pretty: add tag option to %(describe)
446
+ - pretty.c: rename describe options variable to more descriptive name
447
+
448
+ Extend "git log --format=%(describe)" placeholder to allow passing
449
+ selected command-line options to the underlying "git describe"
450
+ command.
451
+
452
+ Expecting a reroll.
453
+
454
+
455
+* fs/ssh-signing-key-lifetime (2021-10-23) 8 commits
456
+ - ssh signing: fmt-merge-msg/check_signature with tag date
457
+ - ssh signing: verify-tag/check_signature with tag date
458
+ - ssh signing: git log/check_signature with commit date
459
+ - ssh signing: verify-commit/check_signature with commit date
460
+ - ssh signing: add key lifetime test prereqs
461
+ - ssh signing: extend check_signature to accept payload metadata
462
+ - Merge branch 'fs/ssh-signing-fix' into fs/ssh-signing-key-lifetime
463
+ - Merge branch 'fs/ssh-signing' into fs/ssh-signing-key-lifetime
464
+
465
+ Extend the signing of objects with SSH keys and learn to pay
466
+ attention to the key validity time range when verifying.
467
+
468
+ Expecting a reroll.
469
+ cf. <51099904-a962-eb23-8baf-9ce15fff7d10@gigacodes.de>
470
+
471
+
472
+* jc/branch-copy-doc (2021-10-23) 1 commit
473
+ - branch (doc): -m/-c copies config and reflog
474
+
475
+ "git branch -c/-m new old" was not described to copy config, which
476
+ has been corrected.
477
+
478
+ Will merge to 'next'?
479
+
480
+
481
+* jc/doc-format-patch-clarify-auto-base (2021-10-23) 1 commit
482
+ - format-patch (doc): clarify --base=auto
483
+
484
+ Rephrase the description of "format-patch --base=auto".
485
+
486
+ Will merge to 'next'?
487
524
- Under discussion.
525
- cf. <87a6j6tbsv.fsf@gmgdl.gmail.com>
488
+
489
+* jc/doc-submitting-patches-choice-of-base (2021-10-25) 2 commits
490
+ - (wip) reword the final review part
491
+ - SubmittingPatchs: clarify choice of base and testing
492
+
493
+ Extend the guidance to choose the base commit to build your work
494
+ on, and hint/nudge contributors to read others' changes.
495
+
496
+
497
+* js/expand-runtime-prefix (2021-10-25) 1 commit
498
+ (merged to 'next' on 2021-10-25 at 7ff05e8222)
499
+ + config.txt: fix typo
500
+
501
+ Typofix.
502
+
503
+ Will merge to 'master'.
504
+
505
+
506
+* ma/doc-folder-to-directory (2021-10-25) 3 commits
507
+ - gitweb.txt: change "folder" to "directory"
508
+ - gitignore.txt: change "folder" to "directory"
509
+ - git-multi-pack-index.txt: change "folder" to "directory"
510
+
511
+ Consistently use 'directory', not 'folder', to call the filesystem
512
+ entity that collects a group of files and, eh, directories.
513
+
514
+ Will merge to 'next' and then to 'master'.
515
+
516
+
517
+* ma/doc-git-version (2021-10-25) 1 commit
518
+ (merged to 'next' on 2021-10-25 at 9f74afec0c)
519
+ + git.txt: fix typo
520
+
521
+ Typofix.
522
+
523
+ Will merge to 'master'.
524
+
525
+
526
+* rd/http-backend-code-simplification (2021-10-25) 1 commit
527
+ - http-backend: remove a duplicated code branch
528
+
529
+ (slight) Code simplification.
530
+
531
+ Will merge to 'next'?
532
+
533
+
534
+* sg/sparse-index-not-that-common-a-command (2021-10-25) 1 commit
535
+ - command-list.txt: remove 'sparse-index' from main help
536
+
537
+ Drop "git sparse-index" from the list of common commands.
538
+
539
+ Will merge to 'next'.
540
541
--------------------------------------------------
542
[Stalled]
@@ -544,85 +558,174 @@ Release tarballs are available at:
558
which is among the topics this topic stomps on.
559
560
547
-* pw/diff-color-moved-fix (2021-08-05) 13 commits
548
- - diff: drop unused options parameter from cmp_in_block_with_wsd()
549
- - diff --color-moved: intern strings
550
- - diff: use designated initializers for emitted_diff_symbol
551
- - diff --color-moved-ws=allow-indentation-change: improve hash lookups
552
- - diff --color-moved: stop clearing potential moved blocks
553
- - diff --color-moved: shrink potential moved blocks as we go
554
- - diff --color-moved: unify moved block growth functions
555
- - diff --color-moved: call comparison function directly
556
- - diff --color-moved-ws=allow-indentation-change: simplify and optimize
557
- - diff: simplify allow-indentation-change delta calculation
558
- - diff --color-moved: avoid false short line matches and bad zerba coloring
559
- - diff --color-moved=zebra: fix alternate coloring
560
- - diff --color-moved: add perf tests
561
+* pw/diff-color-moved-fix (2021-08-05) 13 commits
562
+ - diff: drop unused options parameter from cmp_in_block_with_wsd()
563
+ - diff --color-moved: intern strings
564
+ - diff: use designated initializers for emitted_diff_symbol
565
+ - diff --color-moved-ws=allow-indentation-change: improve hash lookups
566
+ - diff --color-moved: stop clearing potential moved blocks
567
+ - diff --color-moved: shrink potential moved blocks as we go
568
+ - diff --color-moved: unify moved block growth functions
569
+ - diff --color-moved: call comparison function directly
570
+ - diff --color-moved-ws=allow-indentation-change: simplify and optimize
571
+ - diff: simplify allow-indentation-change delta calculation
572
+ - diff --color-moved: avoid false short line matches and bad zerba coloring
573
+ - diff --color-moved=zebra: fix alternate coloring
574
+ - diff --color-moved: add perf tests
575
+
576
+ Originally merged to 'next' on 2021-08-05
577
+
578
+ Long-overdue correctness and performance update to "diff
579
+ --color-moved" feature.
580
+
581
+ Expecting a reroll.
582
+ cf. <8bec1a6d-5052-50c3-4100-e6348289d581@gmail.com>
583
+
584
+
585
+* cf/fetch-set-upstream-while-detached (2021-07-06) 1 commit
586
+ - fetch: fix segfault on --set-upstream while on a detached HEAD
587
+
588
+ "git fetch --set-upstream" while on detached HEAD segfaulted
589
+ instead of noticing that such an operation did not make sense.
590
+
591
+ Expecting a reroll.
592
+ cf. <xmqqsg0ri5mq.fsf@gitster.g>
593
+
594
+--------------------------------------------------
595
+[Cooking]
596
+
597
+* gc/remote-with-fewer-static-global-variables (2021-10-20) 4 commits
598
+ - remote: add struct repository parameter to external functions
599
+ - remote: remove the_repository->remote_state from static methods
600
+ - remote: use remote_state parameter internally
601
+ - remote: move static variables into per-repository struct
602
+
603
+ Code clean-up to eventually allow information on remotes defined
604
+ for an arbitrary repository to be read.
605
+
606
+ Expecting a reroll.
607
+
608
+ Breaks pushremote_get() and causes "git push" to segfault; there
609
+ might be other similar breakages.
610
+ cf. <xmqqtuhbo2tn.fsf@gitster.g>
611
+
612
+
613
+* jk/loosen-urlmatch (2021-10-12) 1 commit
614
+ (merged to 'next' on 2021-10-25 at f66ca39ebe)
615
+ + urlmatch: add underscore to URL_HOST_CHARS
616
+
617
+ Treat "_" as any other URL-valid characters in an URL when matching
618
+ the per-URL configuration variable names.
619
+
620
+ Will merge to 'master'.
621
+
622
+
623
+* ab/test-bail (2021-10-14) 2 commits
624
+ (merged to 'next' on 2021-10-23 at 4a16ebdb74)
625
+ + test-lib.sh: use "Bail out!" syntax on bad SANITIZE=leak use
626
+ + test-lib.sh: de-duplicate error() teardown code
627
+
628
+ A new feature has been added to abort early in the test framework.
629
+
630
+ Will merge to 'master'.
631
+
632
+
633
+* ab/config-based-hooks-2 (2021-10-20) 14 commits
634
+ - run-command: remove old run_hook_{le,ve}() hook API
635
+ - receive-pack: convert push-to-checkout hook to hook.h
636
+ - read-cache: convert post-index-change to use hook.h
637
+ - commit: convert {pre-commit,prepare-commit-msg} hook to hook.h
638
+ - git-p4: use 'git hook' to run hooks
639
+ - send-email: use 'git hook run' for 'sendemail-validate'
640
+ - git hook run: add an --ignore-missing flag
641
+ - merge: convert post-merge to use hook.h
642
+ - hooks: convert 'post-checkout' hook to hook library
643
+ - am: convert applypatch to use hook.h
644
+ - rebase: convert pre-rebase to use hook.h
645
+ - gc: use hook library for pre-auto-gc hook
646
+ - hook: add 'run' subcommand
647
+ - Merge branch 'ab/config-based-hooks-1' into ab/config-based-hooks-2
648
+
649
+ More "config-based hooks".
650
+
651
+
652
+* ab/ignore-replace-while-working-on-commit-graph (2021-10-15) 3 commits
653
+ (merged to 'next' on 2021-10-25 at 5ed4266a96)
654
+ + commit-graph: don't consider "replace" objects with "verify"
655
+ + commit-graph tests: fix another graph_git_two_modes() helper
656
+ + commit-graph tests: fix error-hiding graph_git_two_modes() helper
657
+ (this branch is used by gc/use-repo-settings.)
658
+
659
+ Teach "git commit-graph" command not to allow using replace objects
660
+ at all, as we do not use the commit-graph at runtime when we see
661
+ object replacement.
662
+
663
+ Will merge to 'master'.
664
562
- Originally merged to 'next' on 2021-08-05
665
564
- Long-overdue correctness and performance update to "diff
565
- --color-moved" feature.
666
+* so/stash-staged (2021-10-18) 1 commit
667
+ (merged to 'next' on 2021-10-25 at 68b88e35c4)
668
+ + stash: implement '--staged' option for 'push' and 'save'
669
567
- Expecting a reroll.
568
- cf. <8bec1a6d-5052-50c3-4100-e6348289d581@gmail.com>
670
+ "git stash" learned the "--staged" option to stash away what has
671
+ been added to the index (and nothing else).
672
673
+ Will merge to 'master'.
674
571
-* cf/fetch-set-upstream-while-detached (2021-07-06) 1 commit
572
- - fetch: fix segfault on --set-upstream while on a detached HEAD
675
574
- "git fetch --set-upstream" while on detached HEAD segfaulted
575
- instead of noticing that such an operation did not make sense.
676
+* vd/sparse-sparsity-fix-on-read (2021-10-21) 3 commits
677
+ - sparse-index: update do_read_index to ensure correct sparsity
678
+ - sparse-index: add ensure_correct_sparsity function
679
+ - test-read-cache.c: prepare_repo_settings after config init
680
577
- Expecting a reroll.
578
- cf. <xmqqsg0ri5mq.fsf@gitster.g>
681
+ Ensure that the sparseness of the in-core index matches the
682
+ index.sparse configuration specified by the repository immediately
683
+ after the on-disk index file is read.
684
580
---------------------------------------------------
581
-[Cooking]
685
583
-* ab/test-cleanly-recreate-trash-directory (2021-10-15) 1 commit
584
- (merged to 'next' on 2021-10-18 at 6fdb43973b)
585
- + test-lib.sh: try to re-chmod & retry on failed trash removal
686
+* jc/fix-ref-sorting-parse (2021-10-20) 2 commits
687
+ - for-each-ref: delay parsing of --sort=<atom> options
688
+ - Merge branch 'ab/ref-filter-leakfix' into jc/fix-ref-sorting-parse
689
+ (this branch uses ab/ref-filter-leakfix.)
690
587
- Improve test framework around unwritable directories.
691
+ Things like "git -c branch.sort=bogus branch new HEAD", i.e. the
692
+ operation modes of the "git branch" command that do not need the
693
+ sort key information, no longer errors out by seeing a bogus sort
694
+ key.
695
589
- Will merge to 'master'.
696
+ Will merge to 'next'.
697
698
592
-* da/mergetools-special-case-xxdiff-exit-128 (2021-10-13) 1 commit
593
- (merged to 'next' on 2021-10-18 at 0dd8a08c63)
594
- + mergetools/xxdiff: prevent segfaults from stopping difftool
699
+* jc/tutorial-format-patch-base (2021-10-23) 1 commit
700
+ - MyFirstContribution: teach to use "format-patch --base=auto"
701
596
- The xxdiff difftool backend can exit with status 128, which the
597
- difftool-helper that launches the backend takes as a significant
598
- failure, when it is not significant at all. Work it around.
702
+ Teach and encourage first-time contributors to this project to
703
+ state the base commit when they submit their topic.
704
600
- Will merge to 'master'.
705
+ Will merge to 'next'.
706
707
603
-* fs/ssh-signing-fix (2021-10-18) 5 commits
604
- (merged to 'next' on 2021-10-18 at 5ffa706433)
605
- + gpg-interface: fix leak of strbufs in get_ssh_key_fingerprint()
606
- + gpg-interface: fix leak of "line" in parse_ssh_output()
607
- (merged to 'next' on 2021-10-14 at 97735c6091)
608
- + ssh signing: clarify trustlevel usage in docs
609
- + ssh signing: fmt-merge-msg tests & config parse
610
- + Merge branch 'fs/ssh-signing' into fs/ssh-signing-fix
611
- (this branch uses fs/ssh-signing.)
708
+* jk/http-push-status-fix (2021-10-18) 2 commits
709
+ (merged to 'next' on 2021-10-23 at 9704ff261d)
710
+ + transport-helper: recognize "expecting report" error from send-pack
711
+ + send-pack: complain about "expecting report" with --helper-status
712
613
- Fix-up for the other topic already in 'next'.
713
+ "git push" client talking to an HTTP server did not diagnose the
714
+ lack of the final status report from the other side correctly,
715
+ which has been corrected.
716
717
Will merge to 'master'.
718
719
618
-* jc/doc-commit-header-continuation-line (2021-10-12) 1 commit
619
- (merged to 'next' on 2021-10-18 at 99b71c0aaf)
620
- + signature-format.txt: explain and illustrate multi-line headers
720
+* js/branch-track-inherit (2021-10-18) 1 commit
721
+ - branch: add flags and config to inherit tracking
722
622
- Doc update.
723
+ "git -c branch.autosetupmerge=inherit branch new old" makes "new"
724
+ to have the same upstream as the "old" branch, instead of marking
725
+ "old" itself as its upstream.
726
624
- Will merge to 'master'.
625
- cf. <87sfx1hnp4.fsf@trouble.defaultvalue.org>
727
+ Under discussion.
728
+ cf. <87a6j6tbsv.fsf@gmgdl.gmail.com>
729
730
731
* rb/doc-commit-header-continuation-line (2021-10-11) 1 commit
@@ -638,8 +741,32 @@ Release tarballs are available at:
741
Superseded by the jc/doc-commit-header-continuation-line topic.
742
743
641
-* jh/builtin-fsmonitor-part2 (2021-10-14) 5 commits
642
- - fsmonitor: update fsmonitor config documentation
744
+* jh/builtin-fsmonitor-part2 (2021-10-21) 29 commits
745
+ - t7527: test status with untracked-cache and fsmonitor--daemon
746
+ - fsmonitor: force update index after large responses
747
+ - fsmonitor--daemon: use a cookie file to sync with file system
748
+ - fsmonitor--daemon: periodically truncate list of modified files
749
+ - t/perf/p7519: add fsmonitor--daemon test cases
750
+ - t/perf/p7519: speed up test on Windows
751
+ - t/helper/test-chmtime: skip directories on Windows
752
+ - t/perf: avoid copying builtin fsmonitor files into test repo
753
+ - t7527: create test for fsmonitor--daemon
754
+ - t/helper/fsmonitor-client: create IPC client to talk to FSMonitor Daemon
755
+ - help: include fsmonitor--daemon feature flag in version info
756
+ - fsmonitor--daemon: implement handle_client callback
757
+ - compat/fsmonitor/fsm-listen-darwin: implement FSEvent listener on MacOS
758
+ - compat/fsmonitor/fsm-listen-darwin: add macos header files for FSEvent
759
+ - compat/fsmonitor/fsm-listen-win32: implement FSMonitor backend on Windows
760
+ - fsmonitor--daemon: create token-based changed path cache
761
+ - fsmonitor--daemon: define token-ids
762
+ - fsmonitor--daemon: add pathname classification
763
+ - fsmonitor--daemon: implement 'start' command
764
+ - fsmonitor--daemon: implement 'run' command
765
+ - compat/fsmonitor/fsm-listen-darwin: stub in backend for Darwin
766
+ - compat/fsmonitor/fsm-listen-win32: stub in backend for Windows
767
+ - fsmonitor--daemon: implement 'stop' and 'status' commands
768
+ - fsmonitor--daemon: add a built-in fsmonitor daemon
769
+ - fsmonitor: document builtin fsmonitor
770
- fsmonitor: use IPC to query the builtin FSMonitor daemon
771
- fsmonitor: config settings are repository-specific
772
- fsmonitor-ipc: create client routines for git-fsmonitor--daemon
@@ -647,8 +774,6 @@ Release tarballs are available at:
774
775
Built-in fsmonitor (part 2).
776
650
- Breaks check-docs lint.
651
-
777
778
* ld/sparse-diff-blame (2021-10-15) 3 commits
779
- blame: enable and test the sparse index
@@ -659,66 +784,6 @@ Release tarballs are available at:
784
Teach diff and blame to work well with sparse index.
785
786
662
-* ab/mark-leak-free-tests (2021-10-12) 10 commits
663
- (merged to 'next' on 2021-10-18 at c522807d5d)
664
- + leak tests: mark some misc tests as passing with SANITIZE=leak
665
- + leak tests: mark various "generic" tests as passing with SANITIZE=leak
666
- + leak tests: mark some read-tree tests as passing with SANITIZE=leak
667
- + leak tests: mark some ls-files tests as passing with SANITIZE=leak
668
- + leak tests: mark all checkout-index tests as passing with SANITIZE=leak
669
- + leak tests: mark all trace2 tests as passing with SANITIZE=leak
670
- + leak tests: mark all ls-tree tests as passing with SANITIZE=leak
671
- + leak tests: run various "test-tool" tests in t00*.sh SANITIZE=leak
672
- + leak tests: run various built-in tests in t00*.sh SANITIZE=leak
673
- + Merge branch 'ab/sanitize-leak-ci' into ab/mark-leak-free-tests
674
-
675
- Bunch of tests are marked as "passing leak check".
676
-
677
- Will merge to 'master'.
678
-
679
-
680
-* ab/mark-leak-free-tests-more (2021-10-07) 8 commits
681
- (merged to 'next' on 2021-10-18 at fe798f77b8)
682
- + merge: add missing strbuf_release()
683
- + ls-files: add missing string_list_clear()
684
- + ls-files: fix a trivial dir_clear() leak
685
- + tests: fix test-oid-array leak, test in SANITIZE=leak
686
- + tests: fix a memory leak in test-oidtree.c
687
- + tests: fix a memory leak in test-parse-options.c
688
- + tests: fix a memory leak in test-prio-queue.c
689
- + Merge branch 'ab/sanitize-leak-ci' into ab/mark-leak-free-tests-more
690
-
691
- Bunch of tests are marked as "passing leak check".
692
-
693
- Will merge to 'master'.
694
-
695
-
696
-* ab/unpack-trees-leakfix (2021-10-13) 4 commits
697
- (merged to 'next' on 2021-10-14 at bb54827704)
698
- + sequencer: fix a memory leak in do_reset()
699
- + sequencer: add a "goto cleanup" to do_reset()
700
- + unpack-trees: don't leak memory in verify_clean_subdirectory()
701
- + Merge branch 'ab/sanitize-leak-ci' into ab/unpack-trees-leakfix
702
-
703
- Leakfix.
704
-
705
- Will merge to 'master'.
706
-
707
-
708
-* js/userdiff-cpp (2021-10-10) 6 commits
709
- (merged to 'next' on 2021-10-18 at fea77f6c4e)
710
- + userdiff-cpp: learn the C++ spaceship operator
711
- + userdiff-cpp: permit the digit-separating single-quote in numbers
712
- + userdiff-cpp: prepare test cases with yet unsupported features
713
- + userdiff-cpp: tighten word regex
714
- + t4034: add tests showing problematic cpp tokenizations
715
- + t4034/cpp: actually test that operator tokens are not split
716
-
717
- Userdiff patterns for the C++ language has been updated.
718
-
719
- Will merge to 'master'.
720
-
721
-
787
* mp/absorb-submodule-git-dir-upon-deinit (2021-10-07) 1 commit
788
- submodule: absorb git dir instead of dying on deinit
789
@@ -756,27 +821,14 @@ Release tarballs are available at:
821
822
823
* ns/tmp-objdir (2021-10-04) 2 commits
759
- - tmp-objdir: disable ref updates when replacing the primary odb
760
- - tmp-objdir: new API for creating temporary writable databases
824
+ (merged to 'next' on 2021-10-23 at 358d376f61)
825
+ + tmp-objdir: disable ref updates when replacing the primary odb
826
+ + tmp-objdir: new API for creating temporary writable databases
827
(this branch is used by ns/batched-fsync and ns/remerge-diff.)
828
829
New interface into the tmp-objdir API to help in-core use of the
830
quarantine feature.
831
766
- Will merge to 'next'.
767
-
768
-
769
-* pw/sparse-cache-tree-verify-fix (2021-10-18) 2 commits
770
- (merged to 'next' on 2021-10-18 at 0186a643cc)
771
- + t1092: run "rebase --apply" without "-q" in testing
772
- (merged to 'next' on 2021-10-11 at 2f90c87850)
773
- + sparse index: fix use-after-free bug in cache_tree_verify()
774
-
775
- Recent sparse-index addition, namely any use of index_name_pos(),
776
- can expand sparse index entries and breaks any code that walks
777
- cache-tree or existing index entries. One such instance of such a
778
- breakage has been corrected.
779
-
832
Will merge to 'master'.
833
834
@@ -798,25 +850,17 @@ Release tarballs are available at:
850
851
852
* gc/use-repo-settings (2021-10-15) 4 commits
801
- - gc: perform incremental repack when implictly enabled
802
- - fsck: verify multi-pack-index when implictly enabled
803
- - fsck: verify commit graph when implicitly enabled
804
- - Merge branch 'ab/ignore-replace-while-working-on-commit-graph' into gc/use-repo-settings
853
+ (merged to 'next' on 2021-10-25 at 3d38c09a8d)
854
+ + gc: perform incremental repack when implictly enabled
855
+ + fsck: verify multi-pack-index when implictly enabled
856
+ + fsck: verify commit graph when implicitly enabled
857
+ + Merge branch 'ab/ignore-replace-while-working-on-commit-graph' into gc/use-repo-settings
858
(this branch uses ab/ignore-replace-while-working-on-commit-graph.)
859
860
It is wrong to read some settings directly from the config
861
subsystem, as things like feature.experimental can affect their
862
default values.
863
811
- Will merge to 'next'?
812
-
813
-
814
-* jh/perf-remove-test-times (2021-10-04) 1 commit
815
- (merged to 'next' on 2021-10-14 at 473a26166c)
816
- + t/perf/perf-lib.sh: remove test_times.* at the end test_perf_()
817
-
818
- Perf test fix.
819
-
864
Will merge to 'master'.
865
866
@@ -842,24 +886,6 @@ Release tarballs are available at:
886
protect the fixes.
887
888
845
-* ab/parse-options-cleanup (2021-10-08) 10 commits
846
- (merged to 'next' on 2021-10-18 at 305d339ad9)
847
- + parse-options: change OPT_{SHORT,UNSET} to an enum
848
- + parse-options tests: test optname() output
849
- + parse-options.[ch]: make opt{bug,name}() "static"
850
- + commit-graph: stop using optname()
851
- + parse-options.c: move optname() earlier in the file
852
- + parse-options.h: make the "flags" in "struct option" an enum
853
- + parse-options.c: use exhaustive "case" arms for "enum parse_opt_result"
854
- + parse-options.[ch]: consistently use "enum parse_opt_result"
855
- + parse-options.[ch]: consistently use "enum parse_opt_flags"
856
- + parse-options.h: move PARSE_OPT_SHELL_EVAL between enums
857
-
858
- Random changes to parse-options implementation.
859
-
860
- Will merge to 'master'.
861
-
862
-
889
* es/superproject-aware-submodules (2021-10-14) 4 commits
890
- submodule: record superproject gitdir during 'update'
891
- submodule: record superproject gitdir during absorbgitdirs
@@ -869,52 +895,8 @@ Release tarballs are available at:
895
A configuration variable in a submodule points at the location of
896
the superproject it is bound to (RFC).
897
872
- Will merge to 'next'?
873
-
874
-
875
-* ab/fsck-unexpected-type (2021-10-01) 17 commits
876
- (merged to 'next' on 2021-10-14 at 10edc78c9c)
877
- + fsck: report invalid object type-path combinations
878
- + fsck: don't hard die on invalid object types
879
- + object-file.c: stop dying in parse_loose_header()
880
- + object-file.c: return ULHR_TOO_LONG on "header too long"
881
- + object-file.c: use "enum" return type for unpack_loose_header()
882
- + object-file.c: simplify unpack_loose_short_header()
883
- + object-file.c: make parse_loose_header_extended() public
884
- + object-file.c: return -1, not "status" from unpack_loose_header()
885
- + object-file.c: don't set "typep" when returning non-zero
886
- + cat-file tests: test for current --allow-unknown-type behavior
887
- + cat-file tests: add corrupt loose object test
888
- + cat-file tests: test for missing/bogus object with -t, -s and -p
889
- + cat-file tests: move bogus_* variable declarations earlier
890
- + fsck tests: test for garbage appended to a loose object
891
- + fsck tests: test current hash/type mismatch behavior
892
- + fsck tests: refactor one test to use a sub-repo
893
- + fsck tests: add test for fsck-ing an unknown type
894
-
895
- "git fsck" has been taught to report mismatch between expected and
896
- actual types of an object better.
897
-
898
- Will merge to 'master'.
899
-
900
-
901
-* jt/no-abuse-alternate-odb-for-submodules (2021-10-08) 9 commits
902
- (merged to 'next' on 2021-10-14 at ae49a2ceda)
903
- + submodule: trace adding submodule ODB as alternate
904
- + submodule: pass repo to check_has_commit()
905
- + object-file: only register submodule ODB if needed
906
- + merge-{ort,recursive}: remove add_submodule_odb()
907
- + refs: peeling non-the_repository iterators is BUG
908
- + refs: teach arbitrary repo support to iterators
909
- + refs: plumb repo into ref stores
910
- + Merge branch 'jk/ref-paranoia' into jt/no-abuse-alternate-odb-for-submodules
911
- + Merge branch 'jt/add-submodule-odb-clean-up' into jt/no-abuse-alternate-odb-for-submodules
912
-
913
- Follow through the work to use the repo interface to access
914
- submodule objects in-process, instead of abusing the alternate
915
- object database interface.
916
-
917
- Will merge to 'master'.
898
+ Under discussion.
899
+ cf. <911ab2c1-8a11-d9d0-4b28-fc801112f6da@gmail.com>
900
901
902
* tp/send-email-completion (2021-10-07) 3 commits
@@ -930,42 +912,43 @@ Release tarballs are available at:
912
913
914
* hm/paint-hits-in-log-grep (2021-10-15) 4 commits
933
- - grep/pcre2: fix an edge case concerning ascii patterns and UTF-8 data
934
- - pretty: colorize pattern matches in commit messages
935
- - grep: refactor next_match() and match_one_pattern() for external use
936
- - Merge branch 'jk/grep-haystack-is-read-only' into hm/paint-hits-in-log-grep
915
+ (merged to 'next' on 2021-10-25 at e3edea3fa9)
916
+ + grep/pcre2: fix an edge case concerning ascii patterns and UTF-8 data
917
+ + pretty: colorize pattern matches in commit messages
918
+ + grep: refactor next_match() and match_one_pattern() for external use
919
+ + Merge branch 'jk/grep-haystack-is-read-only' into hm/paint-hits-in-log-grep
920
921
"git log --grep=string --author=name" learns to highlight hits just
922
like "git grep string" does.
923
941
- Will merge to 'next'?
942
- cf. <xmqq1r4vjji3.fsf@gitster.g>
924
+ Will merge to 'master'.
925
926
945
-* ks/submodule-add-message-fix (2021-09-20) 1 commit
946
- - submodule--helper: fix incorrect newlines in an error message
927
+* ks/submodule-add-message-fix (2021-10-23) 1 commit
928
+ (merged to 'next' on 2021-10-25 at 377e759528)
929
+ + submodule--helper: fix incorrect newlines in an error message
930
931
Message regression fix.
932
950
- Waiting for a response.
951
- cf. <m27df9lvm1.fsf@gmail.com>
933
+ Will merge to 'master'.
934
935
936
* ns/batched-fsync (2021-10-08) 8 commits
955
- - core.fsyncobjectfiles: performance tests for add and stash
956
- - core.fsyncobjectfiles: tests for batch mode
957
- - unpack-objects: use the bulk-checkin infrastructure
958
- - update-index: use the bulk-checkin infrastructure
959
- - core.fsyncobjectfiles: add windows support for batch mode
960
- - core.fsyncobjectfiles: batched disk flushes
961
- - bulk-checkin: rename 'state' variable and separate 'plugged' boolean
962
- - Merge branch 'ns/tmp-objdir' into ns/batched-fsync
937
+ (merged to 'next' on 2021-10-25 at e45c907d41)
938
+ + core.fsyncobjectfiles: performance tests for add and stash
939
+ + core.fsyncobjectfiles: tests for batch mode
940
+ + unpack-objects: use the bulk-checkin infrastructure
941
+ + update-index: use the bulk-checkin infrastructure
942
+ + core.fsyncobjectfiles: add windows support for batch mode
943
+ + core.fsyncobjectfiles: batched disk flushes
944
+ + bulk-checkin: rename 'state' variable and separate 'plugged' boolean
945
+ + Merge branch 'ns/tmp-objdir' into ns/batched-fsync
946
(this branch uses ns/tmp-objdir.)
947
948
The "core.fsyncobjectfiles" configuration variable can now be set
949
to "batch" for improved performance.
950
968
- Will merge to 'next'?
951
+ Will merge to 'master'.
952
953
954
* en/zdiff3 (2021-09-20) 2 commits
@@ -1031,7 +1014,7 @@ Release tarballs are available at:
1014
1015
The "remainder" of hn/refs-errno-cleanup topic.
1016
1034
- Will merge to 'next'?
1017
+ Will merge to 'next'.
1018
1019
1020
* ab/only-single-progress-at-once (2021-10-13) 10 commits
@@ -1048,25 +1031,8 @@ Release tarballs are available at:
1031
1032
Further tweaks on progress API.
1033
1051
- Will merge to 'next'?
1052
-
1053
-
1054
-* fs/ssh-signing (2021-09-10) 9 commits
1055
- (merged to 'next' on 2021-10-11 at b456b95672)
1056
- + ssh signing: test that gpg fails for unknown keys
1057
- + ssh signing: tests for logs, tags & push certs
1058
- + ssh signing: duplicate t7510 tests for commits
1059
- + ssh signing: verify signatures using ssh-keygen
1060
- + ssh signing: provide a textual signing_key_id
1061
- + ssh signing: retrieve a default key from ssh-agent
1062
- + ssh signing: add ssh key format and signing code
1063
- + ssh signing: add test prereqs
1064
- + ssh signing: preliminary refactoring and clean-up
1065
- (this branch is used by fs/ssh-signing-fix.)
1066
-
1067
- Use ssh public crypto for object and push-cert signing.
1068
-
1069
- Will merge to 'master'.
1034
+ Need to pick up an updated version.
1035
+ cf. <cover-v4-0.8-00000000000-20211025T111915Z-avarab@gmail.com>
1036
1037
1038
* hn/reftable (2021-10-08) 19 commits