What's cooking (2020/12 #01)

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