What's cooking (2020/12 #02)
... as of 2.30-rc0
Junio C Hamano committed
Dec 14, 2020 at 11:28 UTC
32af5571f1841d138c786b68d4ec8c6a07752540
1 file changed
+356
-580
whats-cooking.txt
+356
-580
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (Dec 2020, #01; Tue, 8)
4
-X-master-at: 3cf59784d42c4152a0b3de7bb7a75d0071e5f878
5
-X-next-at: 45daf8777d6d4c556d92b12832a851643ba4ce40
3
+Subject: What's cooking in git.git (Dec 2020, #02; Mon, 14)
4
+X-master-at: 1c52ecf4ba0f4f7af72775695fee653f50737c71
5
+X-next-at: 06539567b223ae3441fad75ce47b72db03708628
6
7
-What's cooking in git.git (Dec 2020, #01; Tue, 8)
7
+What's cooking in git.git (Dec 2020, #02; Mon, 14)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking. Commits prefixed with '-' are
@@ -12,13 +12,10 @@ 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.
15
+A preview release 2.30-rc0 has been tagged; there are too many
16
+topics in flight, sadly many of which haven't been adequately
17
+reviewed. I wish we had half the number of topics that had been
18
+reviewed twice as better, but such is life.
19
20
Copies of the source code to Git live in many repositories, and the
21
following is a list of the ones I push into or their mirrors. Some
@@ -51,297 +48,6 @@ Release tarballs are available at:
48
--------------------------------------------------
49
[Graduated to 'master']
50
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
-
62
- "git-parse-remote" shell script library outlived its usefulness.
63
-
64
-
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
-
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
-
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
-
86
- Build consistency fix.
87
-
88
-
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
-
93
- Test fix.
94
-
95
-
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
-
102
- "git maintenance" command had trouble working in a directory whose
103
- pathname contained an ERE metacharacter like '+'.
104
-
105
-
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
-
115
- Random cleanup.
116
-
117
-
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
-
122
- Hotfix for a recent breakage.
123
-
124
-
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
-
130
- Non-reentrant time-related library functions and ctime/asctime with
131
- awkward calling interfaces are banned from the codebase.
132
-
133
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
185
- The transport layer was taught to optionally exchange the session
186
- ID assigned by the trace2 subsystem during fetch/push transactions.
187
-
188
-
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
-
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
-
215
-
216
-* nk/perf-fsmonitor-cleanup (2020-11-30) 1 commit
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
-
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
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
-
269
-
270
-* rs/maintenance-run-outside-repo (2020-11-30) 1 commit
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
-
51
* ae/doc-reproducible-html (2020-12-02) 1 commit
52
(merged to 'next' on 2020-12-08 at 263232f371)
53
+ doc: make HTML manual reproducible
@@ -350,19 +56,6 @@ Release tarballs are available at:
56
generates in a consistent manner. Use the feature to help format
57
HTML version of the user manual reproducibly.
58
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
-
59
60
* da/vs-build-iconv-fix (2020-12-04) 1 commit
61
(merged to 'next' on 2020-12-08 at 4c6c5054a3)
@@ -370,65 +63,29 @@ Release tarballs are available at:
63
64
Build update.
65
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.
66
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.
67
+* dd/help-autocorrect-never (2020-11-25) 1 commit
68
+ (merged to 'next' on 2020-12-08 at f1531ab641)
69
+ + help.c: help.autocorrect=never means "do not compute suggestions"
70
400
- Needs review.
71
+ "git $cmd $args", when $cmd is not a recognised subcommand, by
72
+ default tries to see if $cmd is a typo of an existing subcommand
73
+ and optionally executes the corrected command if there is only one
74
+ possibility, depending on the setting of help.autocorrect; the
75
+ users can now disable the whole thing, including the cycles spent
76
+ to find a likely typo, by setting the configuration variable to
77
+ 'never'.
78
79
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
80
+* fc/atmark-in-refspec (2020-11-30) 3 commits
81
+ (merged to 'next' on 2020-12-08 at bfded23c1c)
82
+ + refspec: make @ a synonym of HEAD
83
+ + tests: push: trivial cleanup
84
+ + tests: push: improve cleanup of HEAD tests
85
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.
86
+ "@" sometimes worked (e.g. "git push origin @:there") as a part of
87
+ a refspec element, but "git push origin @" did not work, which has
88
+ been corrected.
89
90
91
* jk/check-config-parsing-error-in-upload-pack (2020-12-03) 1 commit
@@ -437,8 +94,6 @@ Release tarballs are available at:
94
95
Tighten error checking in the codepath that responds to "git fetch".
96
440
- Will merge to 'master'.
441
-
97
98
* jk/multi-line-indent-style-fix (2020-12-03) 1 commit
99
(merged to 'next' on 2020-12-08 at e6d1026437)
@@ -446,24 +101,6 @@ Release tarballs are available at:
101
102
Style fix.
103
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
-
104
105
* js/cmake-extra-built-ins-fix (2020-12-04) 1 commit
106
(merged to 'next' on 2020-12-08 at f29945cb35)
@@ -471,8 +108,6 @@ Release tarballs are available at:
108
109
VSbuild fix.
110
474
- Will merge to 'master'.
475
-
111
112
* js/t5526-with-no-particular-primary-branch-name (2020-12-04) 2 commits
113
(merged to 'next' on 2020-12-08 at b16af9417c)
@@ -481,55 +116,109 @@ Release tarballs are available at:
116
117
Test update.
118
484
- Will merge to 'master'.
119
120
+* so/glossary-branch-is-not-necessarily-active (2020-12-02) 1 commit
121
+ (merged to 'next' on 2020-12-08 at 01805f8ab6)
122
+ + glossary: improve "branch" definition
123
487
-* js/t6300-hardcode-main (2020-12-07) 1 commit
488
- - t6300: avoid using the default name of the initial branch
124
+ The glossary described a branch as an "active" line of development,
125
+ which is misleading---a stale and non-moving branch is still a
126
+ branch.
127
490
- Test update.
128
+--------------------------------------------------
129
+[New Topics]
130
492
- Will merge to 'next'.
131
+* en/merge-ort-3 (2020-12-14) 11 commits
132
+ - merge-ort: add implementation of type-changed rename handling
133
+ - merge-ort: add implementation of normal rename handling
134
+ - merge-ort: add implementation of rename/delete conflicts
135
+ - merge-ort: add implementation of rename collisions
136
+ - merge-ort: add implementation of both sides renaming differently
137
+ - merge-ort: add implementation of both sides renaming identically
138
+ - merge-ort: add basic outline for process_renames()
139
+ - merge-ort: implement compare_pairs() and collect_renames()
140
+ - merge-ort: implement detect_regular_renames()
141
+ - merge-ort: add initial outline for basic rename detection
142
+ - merge-ort: add basic data structures for handling renames
143
+ (this branch uses en/merge-ort-2 and en/merge-ort-impl.)
144
145
+ Rename detection is added to the "ORT" merge strategy.
146
495
-* js/t7064-master-to-initial (2020-12-08) 1 commit
496
- - t7064: avoid relying on a specific default branch name
147
498
- Test update.
148
+* jk/disambiguate-equal-in-config-param (2020-12-09) 3 commits
149
+ - config: store "git -c" variables using more robust format
150
+ - config: parse more robust format in GIT_CONFIG_PARAMETERS
151
+ - quote: make sq_dequote_step() a public function
152
+ (this branch uses ps/config-env-pairs.)
153
500
- Will merge to 'next'.
154
+ The quoting rules used to pass "git -c var=val" configuration
155
+ across processes have been updated in a backward compatible way, so
156
+ that the value read from an environment variable can contain an
157
+ equal sign when using the "git --config-env var=env" feature.
158
159
+ We may want to make this just a part of the ps/config-env-pairs
160
+ topic with a bit of patch shuffling.
161
503
-* pk/subsub-fetch-fix-take-2 (2020-12-08) 1 commit
504
- - submodules: fix of regression on fetching of non-init subsub-repo
162
506
- "git fetch --recurse-submodules" fix.
163
+* js/t7900-protect-pwd-in-config-get (2020-12-09) 1 commit
164
+ (merged to 'next' on 2020-12-14 at 61ff5e9b5b)
165
+ + t7900: use --fixed-value in git-maintenance tests
166
167
+ Hotfix for test breakage.
168
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
169
+ Will merge to 'master'.
170
516
- Build optimization.
171
518
- Will merge to 'next'.
172
+* bc/hashed-mailmap (2020-12-12) 1 commit
173
+ - mailmap: support hashed entries in mailmaps
174
175
+ The mailmap database learned to take hashed value as the original
176
+ side of mapping.
177
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
178
+ Expecting a reroll.
179
525
- Fix potential server side resource deallocation issues when
526
- responding to a partial clone request.
180
528
- Will merge to 'next'.
181
+* jb/midx-doc-update (2020-12-14) 1 commit
182
+ (merged to 'next' on 2020-12-14 at 880b50e89d)
183
+ + docs: multi-pack-index: remove note about future 'verify' work
184
+
185
+ Doc update.
186
+
187
+ Will merge to 'next' and to 'master'.
188
+
189
+
190
+* jh/index-v2-doc-on-fsmn (2020-12-14) 1 commit
191
+ (merged to 'next' on 2020-12-14 at bd3507ccc8)
192
+ + index-format.txt: document v2 format of file system monitor extension
193
+
194
+ Doc update.
195
+
196
+ Will merge to 'next' and to 'master'.
197
198
--------------------------------------------------
199
[Stalled]
200
201
+* ak/corrected-commit-date (2020-10-08) 10 commits
202
+ - doc: add corrected commit date info
203
+ - commit-reach: use corrected commit dates in paint_down_to_common()
204
+ - commit-graph: use generation v2 only if entire chain does
205
+ - commit-graph: implement generation data chunk
206
+ - commit-graph: implement corrected commit date
207
+ - commit-graph: add a slab to store topological levels
208
+ - commit-graph: return 64-bit generation number
209
+ - commit-graph: consolidate fill_commit_graph_info
210
+ - revision: parse parent in indegree_walk_step()
211
+ - commit-graph: fix regression when computing Bloom filters
212
+
213
+ The commit-graph learned to use corrected commit dates instead of
214
+ the generation number to help topological revision traversal.
215
+
216
+ Getting there.
217
+ cf. <85y2jiqq3c.fsf@gmail.com>
218
+ cf. <685afed6-f01f-5d22-80d4-00fdc11caf0a@gmail.com>
219
+ cf. <20201103053629.GA13228@Abhishek-Arch>
220
+
221
+
222
* mt/grep-sparse-checkout (2020-12-06) 10 commits
223
- t7817: do not depend on any specific default branch name
224
- config: add setting to ignore sparsity patterns in some cmds
@@ -582,70 +271,6 @@ Release tarballs are available at:
271
probably is with potential consequences that is more/less grave?
272
273
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
619
- - doc: propose hooks managed by the config
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.
628
- . reftable: rest of library
629
- . reftable: file level tests
630
- . reftable: read reftable files
631
- . reftable: write reftable files
632
- . reftable: a generic binary tree implementation
633
- . reftable: reading/writing blocks
634
- . reftable: (de)serialization for the polymorphic record type.
635
- . reftable: utility functions
636
- . reftable: add a barebones unittest framework
637
- . vcxproj: adjust for the reftable changes
638
- . reftable: define the public API
639
- . reftable: add LICENSE
640
-
641
- The reftable backend for the refs API.
642
-
643
- Expecting a reroll.
644
- Seems not to build for Windows folks.
645
- cf. <nycvar.QRO.7.76.6.2010021555290.50@tvgsbejvaqbjf.bet>
646
- cf. <nycvar.QRO.7.76.6.2010021557570.50@tvgsbejvaqbjf.bet>
647
-
648
-
274
* sm/curl-retry (2020-10-13) 3 commits
275
- http: automatically retry some requests
276
- replace CURLOPT_FILE With CURLOPT_WRITEDATA
@@ -687,14 +312,6 @@ Release tarballs are available at:
312
Expecting a reroll. The intent is very good.
313
314
690
-* bc/rev-parse-path-format (2020-10-09) 2 commits
691
- - rev-parse: add option for absolute or relative path formatting
692
- - abspath: add a function to resolve paths with missing components
693
-
694
- "git rev-parse" can be explicitly told to give output as absolute
695
- or relative path.
696
-
697
-
315
* ar/fetch-transfer-ipversion (2020-09-16) 1 commit
316
- config: option transfer.ipversion to set transport protocol version for network fetches
317
@@ -813,6 +430,29 @@ Release tarballs are available at:
430
Needs review.
431
432
433
+* ag/merge-strategies-in-c (2020-11-24) 13 commits
434
+ - sequencer: use the "octopus" merge strategy without forking
435
+ - sequencer: use the "resolve" strategy without forking
436
+ - merge: use the "octopus" strategy without forking
437
+ - merge: use the "resolve" strategy without forking
438
+ - merge-octopus: rewrite in C
439
+ - merge-recursive: move better_branch_name() to merge.c
440
+ - merge-resolve: rewrite in C
441
+ - merge-index: don't fork if the requested program is `git-merge-one-file'
442
+ - merge-index: libify merge_one_path() and merge_all()
443
+ - merge-one-file: rewrite in C
444
+ - update-index: move add_cacheinfo() to read-cache.c
445
+ - t6060: modify multiple files to expose a possible issue with merge-index
446
+ - t6407: modernise tests
447
+
448
+ The resolve and octopus merge strategy backends have been rewritten
449
+ in C.
450
+
451
+ Needs review.
452
+
453
+--------------------------------------------------
454
+[Cooking]
455
+
456
* so/log-diff-merge (2020-11-09) 27 commits
457
- doc/git-show: include --diff-merges description
458
- doc/rev-list-options: document --first-parent implies --diff-merges=first-parent
@@ -844,10 +484,18 @@ Release tarballs are available at:
484
485
"git log" learned a new "--diff-merges=<how>" option.
486
847
- Needs review.
487
+ Expecting a reroll.
488
+
489
+
490
+* bc/rev-parse-path-format (2020-12-12) 2 commits
491
+ - rev-parse: add option for absolute or relative path formatting
492
+ - abspath: add a function to resolve paths with missing components
493
494
+ "git rev-parse" can be explicitly told to give output as absolute
495
+ or relative path.
496
850
-* en/merge-ort-impl (2020-12-06) 21 commits
497
+
498
+* en/merge-ort-impl (2020-12-13) 21 commits
499
- merge-ort: free data structures in merge_finalize()
500
- merge-ort: add implementation of record_conflicted_index_entries()
501
- tree: enable cmp_cache_name_compare() to be used elsewhere
@@ -869,33 +517,220 @@ Release tarballs are available at:
517
- merge-ort: add some high-level algorithm structure
518
- merge-ort: setup basic internal data structures
519
- Merge branch 'en/strmap' into en/merge-ort-impl
872
- (this branch is used by en/merge-ort-2.)
520
+ (this branch is used by en/merge-ort-2 and en/merge-ort-3.)
521
874
- Needs review.
522
+ The merge backend "done right" starts to emerge.
523
524
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
525
+* es/config-hooks (2020-12-07) 34 commits
526
+ . run-command: stop thinking about hooks
527
+ . receive-pack: convert receive hooks to hook.h
528
+ . post-update: use hook.h library
529
+ . proc-receive: acquire hook list from hook.h
530
+ . receive-pack: convert 'update' hook to hook.h
531
+ . reference-transaction: look for hooks in config
532
+ . transport: convert pre-push hook to use config
533
+ . hook: convert 'post-rewrite' hook to config
534
+ . hooks: convert 'post-checkout' hook to hook library
535
+ . git-p4: use 'git hook' to run hooks
536
+ . receive-pack: convert push-to-checkout hook to hook.h
537
+ . read-cache: convert post-index-change hook to use config
538
+ . rebase: teach pre-rebase to use hook.h
539
+ . gc: use hook library for pre-auto-gc hook
540
+ . merge: use config-based hooks for post-merge hook
541
+ . am: convert applypatch hooks to use config
542
+ . commit: use config-based hooks
543
+ . hooks: allow callers to capture output
544
+ . run-command: allow capturing of collated output
545
+ . hook: provide stdin by string_list or callback
546
+ . run-command: add stdin callback for parallelization
547
+ . hook: allow specifying working directory for hooks
548
+ . hook: allow parallel hook execution
549
+ . run-command: allow stdin for run_processes_parallel
550
+ . hook: support passing stdin to hooks
551
+ . hook: replace find_hook() with hook_exists()
552
+ . hook: add 'run' subcommand
553
+ . parse-options: parse into strvec
554
+ . hook: implement hookcmd.<name>.skip
555
+ . hook: respect hook.runHookDir
556
+ . hook: include hookdir hook in list
557
+ . hook: add list command
558
+ . hook: scaffolding for git-hook subcommand
559
+ . doc: propose hooks managed by the config
560
892
- The resolve and octopus merge strategy backends have been rewritten
893
- in C.
561
+ The "hooks defined in config" topic.
562
895
- Needs review.
563
+ Ejected for now, as it has been breaking the tip of 'seen' for too
564
+ long.
565
+
566
+
567
+* hn/reftable (2020-12-09) 15 commits
568
+ . Add "test-tool dump-reftable" command.
569
+ . git-prompt: prepare for reftable refs backend
570
+ . Reftable support for git-core
571
+ . reftable: rest of library
572
+ . reftable: reftable file level tests
573
+ . reftable: read reftable files
574
+ . reftable: write reftable files
575
+ . reftable: a generic binary tree implementation
576
+ . reftable: reading/writing blocks
577
+ . reftable: (de)serialization for the polymorphic record type.
578
+ . reftable: add blocksource, an abstraction for random access reads
579
+ . reftable: utility functions
580
+ . reftable: add error related functionality
581
+ . reftable: add LICENSE
582
+ . init-db: set the_repository->hash_algo early on
583
+
584
+ The "reftable" backend for the refs API.
585
+
586
+
587
+* ab/mktag (2020-12-09) 11 commits
588
+ - SQUASH???
589
+ - mktag: allow turning off fsck.extraHeaderEntry
590
+ - fsck: make fsck_config() re-usable
591
+ - mktag doc: update to explain why to use this
592
+ - mktag: use fsck instead of custom verify_tag()
593
+ - mktag tests: improve verify_object() test coverage
594
+ - mktag tests: remove needless SHA-1 hardcoding
595
+ - mktag tests: don't needlessly use a subshell
596
+ - mktag: remove redundant braces in one-line body "if"
597
+ - mktag: use default strbuf_read() hint
598
+ - mktag doc: say <hash> not <sha1>
599
+
600
+ "git mktag" validates its input using its own rules before writing
601
+ a tag object---it has been updated to share the logic with "git
602
+ fsck".
603
+
604
+ Expecting a reroll, but it seems getting closer.
605
+
606
+
607
+* ab/trailers-extra-format (2020-12-09) 5 commits
608
+ (merged to 'next' on 2020-12-14 at 9fc731944e)
609
+ + pretty format %(trailers): add a "key_value_separator"
610
+ + pretty format %(trailers): add a "keyonly"
611
+ + pretty-format %(trailers): fix broken standalone "valueonly"
612
+ + pretty format %(trailers) doc: avoid repetition
613
+ + pretty format %(trailers) test: split a long line
614
+
615
+ The "--format=%(trailers)" mechanism gets enhanced to make it
616
+ easier to design output for machine consumption.
617
+
618
+ Will cook in 'next'.
619
+
620
+
621
+* en/diffcore-rename (2020-12-14) 9 commits
622
+ - diffcore-rename: remove unneccessary duplicate entry checks
623
+ - diffcore-rename: accelerate rename_dst setup
624
+ - diffcore-rename: simplify and accelerate register_rename_src()
625
+ - t4058: explore duplicate tree entry handling in a bit more detail
626
+ - t4058: add more tests and documentation for duplicate tree entry handling
627
+ - diffcore-rename: reduce jumpiness in progress counters
628
+ - diffcore-rename: simplify limit check
629
+ - diffcore-rename: avoid usage of global in too_many_rename_candidates()
630
+ - diffcore-rename: rename num_create to num_destinations
631
+
632
+ File-level rename detection updates.
633
+
634
+
635
+* en/merge-ort-2 (2020-12-13) 7 commits
636
+ - merge-ort: add modify/delete handling and delayed output processing
637
+ - merge-ort: add die-not-implemented stub handle_content_merge() function
638
+ - merge-ort: add function grouping comments
639
+ - merge-ort: add a paths_to_free field to merge_options_internal
640
+ - merge-ort: add a path_conflict field to merge_options_internal
641
+ - merge-ort: add a clear_internal_opts helper
642
+ - merge-ort: add a few includes
643
+ (this branch is used by en/merge-ort-3; uses en/merge-ort-impl.)
644
+
645
+ More "ORT" merge strategy.
646
+
647
+ Looking good.
648
+ cf. <2ea0aab8-934f-3eaa-e3d0-9ae35a278748@gmail.com>
649
+
650
+
651
+* fc/pull-merge-rebase (2020-12-14) 5 commits
652
+ - pull: display default warning only when non-ff
653
+ - pull: correct condition to trigger non-ff advice
654
+ - pull: get rid of unnecessary global variable
655
+ - pull: give the advice for choosing rebase/merge much later
656
+ - pull: refactor fast-forward check
657
+
658
+ When a user does not tell "git pull" to use rebase or merge, the
659
+ command gives a loud message telling a user to choose between
660
+ rebase or merge but creates a merge anyway, forcing users who would
661
+ want to rebase to redo the operation. Fix an early part of this
662
+ problem by tightening the condition to give the message---there is
663
+ no reason to stop or force the user to choose between rebase or
664
+ merge if the history fast-forwards.
665
+
666
+
667
+* jk/oid-array-cleanup (2020-12-07) 9 commits
668
+ (merged to 'next' on 2020-12-14 at 362f6f2618)
669
+ + commit-graph: use size_t for array allocation and indexing
670
+ + commit-graph: replace packed_oid_list with oid_array
671
+ + commit-graph: drop count_distinct_commits() function
672
+ + oid-array: provide a for-loop iterator
673
+ + oid-array: make sort function public
674
+ + cache.h: move hash/oid functions to hash.h
675
+ + t0064: make duplicate tests more robust
676
+ + t0064: drop sha1 mention from filename
677
+ + oid-array.h: drop sha1 mention from header guard
678
+
679
+ Code clean-up.
680
+
681
+ Will merge to 'master'.
682
+
683
+
684
+* js/t6300-hardcode-main (2020-12-07) 1 commit
685
+ (merged to 'next' on 2020-12-14 at 4eed7c6a8b)
686
+ + t6300: avoid using the default name of the initial branch
687
+
688
+ Test update.
689
+
690
+ Will merge to 'master'.
691
+
692
+
693
+* js/t7064-master-to-initial (2020-12-08) 1 commit
694
+ (merged to 'next' on 2020-12-14 at b75529f792)
695
+ + t7064: avoid relying on a specific default branch name
696
+
697
+ Test update.
698
+
699
+ Will merge to 'master'.
700
+
701
+
702
+* pk/subsub-fetch-fix-take-2 (2020-12-09) 1 commit
703
+ (merged to 'next' on 2020-12-14 at ccc01a5f66)
704
+ + submodules: fix of regression on fetching of non-init subsub-repo
705
+
706
+ "git fetch --recurse-submodules" fix (second attempt).
707
+
708
+ Will cook in 'next'.
709
+
710
+
711
+* rj/make-clean (2020-12-08) 5 commits
712
+ (merged to 'next' on 2020-12-14 at 767b1398d7)
713
+ + Makefile: don't use a versioned temp distribution directory
714
+ + Makefile: don't try to clean old debian build product
715
+ + gitweb/Makefile: conditionally include ../GIT-VERSION-FILE
716
+ + Documentation/Makefile: conditionally include ../GIT-VERSION-FILE
717
+ + Documentation/Makefile: conditionally include doc.dep
718
+
719
+ Build optimization.
720
+
721
+ Will merge to 'master'.
722
+
723
+
724
+* tb/partial-clone-filters-fix (2020-12-03) 2 commits
725
+ (merged to 'next' on 2020-12-14 at d44e5942da)
726
+ + upload-pack.c: don't free allowed_filters util pointers
727
+ + builtin/clone.c: don't ignore transport_fetch_refs() errors
728
+
729
+ Fix potential server side resource deallocation issues when
730
+ responding to a partial clone request.
731
+
732
+ Will merge to 'master'.
733
897
---------------------------------------------------
898
-[Cooking]
734
735
* en/stash-apply-sparse-checkout (2020-12-01) 3 commits
736
- stash: fix stash application in sparse-checkouts
@@ -906,20 +741,7 @@ Release tarballs are available at:
741
tree.
742
743
909
-* fc/atmark-in-refspec (2020-11-30) 3 commits
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
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
744
+* js/init-defaultbranch-advice (2020-12-13) 4 commits
745
- init: provide useful advice about init.defaultBranch
746
- get_default_branch_name(): prepare for showing some advice
747
- branch -m: allow renaming a yet-unborn branch
@@ -928,25 +750,18 @@ Release tarballs are available at:
750
Our users are going to be trained to prepare for future change of
751
init.defaultBranch configuration variable.
752
931
- Expecting a reroll.
932
- cf. <xmqq8saqjx2n.fsf@gitster.c.googlers.com>
933
- I think a new advice.defaultBranchName is a bad idea.
934
-
753
936
-* ps/config-env-pairs (2020-12-01) 4 commits
754
+* ps/config-env-pairs (2020-12-09) 6 commits
755
- config: allow specifying config entries via envvar pairs
756
- config: refactor parsing of GIT_CONFIG_PARAMETERS
757
- config: extract function to parse config pairs
758
- environment: make `getenv_safe()` non-static
759
+ - config: add new way to pass config via `--config-env`
760
+ - git: add `--super-prefix` to usage string
761
+ (this branch is used by jk/disambiguate-equal-in-config-param.)
762
942
- Introduce a way to feed configuration variable-value pairs via
943
- environment variables.
944
-
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>
763
+ Introduce two new ways to feed configuration variable-value pairs
764
+ via environment variables.
765
766
767
* tb/pack-bitmap (2020-12-08) 24 commits
@@ -977,22 +792,7 @@ Release tarballs are available at:
792
793
Various improvement to the codepath that writes out pack bitmaps.
794
980
- Will merge to 'next'?
981
-
982
-
983
-* dd/help-autocorrect-never (2020-11-25) 1 commit
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
989
- and optionally executes the corrected command if there is only one
990
- possibility, depending on the setting of help.autocorrect; the
991
- users can now disable the whole thing, including the cycles spent
992
- to find a likely typo, by setting the configuration variable to
993
- 'never'.
994
-
995
- Will merge to 'master'.
795
+ Will merge to 'next'.
796
797
798
* js/default-branch-name-tests-final-stretch (2020-11-19) 29 commits
@@ -1030,7 +830,7 @@ Release tarballs are available at:
830
"git init" creates.
831
832
1033
-* ds/maintenance-part-4 (2020-12-01) 6 commits
833
+* ds/maintenance-part-4 (2020-12-09) 6 commits
834
- t7900: make macOS-specific test work on Windows
835
- t7900: fix test failures when invoked individually via --run
836
- maintenance: use Windows scheduled tasks
@@ -1042,9 +842,6 @@ Release tarballs are available at:
842
maintenance tasks to support platforms whose native scheduling
843
methods are not 'cron'.
844
1045
- Almost there.
1046
- cf. <CAPig+cQ6vZzbb36t5Kn=NM9wXC8i1MpcGXfK=QwnNRoTQsQP0A@mail.gmail.com>
1047
-
845
846
* sj/untracked-files-in-submodule-directory-is-not-dirty (2020-12-08) 1 commit
847
- diff: do not show submodule with untracked files as "-dirty"
@@ -1054,24 +851,3 @@ Release tarballs are available at:
851
that the "-dirty" indicator would align with "git describe --dirty",
852
which does not consider having untracked files in the working tree
853
as source of dirtiness. The inconsistency has been fixed.
1057
-
1058
-
1059
-* ak/corrected-commit-date (2020-10-08) 10 commits
1060
- - doc: add corrected commit date info
1061
- - commit-reach: use corrected commit dates in paint_down_to_common()
1062
- - commit-graph: use generation v2 only if entire chain does
1063
- - commit-graph: implement generation data chunk
1064
- - commit-graph: implement corrected commit date
1065
- - commit-graph: add a slab to store topological levels
1066
- - commit-graph: return 64-bit generation number
1067
- - commit-graph: consolidate fill_commit_graph_info
1068
- - revision: parse parent in indegree_walk_step()
1069
- - commit-graph: fix regression when computing Bloom filters
1070
-
1071
- The commit-graph learned to use corrected commit dates instead of
1072
- the generation number to help topological revision traversal.
1073
-
1074
- Getting there.
1075
- cf. <85y2jiqq3c.fsf@gmail.com>
1076
- cf. <685afed6-f01f-5d22-80d4-00fdc11caf0a@gmail.com>
1077
- cf. <20201103053629.GA13228@Abhishek-Arch>