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>