What's cooking (2020/12 #01)
Junio C Hamano committed
Dec 8, 2020 at 17:30 UTC
06ab6b89be4c7657b863aa26faf240cac63ad7ef
1 file changed
+523
-298
whats-cooking.txt
+523
-298
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (Nov 2020, #06; Mon, 30)
4
-X-master-at: 72ffeb997eaf999f6938b2a7e0d9a75dcceaa311
5
-X-next-at: 1209160524d6229d60c3301df9152cf1aa58ff6d
3
+Subject: What's cooking in git.git (Dec 2020, #01; Tue, 8)
4
+X-master-at: 3cf59784d42c4152a0b3de7bb7a75d0071e5f878
5
+X-next-at: 45daf8777d6d4c556d92b12832a851643ba4ce40
6
7
-What's cooking in git.git (Nov 2020, #06; Mon, 30)
7
+What's cooking in git.git (Dec 2020, #01; Tue, 8)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking. Commits prefixed with '-' are
@@ -12,9 +12,17 @@ only in 'seen' (formerly 'pu'---proposed updates) while commits prefixed
12
with '+' are in 'next'. The ones marked with '.' do not appear in any of
13
the integration branches, but I am still holding onto them.
14
15
+So far, the master branch accumulated 140+ merges of topic branches
16
+containing 400+ single-parent commits. We are getting close to -rc0
17
+and it is likely we'd have to keep some topics on 'next', rather
18
+than rushing them to result in a broken release, during the feature
19
+freeze. We have a bit less than 50 topics in flight, including some
20
+stalled ones, and I expect that we can merge less than half of them
21
+before -rc0.
22
+
23
Copies of the source code to Git live in many repositories, and the
16
-following is a list of the ones I push into. Some repositories have
17
-only a subset of branches.
24
+following is a list of the ones I push into or their mirrors. Some
25
+repositories have only a subset of branches.
26
27
With maint, master, next, seen, todo:
28
@@ -22,6 +30,7 @@ With maint, master, next, seen, todo:
30
git://repo.or.cz/alt-git.git/
31
https://kernel.googlesource.com/pub/scm/git/git/
32
https://github.com/git/git/
33
+ https://gitlab.com/git-vcs/git/
34
35
With all the integration branches and topics broken out:
36
@@ -42,143 +51,487 @@ Release tarballs are available at:
51
--------------------------------------------------
52
[Graduated to 'master']
53
45
-* ab/gc-keep-base-option (2020-11-21) 2 commits
46
- (merged to 'next' on 2020-11-25 at ac76ddcfe7)
47
- + gc: rename keep_base_pack variable for --keep-largest-pack
48
- + gc docs: change --keep-base-pack to --keep-largest-pack
54
+* ab/retire-parse-remote (2020-11-24) 4 commits
55
+ (merged to 'next' on 2020-11-25 at 644484d7df)
56
+ + submodule: fix fetch_in_submodule logic
57
+ (merged to 'next' on 2020-11-18 at 80d4d8290c)
58
+ + parse-remote: remove this now-unused library
59
+ + submodule: remove sh function in favor of helper
60
+ + submodule: use "fetch" logic instead of custom remote discovery
61
50
- Fix an option name in "gc" documentation.
62
+ "git-parse-remote" shell script library outlived its usefulness.
63
64
53
-* hn/sleep-millisec-decl (2020-11-24) 1 commit
54
- (merged to 'next' on 2020-11-25 at d11de8b987)
55
- + move sleep_millisec to git-compat-util.h
65
+* ds/config-literal-value (2020-11-25) 8 commits
66
+ (merged to 'next' on 2020-12-02 at 5de40589fc)
67
+ + config doc: value-pattern is not necessarily a regexp
68
+ + config: implement --fixed-value with --get*
69
+ + config: plumb --fixed-value into config API
70
+ + config: add --fixed-value option, un-implemented
71
+ + t1300: add test for --replace-all with value-pattern
72
+ + t1300: test "set all" mode with value-pattern
73
+ + config: replace 'value_regex' with 'value_pattern'
74
+ + config: convert multi_replace to flags
75
+ (this branch is used by ds/maintenance-part-3.)
76
57
- Move a definition of compatibility wrapper from cache.h to
58
- git-compat-util.h
77
+ Various subcommands of "git config" that takes value_regex
78
+ learn the "--literal-value" option to take the value_regex option
79
+ as a literal string.
80
81
61
-* jc/do-not-just-explain-but-update-your-patch (2020-11-24) 1 commit
62
- (merged to 'next' on 2020-11-25 at 1f5235d4e1)
63
- + MyFirstContribition: answering questions is not the end of the story
82
+* ds/maintenance-part-1 (2020-12-02) 1 commit
83
+ (merged to 'next' on 2020-12-02 at b06515515d)
84
+ + Makefile: mark git-maintenance as a builtin
85
65
- Expectation for the original contributor after responding to a
66
- review comment to use the explanation in a patch update has been
67
- described.
86
+ Build consistency fix.
87
88
70
-* js/pull-rebase-use-advise (2020-11-19) 1 commit
71
- (merged to 'next' on 2020-11-25 at 05db775119)
72
- + pull: colorize the hint about setting `pull.rebase`
89
+* ds/maintenance-part-2 (2020-12-02) 1 commit
90
+ (merged to 'next' on 2020-12-02 at 6739aa076c)
91
+ + t7900: speed up expensive test
92
74
- UI improvement.
93
+ Test fix.
94
95
77
-* js/t1309-master-to-topic (2020-11-19) 1 commit
78
- (merged to 'next' on 2020-11-25 at 044da285ef)
79
- + t1309: use a neutral branch name in the `onbranch` test cases
96
+* ds/maintenance-part-3 (2020-11-25) 2 commits
97
+ (merged to 'next' on 2020-12-02 at ee65a83d28)
98
+ + maintenance: use 'git config --fixed-value'
99
+ + Merge branch 'ds/config-literal-value' into ds/maintenance-part-3
100
+ (this branch uses ds/config-literal-value.)
101
81
- Test preparation.
102
+ "git maintenance" command had trouble working in a directory whose
103
+ pathname contained an ERE metacharacter like '+'.
104
105
84
-* js/t2106-cleanup (2020-11-18) 3 commits
85
- (merged to 'next' on 2020-11-23 at b1bcd5d8b2)
86
- + t2106: ensure that the checkout fails for the expected reason
87
- + t2106: make test independent of the current main branch name
88
- + t2106: adjust style to the current conventions
106
+* fc/random-cleanup (2020-12-02) 6 commits
107
+ (merged to 'next' on 2020-12-02 at 3cfe693eb8)
108
+ + gitignore: remove entry for git serve
109
+ + gitignore: drop duplicate entry for git-sh-i18n
110
+ + tests: lib-functions: trivial style cleanups
111
+ + test: completion: fix typos
112
+ + .gitignore: remove dangling file
113
+ + refspec: trivial cleanup
114
90
- A test script got cleaned up and then made not to depend on the
91
- value of init.defaultBranch.
115
+ Random cleanup.
116
117
94
-* js/t3040-cleanup (2020-11-18) 1 commit
95
- (merged to 'next' on 2020-11-23 at 88951eae2f)
96
- + t3040: remove stale note
118
+* fc/zsh-completion (2020-12-01) 1 commit
119
+ (merged to 'next' on 2020-12-02 at 78b7286a26)
120
+ + completion: zsh: fix file completion regression
121
98
- Cleanup.
122
+ Hotfix for a recent breakage.
123
124
101
-* js/t3404-master-to-primary (2020-11-24) 1 commit
102
- (merged to 'next' on 2020-11-25 at c2959cc831)
103
- + t3404: do not depend on any specific default branch name
125
+* jk/banned (2020-12-02) 2 commits
126
+ (merged to 'next' on 2020-12-02 at 3be67a4909)
127
+ + banned.h: mark ctime_r() and asctime_r() as banned
128
+ + banned.h: mark non-reentrant gmtime, etc as banned
129
105
- A test script got cleaned up and then made not to depend on the
106
- value of init.defaultBranch.
130
+ Non-reentrant time-related library functions and ctime/asctime with
131
+ awkward calling interfaces are banned from the codebase.
132
133
109
-* js/t4015-wo-master (2020-11-19) 1 commit
110
- (merged to 'next' on 2020-11-23 at b85c36ffb4)
111
- + t4015: let the test pass with any default branch name
134
+* jk/stop-pack-objects-when-fetch-is-killed (2020-12-01) 1 commit
135
+ (merged to 'next' on 2020-12-02 at 9e8b8e4b81)
136
+ + upload-pack: kill pack-objects helper on signal or exit
137
113
- A test script got cleaned up not to depend on the value of
114
- init.defaultBranch.
138
+ "git fetch" that is killed may leave a pack-objects process behind,
139
+ still computing to find a good compression, wasting cycles. This
140
+ has been corrected.
141
142
117
-* km/stash-error-message-fix (2020-11-24) 1 commit
118
- (merged to 'next' on 2020-11-25 at 9ef82d6aa7)
119
- + stash: add missing space to an error message
143
+* jk/stop-pack-objects-when-push-is-killed (2020-11-21) 1 commit
144
+ (merged to 'next' on 2020-11-25 at f73fb999cd)
145
+ + send-pack: kill pack-objects helper on signal or exit
146
121
- Error message fix.
147
+ "git push" that is killed may leave a pack-objects process behind,
148
+ still computing to find a good compression, wasting cycles. This
149
+ has been corrected.
150
151
124
-* mt/worktree-error-message-fix (2020-11-21) 1 commit
125
- (merged to 'next' on 2020-11-25 at bc887168ff)
126
- + worktree: fix order of arguments in error message
152
+* js/add-i-color-fix (2020-11-16) 11 commits
153
+ (merged to 'next' on 2020-11-30 at 5cb8202cd4)
154
+ + add -i: verify in the tests that colors can be overridden
155
+ + add -p: prefer color.diff.context over color.diff.plain
156
+ + add -i (Perl version): color header to match the C version
157
+ + add -i (built-in): use the same indentation as the Perl version
158
+ + add -p (built-in): do not color the progress indicator separately
159
+ + add -i (built-in): use correct names to load color.diff.* config
160
+ + add -i (built-in): prevent the `reset` "color" from being configured
161
+ + add -i: use `reset_color` consistently
162
+ + add -p (built-in): imitate `xdl_format_hunk_hdr()` generating hunk headers
163
+ + add -i (built-in): send error messages to stderr
164
+ + add -i (built-in): do show an error message for incorrect inputs
165
128
- Fix formulation of an error message with two placeholders in "git
129
- worktree add" subcommand.
166
+ "git add -i" failed to honor custom colors configured to show
167
+ patches, which has been corrected.
168
+ cf. <20201117015149.GC19433@coredump.intra.peff.net>
169
170
132
-* na/notes-displayref-is-not-boolean (2020-11-23) 2 commits
133
- (merged to 'next' on 2020-11-25 at b0dda46b56)
134
- + t3301: test proper exit response to no-value notes.displayRef.
135
- + notes.c: fix a segfault in notes_display_config()
171
+* js/trace2-session-id (2020-11-11) 11 commits
172
+ (merged to 'next' on 2020-12-02 at b6229e069f)
173
+ + receive-pack: log received client session ID
174
+ + send-pack: advertise session ID in capabilities
175
+ + upload-pack, serve: log received client session ID
176
+ + fetch-pack: advertise session ID in capabilities
177
+ + transport: log received server session ID
178
+ + serve: advertise session ID in v2 capabilities
179
+ + receive-pack: advertise session ID in v0 capabilities
180
+ + upload-pack: advertise session ID in v0 capabilities
181
+ + trace2: add a public function for getting the SID
182
+ + docs: new transfer.advertiseSID option
183
+ + docs: new capability to advertise session IDs
184
137
- Config parser fix for "git notes".
185
+ The transport layer was taught to optionally exchange the session
186
+ ID assigned by the trace2 subsystem during fetch/push transactions.
187
188
140
-* sa/credential-store-timeout (2020-11-25) 1 commit
141
- (merged to 'next' on 2020-11-25 at 7a9a4b68fd)
142
- + crendential-store: use timeout when locking file
189
+* jt/trace-error-on-warning (2020-11-24) 1 commit
190
+ (merged to 'next' on 2020-11-30 at 1ab8a970f8)
191
+ + usage: add trace2 entry upon warning()
192
144
- Multiple "credential-store" backends can race to lock the same
145
- file, causing everybody else but one to fail---reattempt locking
146
- with some timeout to reduce the rate of the failure.
193
+ Like die() and error(), a call to warning() will also trigger a
194
+ trace2 event.
195
+
196
+
197
+* ma/grep-init-default (2020-11-30) 4 commits
198
+ (merged to 'next' on 2020-12-02 at 6240fa114e)
199
+ + MyFirstObjectWalk: drop `init_walken_defaults()`
200
+ + grep: copy struct in one fell swoop
201
+ + grep: use designated initializers for `grep_defaults`
202
+ + grep: don't set up a "default" repo for grep
203
+
204
+ Code clean-up.
205
+
206
+
207
+* mt/do-not-use-scld-in-working-tree (2020-12-02) 1 commit
208
+ (merged to 'next' on 2020-12-02 at c1c0a6c31e)
209
+ + apply: don't use core.sharedRepository to create working tree files
210
+
211
+ "git apply" adjusted the permission bits of working-tree files and
212
+ directories according core.sharedRepository setting by mistake and
213
+ for a long time, which has been corrected.
214
148
---------------------------------------------------
149
-[New Topics]
215
216
* nk/perf-fsmonitor-cleanup (2020-11-30) 1 commit
152
- - perf/fsmonitor: use test_must_be_empty helper
217
+ (merged to 'next' on 2020-12-02 at 3096e954be)
218
+ + perf/fsmonitor: use test_must_be_empty helper
219
220
Test clean-up.
221
156
- Will merge to 'next'.
222
+
223
+* nm/imap-send-use-default-config (2020-12-01) 1 commit
224
+ (merged to 'next' on 2020-12-02 at 08f4f483b2)
225
+ + imap-send: parse default git config
226
+
227
+ "git imap-send" used to ignore configuration variables like
228
+ core.askpass; this has been corrected.
229
+
230
+
231
+* pb/pull-rebase-recurse-submodules (2020-11-16) 4 commits
232
+ (merged to 'next' on 2020-11-25 at 9837b50d7f)
233
+ + pull: check for local submodule modifications with the right range
234
+ + t5572: describe '--rebase' tests a little more
235
+ + t5572: add notes on a peculiar test
236
+ + pull --rebase: compute rebase arguments in separate function
237
+
238
+ "git pull --rebase --recurse-submodules" checked for local changes
239
+ in a wrong range and failed to run correctly when it should.
240
+
241
+
242
+* pk/subsub-fetch-fix (2020-12-02) 1 commit
243
+ (merged to 'next' on 2020-12-02 at b15a3da5d8)
244
+ + Revert "submodules: fix of regression on fetching of non-init subsub-repo"
245
+
246
+ An earlier attempt to fix "git fetch --recurse-submodules" broke
247
+ another use case; revert it until a better fix is found.
248
+
249
+
250
+* ps/update-ref-multi-transaction (2020-11-16) 4 commits
251
+ (merged to 'next' on 2020-11-30 at c1c3e23374)
252
+ + update-ref: disallow "start" for ongoing transactions
253
+ + p1400: use `git-update-ref --stdin` to test multiple transactions
254
+ + update-ref: allow creation of multiple transactions
255
+ + t1400: avoid touching refs on filesystem
256
+
257
+ "git update-ref --stdin" learns to take multiple transactions in a
258
+ single session.
259
260
261
* rs/fetch-pack-invalid-lockfile (2020-11-30) 1 commit
160
- - fetch-pack: disregard invalid pack lockfiles
262
+ (merged to 'next' on 2020-12-02 at 39356747b4)
263
+ + fetch-pack: disregard invalid pack lockfiles
264
265
"fetch-pack" could pass NULL pointer to unlink(2) when it sees an
266
invalid filename; the error checking has been tightened to make
267
this impossible.
268
166
- Will merge to 'next'.
167
-
269
270
* rs/maintenance-run-outside-repo (2020-11-30) 1 commit
170
- - maintenance: fix SEGFAULT when no repository
271
+ (merged to 'next' on 2020-12-02 at ccfbe5991d)
272
+ + maintenance: fix SEGFAULT when no repository
273
274
"git maintenance run/start/stop" needed to be run in a repository
275
to hold the lockfile they use, but didn't make sure they are
276
actually in a repository, which has been corrected.
277
278
+
279
+* sn/config-doc-typofix (2020-12-01) 1 commit
280
+ (merged to 'next' on 2020-12-02 at 2d62912243)
281
+ + config.txt: fix a typo (backslash != backquote)
282
+
283
+ Fix for an old typo.
284
+
285
+
286
+* tb/bugreport-no-localtime (2020-12-01) 1 commit
287
+ (merged to 'next' on 2020-12-02 at ca245d2b01)
288
+ + builtin/bugreport.c: use thread-safe localtime_r()
289
+
290
+ Use of non-reentrant localtime() has been removed.
291
+
292
+
293
+* tb/idx-midx-race-fix (2020-11-25) 2 commits
294
+ (merged to 'next' on 2020-11-30 at 493ded178e)
295
+ + midx.c: protect against disappearing packs
296
+ + packfile.c: protect against disappearing indexes
297
+
298
+ Processes that access packdata while the .idx file gets removed
299
+ (e.g. while repacking) did not fail or fall back gracefully as they
300
+ could.
301
+
302
+
303
+* tb/repack-simplify (2020-11-17) 3 commits
304
+ (merged to 'next' on 2020-11-25 at 79a98f2403)
305
+ + builtin/repack.c: don't move existing packs out of the way
306
+ + builtin/repack.c: keep track of what pack-objects wrote
307
+ + repack: make "exts" array available outside cmd_repack()
308
+
309
+ Simplify the logic to deal with a repack operation that ended up
310
+ creating the same packfile.
311
+
312
+--------------------------------------------------
313
+[New Topics]
314
+
315
+* ab/mktag (2020-12-01) 10 commits
316
+ - mktag doc: update to explain why to use this
317
+ - mktag: use fsck instead of custom verify_tag()
318
+ - fsck: add new "extra" checks for "mktag"
319
+ - mktag tests: improve verify_object() test coverage
320
+ - mktag tests: remove needless SHA-1 hardcoding
321
+ - mktag tests: don't needlessly use a subshell
322
+ - mktag: remove redundant braces in one-line body "if"
323
+ - mktag: reword write_object_file() error
324
+ - mktag: use default strbuf_read() hint
325
+ - mktag doc: say <hash> not <sha1>
326
+
327
+ "git mktag" validates its input using its own rules before writing
328
+ a tag object---it has been updated to share the logic with "git
329
+ fsck".
330
+
331
+ Expecting a reroll.
332
+
333
+
334
+* so/glossary-branch-is-not-necessarily-active (2020-12-02) 1 commit
335
+ (merged to 'next' on 2020-12-08 at 01805f8ab6)
336
+ + glossary: improve "branch" definition
337
+
338
+ The glossary described a branch as an "active" line of development,
339
+ which is misleading---a stale and non-moving branch is still a
340
+ branch.
341
+
342
+ Will merge to 'master'.
343
+
344
+
345
+* ae/doc-reproducible-html (2020-12-02) 1 commit
346
+ (merged to 'next' on 2020-12-08 at 263232f371)
347
+ + doc: make HTML manual reproducible
348
+
349
+ Newer versions of xsltproc can assign IDs in HTML documents it
350
+ generates in a consistent manner. Use the feature to help format
351
+ HTML version of the user manual reproducibly.
352
+
353
+ Will merge to 'master'.
354
+
355
+
356
+* ab/trailers-extra-format (2020-12-07) 5 commits
357
+ - pretty format %(trailers): add a "key_value_separator"
358
+ - pretty format %(trailers): add a "keyonly"
359
+ - pretty-format %(trailers): fix broken standalone "valueonly"
360
+ - pretty format %(trailers) doc: avoid repetition
361
+ - pretty format %(trailers) test: split a long line
362
+
363
+ The "--format=%(trailers)" mechanism gets enhanced to make it
364
+ easier to design output for machine consumption.
365
+
366
+
367
+* da/vs-build-iconv-fix (2020-12-04) 1 commit
368
+ (merged to 'next' on 2020-12-08 at 4c6c5054a3)
369
+ + ci(vs-build): stop passing the iconv library location explicitly
370
+
371
+ Build update.
372
+
373
+ Will merge to 'master'.
374
+
375
+
376
+* en/diffcore-rename (2020-12-07) 5 commits
377
+ - diffcore-rename: simplify and accelerate register_rename_src()
378
+ - diffcore-rename: reduce jumpiness in progress counters
379
+ - diffcore-rename: rename num_create to num_targets
380
+ - diffcore-rename: remove unnecessary if-clause
381
+ - diffcore-rename: avoid usage of global in too_many_rename_candidates()
382
+
383
+ File-level rename detection updates.
384
+
385
+ Needs review.
386
+
387
+
388
+* en/merge-ort-2 (2020-12-08) 7 commits
389
+ - merge-ort: add modify/delete handling and delayed output processing
390
+ - merge-ort: add die-not-implemented stub handle_content_merge() function
391
+ - merge-ort: add function grouping comments
392
+ - merge-ort: add a paths_to_free field to merge_options_internal
393
+ - merge-ort: add a path_conflict field to merge_options_internal
394
+ - merge-ort: add a clear_internal_opts helper
395
+ - merge-ort: add a few includes
396
+ (this branch uses en/merge-ort-impl.)
397
+
398
+ More "ORT" merge strategy.
399
+
400
+ Needs review.
401
+
402
+
403
+* fc/pull-merge-rebase (2020-12-08) 19 commits
404
+ - future: pull: enable ff-only mode by default
405
+ - pull: advice of future changes
406
+ - pull: add pull.mode=ff-only
407
+ - pull: add pull.mode
408
+ - pull: trivial memory fix
409
+ - test: pull-options: revert unnecessary changes
410
+ - test: merge-pull-config: trivial cleanup
411
+ - pull: move configurations fetches
412
+ - rebase: add REBASE_DEFAULT
413
+ - pull: show warning with --ff
414
+ - pull: introduce --merge option
415
+ - pull: trivial whitespace style fix
416
+ - pull: display default warning only when non-ff
417
+ - pull: move default warning
418
+ - pull: trivial cleanup
419
+ - pull: cleanup autostash check
420
+ - pull: refactor fast-forward check
421
+ - pull: improve default warning
422
+ - doc: pull: explain what is a fast-forward
423
+
424
+ When a user does not tell "git pull" to use rebase or merge, the
425
+ command gives a loud message telling a user to choose between
426
+ rebase or merge but creates a merge anyway, forcing users who would
427
+ want to rebase to redo the operation. Fix this by (1) tightening
428
+ the condition to give the message---there is no reason to stop or
429
+ force the user to choose between rebase or merge if the history
430
+ fast-forwards, and (2) failing the operation when the history does
431
+ not fast-forward, instead of making a merge, in such a case.
432
+
433
+
434
+* jk/check-config-parsing-error-in-upload-pack (2020-12-03) 1 commit
435
+ (merged to 'next' on 2020-12-08 at b618c7d956)
436
+ + upload-pack: propagate return value from object filter config callback
437
+
438
+ Tighten error checking in the codepath that responds to "git fetch".
439
+
440
+ Will merge to 'master'.
441
+
442
+
443
+* jk/multi-line-indent-style-fix (2020-12-03) 1 commit
444
+ (merged to 'next' on 2020-12-08 at e6d1026437)
445
+ + style: indent multiline "if" conditions to align
446
+
447
+ Style fix.
448
+
449
+ Will merge to 'master'.
450
+
451
+
452
+* jk/oid-array-cleanup (2020-12-07) 9 commits
453
+ - commit-graph: use size_t for array allocation and indexing
454
+ - commit-graph: replace packed_oid_list with oid_array
455
+ - commit-graph: drop count_distinct_commits() function
456
+ - oid-array: provide a for-loop iterator
457
+ - oid-array: make sort function public
458
+ - cache.h: move hash/oid functions to hash.h
459
+ - t0064: make duplicate tests more robust
460
+ - t0064: drop sha1 mention from filename
461
+ - oid-array.h: drop sha1 mention from header guard
462
+
463
+ Code clean-up.
464
+
465
+ Will merge to 'next'.
466
+
467
+
468
+* js/cmake-extra-built-ins-fix (2020-12-04) 1 commit
469
+ (merged to 'next' on 2020-12-08 at f29945cb35)
470
+ + cmake: determine list of extra built-ins dynamically
471
+
472
+ VSbuild fix.
473
+
474
+ Will merge to 'master'.
475
+
476
+
477
+* js/t5526-with-no-particular-primary-branch-name (2020-12-04) 2 commits
478
+ (merged to 'next' on 2020-12-08 at b16af9417c)
479
+ + t5526: drop the prereq expecting the default branch name `main`
480
+ + t5526: avoid depending on a specific default branch name
481
+
482
+ Test update.
483
+
484
+ Will merge to 'master'.
485
+
486
+
487
+* js/t6300-hardcode-main (2020-12-07) 1 commit
488
+ - t6300: avoid using the default name of the initial branch
489
+
490
+ Test update.
491
+
492
+ Will merge to 'next'.
493
+
494
+
495
+* js/t7064-master-to-initial (2020-12-08) 1 commit
496
+ - t7064: avoid relying on a specific default branch name
497
+
498
+ Test update.
499
+
500
+ Will merge to 'next'.
501
+
502
+
503
+* pk/subsub-fetch-fix-take-2 (2020-12-08) 1 commit
504
+ - submodules: fix of regression on fetching of non-init subsub-repo
505
+
506
+ "git fetch --recurse-submodules" fix.
507
+
508
+
509
+* rj/make-clean (2020-12-08) 5 commits
510
+ - Makefile: don't use a versioned temp distribution directory
511
+ - Makefile: don't try to clean old debian build product
512
+ - gitweb/Makefile: conditionally include ../GIT-VERSION-FILE
513
+ - Documentation/Makefile: conditionally include ../GIT-VERSION-FILE
514
+ - Documentation/Makefile: conditionally include doc.dep
515
+
516
+ Build optimization.
517
+
518
+ Will merge to 'next'.
519
+
520
+
521
+* tb/partial-clone-filters-fix (2020-12-03) 2 commits
522
+ - upload-pack.c: don't free allowed_filters util pointers
523
+ - builtin/clone.c: don't ignore transport_fetch_refs() errors
524
+
525
+ Fix potential server side resource deallocation issues when
526
+ responding to a partial clone request.
527
+
528
Will merge to 'next'.
529
530
--------------------------------------------------
531
[Stalled]
532
181
-* mt/grep-sparse-checkout (2020-09-10) 9 commits
533
+* mt/grep-sparse-checkout (2020-12-06) 10 commits
534
+ - t7817: do not depend on any specific default branch name
535
- config: add setting to ignore sparsity patterns in some cmds
536
- grep: honor sparse checkout patterns
537
- config: correctly read worktree configs in submodules
@@ -194,7 +547,7 @@ Release tarballs are available at:
547
paths.
548
549
197
-* mt/rm-sparse-checkout (2020-11-16) 1 commit
550
+* mt/rm-sparse-checkout (2020-12-08) 1 commit
551
- rm: honor sparse checkout patterns
552
(this branch uses mt/grep-sparse-checkout.)
553
@@ -229,11 +582,37 @@ Release tarballs are available at:
582
probably is with potential consequences that is more/less grave?
583
584
232
-* es/config-hooks (2020-10-16) 8 commits
585
+* es/config-hooks (2020-12-07) 34 commits
586
+ - run-command: stop thinking about hooks
587
+ - receive-pack: convert receive hooks to hook.h
588
+ - post-update: use hook.h library
589
+ - proc-receive: acquire hook list from hook.h
590
+ - receive-pack: convert 'update' hook to hook.h
591
+ - reference-transaction: look for hooks in config
592
+ - transport: convert pre-push hook to use config
593
+ - hook: convert 'post-rewrite' hook to config
594
+ - hooks: convert 'post-checkout' hook to hook library
595
+ - git-p4: use 'git hook' to run hooks
596
+ - receive-pack: convert push-to-checkout hook to hook.h
597
+ - read-cache: convert post-index-change hook to use config
598
+ - rebase: teach pre-rebase to use hook.h
599
+ - gc: use hook library for pre-auto-gc hook
600
+ - merge: use config-based hooks for post-merge hook
601
+ - am: convert applypatch hooks to use config
602
+ - commit: use config-based hooks
603
+ - hooks: allow callers to capture output
604
+ - run-command: allow capturing of collated output
605
+ - hook: provide stdin by string_list or callback
606
+ - run-command: add stdin callback for parallelization
607
+ - hook: allow specifying working directory for hooks
608
+ - hook: allow parallel hook execution
609
+ - run-command: allow stdin for run_processes_parallel
610
+ - hook: support passing stdin to hooks
611
- hook: replace find_hook() with hook_exists()
612
- hook: add 'run' subcommand
613
- parse-options: parse into strvec
614
- hook: implement hookcmd.<name>.skip
615
+ - hook: respect hook.runHookDir
616
- hook: include hookdir hook in list
617
- hook: add list command
618
- hook: scaffolding for git-hook subcommand
@@ -241,6 +620,8 @@ Release tarballs are available at:
620
621
The "hooks defined in config" topic.
622
623
+ Seems to break some tests in 'seen'.
624
+
625
626
* hn/reftable (2020-10-01) 13 commits
627
. reftable: "test-tool dump-reftable" command.
@@ -466,9 +847,9 @@ Release tarballs are available at:
847
Needs review.
848
849
469
-* en/merge-ort-impl (2020-11-11) 21 commits
850
+* en/merge-ort-impl (2020-12-06) 21 commits
851
- merge-ort: free data structures in merge_finalize()
471
- - merge-ort: add implementation of record_unmerged_index_entries()
852
+ - merge-ort: add implementation of record_conflicted_index_entries()
853
- tree: enable cmp_cache_name_compare() to be used elsewhere
854
- merge-ort: add implementation of checkout()
855
- merge-ort: basic outline for merge_switch_to_result()
@@ -488,50 +869,55 @@ Release tarballs are available at:
869
- merge-ort: add some high-level algorithm structure
870
- merge-ort: setup basic internal data structures
871
- Merge branch 'en/strmap' into en/merge-ort-impl
872
+ (this branch is used by en/merge-ort-2.)
873
+
874
+ Needs review.
875
+
876
+
877
+* ag/merge-strategies-in-c (2020-11-24) 13 commits
878
+ - sequencer: use the "octopus" merge strategy without forking
879
+ - sequencer: use the "resolve" strategy without forking
880
+ - merge: use the "octopus" strategy without forking
881
+ - merge: use the "resolve" strategy without forking
882
+ - merge-octopus: rewrite in C
883
+ - merge-recursive: move better_branch_name() to merge.c
884
+ - merge-resolve: rewrite in C
885
+ - merge-index: don't fork if the requested program is `git-merge-one-file'
886
+ - merge-index: libify merge_one_path() and merge_all()
887
+ - merge-one-file: rewrite in C
888
+ - update-index: move add_cacheinfo() to read-cache.c
889
+ - t6060: modify multiple files to expose a possible issue with merge-index
890
+ - t6407: modernise tests
891
+
892
+ The resolve and octopus merge strategy backends have been rewritten
893
+ in C.
894
895
Needs review.
493
- A reroll exists.
494
- cf. <pull.923.git.git.1606635803.gitgitgadget@gmail.com>
896
897
--------------------------------------------------
898
[Cooking]
899
499
-* en/stash-apply-sparse-checkout (2020-11-21) 3 commits
900
+* en/stash-apply-sparse-checkout (2020-12-01) 3 commits
901
- stash: fix stash application in sparse-checkouts
902
- stash: remove unnecessary process forking
903
- t7012: add a testcase demonstrating stash apply bugs in sparse checkouts
904
504
-
505
-* jk/stop-pack-objects-when-push-is-killed (2020-11-21) 1 commit
506
- (merged to 'next' on 2020-11-25 at f73fb999cd)
507
- + send-pack: kill pack-objects helper on signal or exit
508
-
509
- Receiving "git push" that is killed may leave zombie pack-objects
510
- process behind, which has been corrected.
511
-
512
- Will merge to 'master'.
513
-
514
-
515
-* ma/grep-init-default (2020-11-30) 4 commits
516
- - MyFirstObjectWalk: drop `init_walken_defaults()`
517
- - grep: copy struct in one fell swoop
518
- - grep: use designated initializers for `grep_defaults`
519
- - grep: don't set up a "default" repo for grep
520
-
521
- Code clean-up.
522
-
523
- Will merge to 'next'.
905
+ "git stash" did not work well in a sparsely checked out working
906
+ tree.
907
908
909
* fc/atmark-in-refspec (2020-11-30) 3 commits
527
- - refspec: make @ a synonym of HEAD
528
- - tests: push: trivial cleanup
529
- - tests: push: improve cleanup of HEAD tests
910
+ (merged to 'next' on 2020-12-08 at bfded23c1c)
911
+ + refspec: make @ a synonym of HEAD
912
+ + tests: push: trivial cleanup
913
+ + tests: push: improve cleanup of HEAD tests
914
915
"@" sometimes worked (e.g. "git push origin @:there") as a part of
532
- a refspec element, but "git push orign @" did not work, which has
916
+ a refspec element, but "git push origin @" did not work, which has
917
been corrected.
918
919
+ Will merge to 'master'.
920
+
921
922
* js/init-defaultbranch-advice (2020-11-24) 4 commits
923
- init: provide useful advice about init.defaultBranch
@@ -542,52 +928,30 @@ Release tarballs are available at:
928
Our users are going to be trained to prepare for future change of
929
init.defaultBranch configuration variable.
930
545
-
546
-* jt/trace-error-on-warning (2020-11-24) 1 commit
547
- (merged to 'next' on 2020-11-30 at 1ab8a970f8)
548
- + usage: add trace2 entry upon warning()
549
-
550
- Like die() and error(), a call to warning() will also trigger a
551
- trace2 event.
552
-
553
- Will merge to 'master'.
931
+ Expecting a reroll.
932
+ cf. <xmqq8saqjx2n.fsf@gitster.c.googlers.com>
933
+ I think a new advice.defaultBranchName is a bad idea.
934
935
556
-* ps/config-env-pairs (2020-11-24) 2 commits
936
+* ps/config-env-pairs (2020-12-01) 4 commits
937
- config: allow specifying config entries via envvar pairs
938
+ - config: refactor parsing of GIT_CONFIG_PARAMETERS
939
- config: extract function to parse config pairs
940
+ - environment: make `getenv_safe()` non-static
941
942
Introduce a way to feed configuration variable-value pairs via
943
environment variables.
944
563
- Getting there.
564
- cf. <X74CigYS7AUtMo9Q@tanuki>
565
-
566
-
567
-* tb/idx-midx-race-fix (2020-11-25) 2 commits
568
- (merged to 'next' on 2020-11-30 at 493ded178e)
569
- + midx.c: protect against disappearing packs
570
- + packfile.c: protect against disappearing indexes
571
-
572
- Processes that access packdata while the .idx file gets removed
573
- (e.g. while repacking) did not fail or fall back gracefully as they
574
- could.
575
-
576
- Will merge to 'master'.
577
-
578
-
579
-* rs/stop-pack-objects-when-fetch-is-killed (2020-11-25) 1 commit
580
- - upload-pack: kill pack-objects helper on signal or exit
581
-
582
- "git upload-pack" that is killed may leave zombie pack-objects
583
- process behind, which has been corrected.
945
+ Will discard.
946
+ I am leaning toward dropping this new feature. The review
947
+ discussion seems to me that we are not convinced that this is
948
+ better than the suggested --config-env approach.
949
+ cf. <20201125224737.GK389879@camp.crustytoothpaste.net>
950
585
- Needs to be replaced with signed-off and/or improved version.
951
587
-
588
-* tb/pack-bitmap (2020-11-21) 24 commits
952
+* tb/pack-bitmap (2020-12-08) 24 commits
953
- pack-bitmap-write: better reuse bitmaps
590
- - pack-bitmap-write: relax unique rewalk condition
954
+ - pack-bitmap-write: relax unique revwalk condition
955
- pack-bitmap-write: use existing bitmaps
956
- pack-bitmap: factor out 'add_commit_to_bitmap()'
957
- pack-bitmap: factor out 'bitmap_for_commit()'
@@ -597,7 +961,7 @@ Release tarballs are available at:
961
- pack-bitmap-write: rename children to reverse_edges
962
- t5310: add branch-based checks
963
- commit: implement commit_list_contains()
600
- - bitmap: add bitmap_diff_nonzero()
964
+ - bitmap: implement bitmap_is_subset()
965
- pack-bitmap-write: fill bitmap with commit history
966
- pack-bitmap-write: pass ownership of intermediate bitmaps
967
- pack-bitmap-write: reimplement bitmap writing
@@ -609,54 +973,16 @@ Release tarballs are available at:
973
- t5310: drop size of truncated ewah bitmap
974
- pack-bitmap: bounds-check size of cache extension
975
- pack-bitmap: fix header size check
612
- - ewah/ewah_bitmap.c: grow buffer past 1
976
+ - ewah/ewah_bitmap.c: avoid open-coding ALLOC_GROW()
977
978
Various improvement to the codepath that writes out pack bitmaps.
979
616
- Needs a bit of reshuffling?
617
- cf. <X7xzWClGr3bM3wcg@coredump.intra.peff.net>
618
-
619
-
620
-* ab/retire-parse-remote (2020-11-24) 4 commits
621
- (merged to 'next' on 2020-11-25 at 644484d7df)
622
- + submodule: fix fetch_in_submodule logic
623
- (merged to 'next' on 2020-11-18 at 80d4d8290c)
624
- + parse-remote: remove this now-unused library
625
- + submodule: remove sh function in favor of helper
626
- + submodule: use "fetch" logic instead of custom remote discovery
627
-
628
- "git-parse-remote" shell script library outlived its usefulness.
629
-
630
- Will merge to 'master'.
631
-
632
-
633
-* pb/pull-rebase-recurse-submodules (2020-11-16) 4 commits
634
- (merged to 'next' on 2020-11-25 at 9837b50d7f)
635
- + pull: check for local submodule modifications with the right range
636
- + t5572: describe '--rebase' tests a little more
637
- + t5572: add notes on a peculiar test
638
- + pull --rebase: compute rebase arguments in separate function
639
-
640
- "git pull --rebase --recurse-submodules" checked for local changes
641
- in a wrong range and failed to run correctly when it should.
642
-
643
- Will merge to 'master'.
644
-
645
-
646
-* tb/repack-simplify (2020-11-17) 3 commits
647
- (merged to 'next' on 2020-11-25 at 79a98f2403)
648
- + builtin/repack.c: don't move existing packs out of the way
649
- + builtin/repack.c: keep track of what pack-objects wrote
650
- + repack: make "exts" array available outside cmd_repack()
651
-
652
- Simplify the logic to deal with a repack operation that ended up
653
- creating the same packfile.
654
-
655
- Will merge to 'master'.
980
+ Will merge to 'next'?
981
982
983
* dd/help-autocorrect-never (2020-11-25) 1 commit
659
- - help.c: help.autocorrect=never means "do not compute suggestions"
984
+ (merged to 'next' on 2020-12-08 at f1531ab641)
985
+ + help.c: help.autocorrect=never means "do not compute suggestions"
986
987
"git $cmd $args", when $cmd is not a recognised subcommand, by
988
default tries to see if $cmd is a typo of an existing subcommand
@@ -666,8 +992,7 @@ Release tarballs are available at:
992
to find a likely typo, by setting the configuration variable to
993
'never'.
994
669
- Getting there.
670
- cf. <xmqqft4xdubq.fsf_-_@gitster.c.googlers.com>
995
+ Will merge to 'master'.
996
997
998
* js/default-branch-name-tests-final-stretch (2020-11-19) 29 commits
@@ -705,110 +1030,9 @@ Release tarballs are available at:
1030
"git init" creates.
1031
1032
708
-* ds/config-literal-value (2020-11-25) 8 commits
709
- - config doc: value-pattern is not necessarily a regexp
710
- - config: implement --fixed-value with --get*
711
- - config: plumb --fixed-value into config API
712
- - config: add --fixed-value option, un-implemented
713
- - t1300: add test for --replace-all with value-pattern
714
- - t1300: test "set all" mode with value-pattern
715
- - config: replace 'value_regex' with 'value_pattern'
716
- - config: convert multi_replace to flags
717
- (this branch is used by ds/maintenance-part-3.)
718
-
719
- Various subcommands of "git config" that takes value_regex
720
- learn the "--literal-value" option to take the value_regex option
721
- as a literal string.
722
-
723
- Expecting a (hopefully final) reroll.
724
-
725
-
726
-* ds/maintenance-part-3 (2020-11-25) 2 commits
727
- - maintenance: use 'git config --fixed-value'
728
- - Merge branch 'ds/config-literal-value' into ds/maintenance-part-3
729
- (this branch uses ds/config-literal-value.)
730
-
731
- "git maintenance" command had trouble working in a directory whose
732
- pathname contained an ERE metacharacter like '+'.
733
-
734
- Blocked by ds/config-literal-value.
735
-
736
-
737
-* ag/merge-strategies-in-c (2020-11-24) 13 commits
738
- - sequencer: use the "octopus" merge strategy without forking
739
- - sequencer: use the "resolve" strategy without forking
740
- - merge: use the "octopus" strategy without forking
741
- - merge: use the "resolve" strategy without forking
742
- - merge-octopus: rewrite in C
743
- - merge-recursive: move better_branch_name() to merge.c
744
- - merge-resolve: rewrite in C
745
- - merge-index: don't fork if the requested program is `git-merge-one-file'
746
- - merge-index: libify merge_one_path() and merge_all()
747
- - merge-one-file: rewrite in C
748
- - update-index: move add_cacheinfo() to read-cache.c
749
- - t6060: modify multiple files to expose a possible issue with merge-index
750
- - t6407: modernise tests
751
-
752
- The resolve and octopus merge strategy backends have been rewritten
753
- in C.
754
-
755
- Needs review.
756
-
757
-
758
-* ps/update-ref-multi-transaction (2020-11-16) 4 commits
759
- (merged to 'next' on 2020-11-30 at c1c3e23374)
760
- + update-ref: disallow "start" for ongoing transactions
761
- + p1400: use `git-update-ref --stdin` to test multiple transactions
762
- + update-ref: allow creation of multiple transactions
763
- + t1400: avoid touching refs on filesystem
764
-
765
- "git update-ref --stdin" learns to take multiple transactions in a
766
- single session.
767
-
768
- Will merge to 'master'.
769
-
770
-
771
-* js/add-i-color-fix (2020-11-16) 11 commits
772
- (merged to 'next' on 2020-11-30 at 5cb8202cd4)
773
- + add -i: verify in the tests that colors can be overridden
774
- + add -p: prefer color.diff.context over color.diff.plain
775
- + add -i (Perl version): color header to match the C version
776
- + add -i (built-in): use the same indentation as the Perl version
777
- + add -p (built-in): do not color the progress indicator separately
778
- + add -i (built-in): use correct names to load color.diff.* config
779
- + add -i (built-in): prevent the `reset` "color" from being configured
780
- + add -i: use `reset_color` consistently
781
- + add -p (built-in): imitate `xdl_format_hunk_hdr()` generating hunk headers
782
- + add -i (built-in): send error messages to stderr
783
- + add -i (built-in): do show an error message for incorrect inputs
784
-
785
- "git add -i" failed to honor custom colors configured to show
786
- patches, which has been corrected.
787
-
788
- Will merge to 'master'.
789
- cf. <20201117015149.GC19433@coredump.intra.peff.net>
790
-
791
-
792
-* js/trace2-session-id (2020-11-11) 11 commits
793
- - receive-pack: log received client session ID
794
- - send-pack: advertise session ID in capabilities
795
- - upload-pack, serve: log received client session ID
796
- - fetch-pack: advertise session ID in capabilities
797
- - transport: log received server session ID
798
- - serve: advertise session ID in v2 capabilities
799
- - receive-pack: advertise session ID in v0 capabilities
800
- - upload-pack: advertise session ID in v0 capabilities
801
- - trace2: add a public function for getting the SID
802
- - docs: new transfer.advertiseSID option
803
- - docs: new capability to advertise session IDs
804
-
805
- The transport layer was taught to optionally exchange the session
806
- ID assigned by the trace2 subsystem during fetch/push transactions.
807
-
808
- Will merge to 'next'.
809
-
810
-
811
-* ds/maintenance-part-4 (2020-11-24) 4 commits
1033
+* ds/maintenance-part-4 (2020-12-01) 6 commits
1034
+ - t7900: make macOS-specific test work on Windows
1035
+ - t7900: fix test failures when invoked individually via --run
1036
- maintenance: use Windows scheduled tasks
1037
- maintenance: use launchctl on macOS
1038
- maintenance: include 'cron' details in docs
@@ -818,8 +1042,11 @@ Release tarballs are available at:
1042
maintenance tasks to support platforms whose native scheduling
1043
methods are not 'cron'.
1044
1045
+ Almost there.
1046
+ cf. <CAPig+cQ6vZzbb36t5Kn=NM9wXC8i1MpcGXfK=QwnNRoTQsQP0A@mail.gmail.com>
1047
822
-* sj/untracked-files-in-submodule-directory-is-not-dirty (2020-10-26) 1 commit
1048
+
1049
+* sj/untracked-files-in-submodule-directory-is-not-dirty (2020-12-08) 1 commit
1050
- diff: do not show submodule with untracked files as "-dirty"
1051
1052
"git diff" showed a submodule working tree with untracked cruft as
@@ -828,8 +1055,6 @@ Release tarballs are available at:
1055
which does not consider having untracked files in the working tree
1056
as source of dirtiness. The inconsistency has been fixed.
1057
831
- Needs doc update and also adjusting "git status".
832
-
1058
1059
* ak/corrected-commit-date (2020-10-08) 10 commits
1060
- doc: add corrected commit date info