What's cooking (2021/02 #01)

Junio C Hamano committed Feb 3, 2021 at 16:20 UTC 9f82dd37d579cce27d0641ed793c23bc3e5bfb79
1 file changed +395 -287
whats-cooking.txt
+395 -287
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Jan 2021, #06; Sat, 30)
4 -X-master-at: e6362826a0409539642a5738db61827e5978e2e4
5 -X-next-at: 8a0d178c013a91a4fbcc0b11ba797df4127f40be
3 +Subject: What's cooking in git.git (Feb 2021, #01; Wed, 3)
4 +X-master-at: 30b29f044a2b30f0667eb21559959e03eb1bd04f
5 +X-next-at: 56c4b15f3c4368f5acb44fe2072b22963b46480f
6
7 -What's cooking in git.git (Jan 2021, #06; Sat, 30)
7 +What's cooking in git.git (Feb 2021, #01; Wed, 3)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with '-' are
@@ -12,6 +12,15 @@ 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 +A bit more topics are on 'master' now. Also for those of us who are
16 +on 'next', Derrick's fixes on top of the corrected commit date
17 +series may help incremental commit-graph updates. Testing is
18 +appreciated. I have been shooting for parking any non-trivial topic
19 +that has been reviewed positively in 'next' for about 7 calendar
20 +days, which may have been a bit too aggressive (on the other hand,
21 +trivial topofixes, clean-ups and doc updates do not have to wait all
22 +that long).
23 +
24 Copies of the source code to Git live in many repositories, and the
25 following is a list of the ones I push into or their mirrors. Some
26 repositories have only a subset of branches.
@@ -41,183 +50,142 @@ Release tarballs are available at:
50 https://www.kernel.org/pub/software/scm/git/
51
52 --------------------------------------------------
44 -[New Topics]
45 -
46 -* ab/lose-grep-debug (2021-01-26) 1 commit
47 - - grep/log: remove hidden --debug and --grep-debug options
48 -
49 - Lose the debugging aid that may have been useful in the past, but
50 - no longer would be.
51 -
52 - Will merge to 'next'.
53 -
54 -
55 -* ds/chunked-file-api (2021-01-27) 17 commits
56 - - chunk-format: add technical docs
57 - - chunk-format: restore duplicate chunk checks
58 - - midx: use 64-bit multiplication for chunk sizes
59 - - midx: use chunk-format read API
60 - - commit-graph: use chunk-format read API
61 - - chunk-format: create read chunk API
62 - - midx: use chunk-format API in write_midx_internal()
63 - - midx: drop chunk progress during write
64 - - midx: return success/failure in chunk write methods
65 - - midx: add num_large_offsets to write_midx_context
66 - - midx: add pack_perm to write_midx_context
67 - - midx: add entries to write_midx_context
68 - - midx: use context in write_midx_pack_names()
69 - - midx: rename pack_info to write_midx_context
70 - - commit-graph: use chunk-format write API
71 - - chunk-format: create chunk format write API
72 - - commit-graph: anonymize data in chunk_write_fn
73 - (this branch uses ak/corrected-commit-date; is tangled with ds/merge-base-independent.)
74 -
75 -
76 -* ds/merge-base-independent (2021-01-28) 3 commits
77 - - commit-reach: use heuristic in remove_redundant()
78 - - commit-reach: move compare_commits_by_gen
79 - - commit-reach: use one walk in remove_redundant()
80 - (this branch uses ak/corrected-commit-date; is tangled with ds/chunked-file-api.)
81 -
82 - The code to implement "git merge-base --independent" was poorly
83 - done and was kept from the very beginning of the feature.
84 -
85 - Will merge to 'next'.
86 -
87 -
88 -* jk/pretty-lazy-load-commit (2021-01-28) 1 commit
89 - - pretty: lazy-load commit data when expanding user-format
90 -
91 - Some pretty-format specifiers do not need the data in commit object
92 - (e.g. "%H"), but we were over-eager to load and parse it, which has
93 - been made even lazier.
94 -
95 - Will merge to 'next'.
96 -
97 -
98 -* jk/t0000-cleanups (2021-01-28) 4 commits
99 - - t0000: consistently use single quotes for outer tests
100 - - t0000: run cleaning test inside sub-test
101 - - t0000: run prereq tests inside sub-test
102 - - t0000: keep clean-up tests together
53 +[Graduated to 'master']
54
104 - Code clean-up.
55 +* ab/fsck-doc-fix (2021-01-20) 1 commit
56 + (merged to 'next' on 2021-01-25 at e3db0fe96f)
57 + + fsck doc: remove ancient out-of-date diagnostics
58
106 - Will merge to 'next'.
59 + Documentation for "git fsck" lost stale bits that has become
60 + incorrect.
61
62
109 -* jk/use-oid-pos (2021-01-28) 6 commits
110 - - oid_pos(): access table through const pointers
111 - - hash_pos(): convert to oid_pos()
112 - - rerere: use strmap to store rerere directories
113 - - rerere: tighten rr-cache dirname check
114 - - rerere: check dirname format while iterating rr_cache directory
115 - - commit_graft_pos(): take an oid instead of a bare hash
63 +* ds/maintenance-prefetch-cleanup (2021-01-20) 2 commits
64 + (merged to 'next' on 2021-01-26 at 23efa6ebc3)
65 + + t7900: clean up some broken refs
66 + + maintenance: set log.excludeDecoration durin prefetch
67
117 - Code clean-up to ensure our use of hashtables using object names as
118 - keys use the "struct object_id" objects, not the raw hash values.
68 + Test clean-up plus UI improvement by hiding extra refs that
69 + the prefetch task uses from "log --decorate" output.
70
120 - Will merge to 'next'.
71
72 +* jk/peel-iterated-oid (2021-01-21) 1 commit
73 + (merged to 'next' on 2021-01-26 at 023758f4ee)
74 + + refs: switch peel_ref() to peel_iterated_oid()
75
123 -* jk/weather-balloon-require-variadic-macro (2021-01-27) 1 commit
124 - - git-compat-util: always enable variadic macros
76 + The peel_ref() API has been replaced with peel_iterated_oid().
77
126 - We've carried compatibility codepaths for compilers without
127 - variadic macros for quite some time, but the world may be ready for
128 - them to be removed. Force compilation failure on exotic platforms
129 - where variadic macros are not available to find out who screams in
130 - such a way that we can easily revert if the world is not ready.
78
132 - Will merge to 'next'.
79 +* jk/run-command-use-shell-doc (2021-01-22) 1 commit
80 + (merged to 'next' on 2021-01-26 at f9df80d861)
81 + + run-command: document use_shell option
82
83 + The .use_shell flag in struct child_process that is passed to
84 + run_command() API has been clarified with a bit more documentation.
85
135 -* pb/ci-matrix-wo-shortcut (2021-01-27) 1 commit
136 - - ci: do not cancel all jobs of a matrix if one fails
86
138 - Our setting of GitHub CI test jobs were a bit too eager to give up
139 - once there is even one failure found. Tweak the knob to let
140 - independent jobs to keep running, so that we can find more failures
141 - in a single run.
87 +* js/skip-dashed-built-ins-from-config-mak (2021-01-21) 1 commit
88 + (merged to 'next' on 2021-01-26 at 2d727a37f9)
89 + + SKIP_DASHED_BUILT_INS: respect `config.mak`
90
143 - Will merge to 'next'.
91 + Build fix.
92
93
146 -* sg/test-stress-jobs (2021-01-26) 1 commit
147 - - test-lib: prevent '--stress-jobs=X' from being ignored
94 +* jt/packfile-as-uri-doc (2021-01-20) 1 commit
95 + (merged to 'next' on 2021-01-26 at 50500a8982)
96 + + Doc: clarify contents of packfile sent as URI
97
149 - Test framework fix.
98 + Doc fix for packfile URI feature.
99
151 - Will merge to 'next'.
100 +--------------------------------------------------
101 +[New Topics]
102
103 +* ab/make-cleanup (2021-02-01) 6 commits
104 + - Makefile: add {program,xdiff,test,git}-objs & objects targets
105 + - Makefile: split OBJECTS into OBJECTS and GIT_OBJS
106 + - Makefile: sort OBJECTS assignment for subsequent change
107 + - Makefile: split up long OBJECTS line
108 + - Makefile: guard against TEST_OBJS in the environment
109 + - Makefile: remove "all" on "$(FUZZ_OBJS)"
110
154 -* hv/trailer-formatting (2021-01-30) 5 commits
155 - - SQUASH???
156 - - SQUASH: fix sparse error
157 - - ref-filter: use pretty.c logic for trailers
158 - - pretty.c: capture invalid trailer argument
159 - - pretty.c: refactor trailer logic to `format_set_trailers_options()`
111 + Reorganize Makefile to allow building git.o and other essential
112 + objects without extra stuff needed only for testing.
113
161 - The logic to handle "trailer" related placeholders in the
162 - "--format=" mechanisms in the "log" family and "for-each-ref"
163 - family is getting unified.
114
165 - Expecting further work.
115 +* ds/commit-graph-genno-fix (2021-02-01) 6 commits
116 + (merged to 'next' on 2021-02-03 at b3a9e11efb)
117 + + commit-graph: prepare commit graph
118 + + commit-graph: be extra careful about mixed generations
119 + + commit-graph: compute generations separately
120 + + commit-graph: validate layers for generation data
121 + + commit-graph: always parse before commit_graph_data_at()
122 + + commit-graph: use repo_parse_commit
123 + (this branch uses ak/corrected-commit-date; is tangled with ds/chunked-file-api and ds/merge-base-independent.)
124
125 + Fix incremental update of commit-graph file around corrected commit
126 + date data.
127
168 -* jk/p5303-sed-portability-fix (2021-01-29) 1 commit
169 - - p5303: avoid sed GNU-ism
128 + Will merge to 'master'.
129
171 - A perf script was made more portable.
130
173 - Will merge to 'next'.
131 +* jh/simple-ipc (2021-02-01) 13 commits
132 + - simple-ipc: add Unix domain socket implementation
133 + - unix-socket: do not call die in unix_stream_connect()
134 + - unix-socket: add no-chdir option to unix_stream_listen()
135 + - unix-socket: add options to unix_stream_listen()
136 + - unix-socket: elimiate static unix_stream_socket() helper function
137 + - simple-ipc: add t/helper/test-simple-ipc and t0052
138 + - simple-ipc: add win32 implementation
139 + - simple-ipc: design documentation for new IPC mechanism
140 + - pkt-line: accept additional options in read_packetized_to_strbuf()
141 + - pkt-line: (optionally) libify the packet readers
142 + - pkt-line: optionally skip the flush packet in write_packetized_from_buf()
143 + - pkt-line: add write_packetized_from_buf2() that takes scratch buffer
144 + - pkt-line: promote static buffer in packet_write_gently() to callers
145
146 + A simple IPC interface gets introduced to build services like
147 + fsmonitor on top.
148
176 -* pb/blame-funcname-range-userdiff (2021-01-30) 1 commit
177 - - annotate-tests: quote variable expansions containing path names
149
179 - Test fix.
150 +* ab/pager-exit-log (2021-02-01) 4 commits
151 + - pager: properly log pager exit code when signalled
152 + - run-command: add braces for "if" block in wait_or_whine()
153 + - pager: test for exit code with and without SIGPIPE
154 + - pager: refactor wait_for_pager() function
155
181 - Will merge to 'next'.
156 + When a pager spawned by us exited, the trace log did not record its
157 + exit status correctly, which has been corrected.
158
159
184 -* sh/mergetool-hideresolved (2021-01-29) 3 commits
185 - - mergetool: add per-tool support and overrides for the hideResolved flag
186 - - mergetool: break setup_tool out into separate initialization function
187 - - mergetool: add hideResolved configuration
160 +* jk/complete-branch-force-delete (2021-02-03) 3 commits
161 + (merged to 'next' on 2021-02-03 at 6454bb89b5)
162 + + doc/git-branch: fix awkward wording for "-c"
163 + + completion: handle other variants of "branch -m"
164 + + completion: treat "branch -D" the same way as "branch -d"
165
189 - "git mergetool" feeds three versions (base, local and remote) of
190 - a conflicted path unmodified. The command learned to optionally
191 - prepare these files with unconflicted parts already resolved.
166 + The command line completion (in contrib/) completed "git branch -d"
167 + with branch names, but "git branch -D" offered tagnames in addition,
168 + which has been corrected. "git branch -M" had the same problem.
169
193 - Getting there.
170 + Will merge to 'master'.
171
172
196 -* tb/precompose-prefix-too (2021-01-29) 1 commit
197 - - MacOS: precompose_argv_prefix()
173 +* ta/hash-function-transition-doc (2021-02-02) 6 commits
174 + - doc: use https links
175 + - doc hash-function-transition: move rationale upwards
176 + - doc hash-function-transition: fix incomplete sentence
177 + - doc hash-function-transition: use upper case consistently
178 + - doc hash-function-transition: use SHA-1 and SHA-256 consistently
179 + - doc hash-function-transition: fix asciidoc output
180
199 - When commands are started from a subdirectory, they may have to
200 - compare the path to the subdirectory (called prefix and found out
201 - from $(pwd)) with the tracked paths. On macOS, $(pwd) and
202 - readdir() yield decomposed path, while the tracked paths are
203 - usually normalized to the precomposed form, causing mismatch. This
204 - has been fixed by taking the same approach used to normalize the
205 - command line arguments.
181 + Update formatting and grammar of the hash transition plan
182 + documentation, plus some updates.
183
207 - Will merge to 'next'.
184 + Except for [5/6] these look good.
185
186 --------------------------------------------------
187 [Stalled]
188
212 -* sg/t7800-difftool-robustify (2021-01-09) 1 commit
213 - - t7800-difftool: don't accidentally match tmp dirs
214 -
215 - Test fix.
216 -
217 - Not working on Windows.
218 - cf. https://github.com/git/git/runs/1660588243?check_suite_focus=true#step:7:4186
219 -
220 -
189 * fc/bash-completion-post-2.29 (2020-12-23) 4 commits
190 . completion: bash: add correct suffix in variables
191 . completion: bash: fix for multiple dash commands
@@ -376,73 +344,241 @@ Release tarballs are available at:
344 --------------------------------------------------
345 [Cooking]
346
379 -* cm/rebase-i (2021-01-29) 9 commits
380 - - doc/git-rebase: add documentation for fixup [-C|-c] options
381 - - rebase -i: teach --autosquash to work with amend!
382 - - t3437: test script for fixup [-C|-c] options in interactive rebase
383 - - rebase -i: add fixup [-C | -c] command
384 - - sequencer: use const variable for commit message comments
385 - - sequencer: pass todo_item to do_pick_commit()
386 - - rebase -i: comment out squash!/fixup! subjects from squash message
387 - - sequencer: factor out code to append squash message
388 - - rebase -i: only write fixup-message when it's needed
347 +* sg/t7800-difftool-robustify (2021-01-09) 1 commit
348 + (merged to 'next' on 2021-01-31 at fb72af8200)
349 + + t7800-difftool: don't accidentally match tmp dirs
350
390 - "rebase -i" is getting cleaned up and also enhanced.
351 + Test fix.
352
392 - It seems to break t3415 when merged to 'seen'.
353 + Will merge to 'master'.
354
355
395 -* ds/maintenance-prefetch-cleanup (2021-01-20) 2 commits
396 - (merged to 'next' on 2021-01-26 at 23efa6ebc3)
397 - + t7900: clean up some broken refs
398 - + maintenance: set log.excludeDecoration durin prefetch
356 +* ab/lose-grep-debug (2021-01-26) 1 commit
357 + (merged to 'next' on 2021-01-31 at 9b7548efce)
358 + + grep/log: remove hidden --debug and --grep-debug options
359
400 - Test clean-up plus UI improvement by hiding extra refs that
401 - the prefetch task uses from "log --decorate" output.
360 + Lose the debugging aid that may have been useful in the past, but
361 + no longer is, in the "grep" codepaths.
362
363 Will merge to 'master'.
364
365
406 -* ds/more-index-cleanups (2021-01-23) 9 commits
407 - - t1092: test interesting sparse-checkout scenarios
408 - - test-lib: test_region looks for trace2 regions
409 - - sparse-checkout: load sparse-checkout patterns
410 - - name-hash: use trace2 regions for init
411 - - repository: add repo reference to index_state
412 - - fsmonitor: de-duplicate BUG()s around dirty bits
413 - - cache-tree: extract subtree_pos()
414 - - cache-tree: simplify verify_cache() prototype
415 - - cache-tree: clean up cache_tree_update()
416 - (this branch uses ds/cache-tree-basics.)
366 +* ds/chunked-file-api (2021-01-27) 17 commits
367 + - chunk-format: add technical docs
368 + - chunk-format: restore duplicate chunk checks
369 + - midx: use 64-bit multiplication for chunk sizes
370 + - midx: use chunk-format read API
371 + - commit-graph: use chunk-format read API
372 + - chunk-format: create read chunk API
373 + - midx: use chunk-format API in write_midx_internal()
374 + - midx: drop chunk progress during write
375 + - midx: return success/failure in chunk write methods
376 + - midx: add num_large_offsets to write_midx_context
377 + - midx: add pack_perm to write_midx_context
378 + - midx: add entries to write_midx_context
379 + - midx: use context in write_midx_pack_names()
380 + - midx: rename pack_info to write_midx_context
381 + - commit-graph: use chunk-format write API
382 + - chunk-format: create chunk format write API
383 + - commit-graph: anonymize data in chunk_write_fn
384 + (this branch uses ak/corrected-commit-date; is tangled with ds/commit-graph-genno-fix and ds/merge-base-independent.)
385
418 - Cleaning various codepaths up.
386 +
387 +* ds/merge-base-independent (2021-02-01) 5 commits
388 + - commit-reach: stale commits may prune generation further
389 + - commit-reach: use heuristic in remove_redundant()
390 + - commit-reach: move compare_commits_by_gen
391 + - commit-reach: use one walk in remove_redundant()
392 + - commit-reach: reduce requirements for remove_redundant()
393 + (this branch uses ak/corrected-commit-date; is tangled with ds/chunked-file-api and ds/commit-graph-genno-fix.)
394 +
395 + The code to implement "git merge-base --independent" was poorly
396 + done and was kept from the very beginning of the feature.
397 +
398 +
399 +* jk/pretty-lazy-load-commit (2021-01-28) 1 commit
400 + (merged to 'next' on 2021-02-01 at acf7353a32)
401 + + pretty: lazy-load commit data when expanding user-format
402 +
403 + Some pretty-format specifiers do not need the data in commit object
404 + (e.g. "%H"), but we were over-eager to load and parse it, which has
405 + been made even lazier.
406 +
407 + Will merge to 'master'.
408 +
409 +
410 +* jk/t0000-cleanups (2021-01-28) 4 commits
411 + (merged to 'next' on 2021-01-31 at 357f8fe097)
412 + + t0000: consistently use single quotes for outer tests
413 + + t0000: run cleaning test inside sub-test
414 + + t0000: run prereq tests inside sub-test
415 + + t0000: keep clean-up tests together
416 +
417 + Code clean-up.
418 +
419 + Will merge to 'master'.
420 +
421 +
422 +* jk/use-oid-pos (2021-01-28) 6 commits
423 + (merged to 'next' on 2021-01-31 at 10ccafb739)
424 + + oid_pos(): access table through const pointers
425 + + hash_pos(): convert to oid_pos()
426 + + rerere: use strmap to store rerere directories
427 + + rerere: tighten rr-cache dirname check
428 + + rerere: check dirname format while iterating rr_cache directory
429 + + commit_graft_pos(): take an oid instead of a bare hash
430 +
431 + Code clean-up to ensure our use of hashtables using object names as
432 + keys use the "struct object_id" objects, not the raw hash values.
433 +
434 + Will merge to 'master'.
435 +
436 +
437 +* jk/weather-balloon-require-variadic-macro (2021-01-27) 1 commit
438 + (merged to 'next' on 2021-01-31 at 8d5207bd85)
439 + + git-compat-util: always enable variadic macros
440 +
441 + We've carried compatibility codepaths for compilers without
442 + variadic macros for quite some time, but the world may be ready for
443 + them to be removed. Force compilation failure on exotic platforms
444 + where variadic macros are not available to find out who screams in
445 + such a way that we can easily revert if it turns out that the world
446 + is not yet ready.
447 +
448 + Will merge to 'master'.
449 +
450 +
451 +* pb/ci-matrix-wo-shortcut (2021-01-27) 1 commit
452 + (merged to 'next' on 2021-01-31 at 2384693758)
453 + + ci: do not cancel all jobs of a matrix if one fails
454 +
455 + Our setting of GitHub CI test jobs were a bit too eager to give up
456 + once there is even one failure found. Tweak the knob to allow
457 + other jobs keep running even when we see a failure, so that we can
458 + find more failures in a single run.
459 +
460 + Will merge to 'master'.
461 +
462 +
463 +* sg/test-stress-jobs (2021-01-26) 1 commit
464 + (merged to 'next' on 2021-02-01 at 0b7aae84e3)
465 + + test-lib: prevent '--stress-jobs=X' from being ignored
466 +
467 + Test framework fix.
468 +
469 + Will merge to 'master'.
470 +
471 +
472 +* hv/trailer-formatting (2021-01-30) 5 commits
473 + - SQUASH???
474 + - SQUASH: fix sparse error
475 + - ref-filter: use pretty.c logic for trailers
476 + - pretty.c: capture invalid trailer argument
477 + - pretty.c: refactor trailer logic to `format_set_trailers_options()`
478 +
479 + The logic to handle "trailer" related placeholders in the
480 + "--format=" mechanisms in the "log" family and "for-each-ref"
481 + family is getting unified.
482 +
483 + Expecting further work.
484 +
485 +
486 +* jk/p5303-sed-portability-fix (2021-01-29) 1 commit
487 + (merged to 'next' on 2021-01-31 at 5f2957e738)
488 + + p5303: avoid sed GNU-ism
489 +
490 + A perf script was made more portable.
491 +
492 + Will merge to 'master'.
493 +
494 +
495 +* pb/blame-funcname-range-userdiff (2021-01-30) 1 commit
496 + (merged to 'next' on 2021-01-31 at 107d10fe4f)
497 + + annotate-tests: quote variable expansions containing path names
498 +
499 + Test fix.
500 +
501 + Will merge to 'master'.
502 +
503 +
504 +* sh/mergetool-hideresolved (2021-01-29) 3 commits
505 + - mergetool: add per-tool support and overrides for the hideResolved flag
506 + - mergetool: break setup_tool out into separate initialization function
507 + - mergetool: add hideResolved configuration
508 +
509 + "git mergetool" feeds three versions (base, local and remote) of
510 + a conflicted path unmodified. The command learned to optionally
511 + prepare these files with unconflicted parts already resolved.
512 +
513 + Getting there.
514 +
515 + The interaction between configuration variables look somewhat iffy.
516 +
517 +
518 +* tb/precompose-prefix-too (2021-02-03) 1 commit
519 + - MacOS: precompose_argv_prefix()
520 +
521 + When commands are started from a subdirectory, they may have to
522 + compare the path to the subdirectory (called prefix and found out
523 + from $(pwd)) with the tracked paths. On macOS, $(pwd) and
524 + readdir() yield decomposed path, while the tracked paths are
525 + usually normalized to the precomposed form, causing mismatch. This
526 + has been fixed by taking the same approach used to normalize the
527 + command line arguments.
528
529 Will merge to 'next'.
530
531
423 -* jt/packfile-as-uri-doc (2021-01-20) 1 commit
424 - (merged to 'next' on 2021-01-26 at 50500a8982)
425 - + Doc: clarify contents of packfile sent as URI
532 +* cm/rebase-i (2021-01-29) 9 commits
533 + (merged to 'next' on 2021-02-01 at 4f9aa6cec3)
534 + + doc/git-rebase: add documentation for fixup [-C|-c] options
535 + + rebase -i: teach --autosquash to work with amend!
536 + + t3437: test script for fixup [-C|-c] options in interactive rebase
537 + + rebase -i: add fixup [-C | -c] command
538 + + sequencer: use const variable for commit message comments
539 + + sequencer: pass todo_item to do_pick_commit()
540 + + rebase -i: comment out squash!/fixup! subjects from squash message
541 + + sequencer: factor out code to append squash message
542 + + rebase -i: only write fixup-message when it's needed
543
427 - Doc fix for packfile URI feature.
544 + "rebase -i" is getting cleaned up and also enhanced.
545 +
546 + Will merge to 'master'.
547 +
548 +
549 +* ds/more-index-cleanups (2021-01-23) 9 commits
550 + (merged to 'next' on 2021-02-01 at bcdfa11e73)
551 + + t1092: test interesting sparse-checkout scenarios
552 + + test-lib: test_region looks for trace2 regions
553 + + sparse-checkout: load sparse-checkout patterns
554 + + name-hash: use trace2 regions for init
555 + + repository: add repo reference to index_state
556 + + fsmonitor: de-duplicate BUG()s around dirty bits
557 + + cache-tree: extract subtree_pos()
558 + + cache-tree: simplify verify_cache() prototype
559 + + cache-tree: clean up cache_tree_update()
560 + (this branch uses ds/cache-tree-basics.)
561 +
562 + Cleaning various codepaths up.
563
564 Will merge to 'master'.
565
566
567 * rs/worktree-list-verbose (2021-01-30) 7 commits
433 - - worktree: teach `list` verbose mode
434 - - worktree: teach `list` to annotate prunable worktree
435 - - worktree: teach `list --porcelain` to annotate locked worktree
436 - - t2402: ensure locked worktree is properly cleaned up
437 - - worktree: teach worktree_lock_reason() to gently handle main worktree
438 - - worktree: teach worktree to lazy-load "prunable" reason
439 - - worktree: libify should_prune_worktree()
568 + (merged to 'next' on 2021-02-01 at b57a6ce4c6)
569 + + worktree: teach `list` verbose mode
570 + + worktree: teach `list` to annotate prunable worktree
571 + + worktree: teach `list --porcelain` to annotate locked worktree
572 + + t2402: ensure locked worktree is properly cleaned up
573 + + worktree: teach worktree_lock_reason() to gently handle main worktree
574 + + worktree: teach worktree to lazy-load "prunable" reason
575 + + worktree: libify should_prune_worktree()
576
577 `git worktree list` now annotates worktrees as prunable, shows
578 locked and prunable attributes in --porcelain mode, and gained
579 a --verbose option.
580
445 - Will merge to 'next'.
581 + Will merge to 'master'.
582 cf. <CAPig+cTt-TyOR8kc6YvBVLpf-bgFdJ+FVYA2NvG_Vvn7tMbBkQ@mail.gmail.com>
583
584
@@ -490,25 +626,6 @@ Release tarballs are available at:
626 cf. <CAMMLpeTDNLUz9UVnL3aVK=J7X50Sq8L-OVGaoEsT5AY6EQON-g@mail.gmail.com>
627
628
493 -* jk/peel-iterated-oid (2021-01-21) 1 commit
494 - (merged to 'next' on 2021-01-26 at 023758f4ee)
495 - + refs: switch peel_ref() to peel_iterated_oid()
496 -
497 - The peel_ref() API has been replaced with peel_iterated_oid().
498 -
499 - Will merge to 'master'.
500 -
501 -
502 -* jk/run-command-use-shell-doc (2021-01-22) 1 commit
503 - (merged to 'next' on 2021-01-26 at f9df80d861)
504 - + run-command: document use_shell option
505 -
506 - The .use_shell flag in struct child_process that is passed to
507 - run_command() API has been clarified with a bit more documentation.
508 -
509 - Will merge to 'master'.
510 -
511 -
629 * js/range-diff-wo-dotdot (2021-01-27) 3 commits
630 - range-diff(docs): explain how to specify commit ranges
631 - range-diff/format-patch: handle commit ranges other than A..B
@@ -522,15 +639,6 @@ Release tarballs are available at:
639 cf. <pull.841.v3.git.1611765444.gitgitgadget@gmail.com>
640
641
525 -* js/skip-dashed-built-ins-from-config-mak (2021-01-21) 1 commit
526 - (merged to 'next' on 2021-01-26 at 2d727a37f9)
527 - + SKIP_DASHED_BUILT_INS: respect `config.mak`
528 -
529 - Build fix.
530 -
531 - Will merge to 'master'.
532 -
533 -
642 * jx/t5411-unique-filenames (2021-01-22) 2 commits
643 - t5411: refactor check of refs using test_cmp_refs
644 - t5411: use different out file to prevent overwriting
@@ -564,21 +672,23 @@ Release tarballs are available at:
672
673
674 * ab/grep-pcre-invalid-utf8 (2021-01-24) 2 commits
567 - - grep/pcre2: better support invalid UTF-8 haystacks
568 - - grep/pcre2 tests: don't rely on invalid UTF-8 data test
675 + (merged to 'next' on 2021-02-01 at 60be521876)
676 + + grep/pcre2: better support invalid UTF-8 haystacks
677 + + grep/pcre2 tests: don't rely on invalid UTF-8 data test
678
679 Update support for invalid UTF-8 in PCRE2.
680
572 - Will merge to 'next'.
681 + Will merge to 'master'.
682
683
684 * ab/retire-pcre1 (2021-01-23) 2 commits
576 - - Remove support for v1 of the PCRE library
577 - - config.mak.uname: remove redundant NO_LIBPCRE1_JIT flag
685 + (merged to 'next' on 2021-02-01 at 532a0a8228)
686 + + Remove support for v1 of the PCRE library
687 + + config.mak.uname: remove redundant NO_LIBPCRE1_JIT flag
688
689 The support for deprecated PCRE1 library has been dropped.
690
581 - Will merge to 'next'.
691 + Will merge to 'master'.
692
693
694 * jt/transfer-fsck-across-packs (2021-01-25) 5 commits
@@ -611,77 +721,75 @@ Release tarballs are available at:
721 Will merge to 'master'.
722
723
614 -* jv/upload-pack-filter-spec-quotefix (2021-01-28) 1 commit
615 - - upload-pack.c: fix filter spec quoting bug
724 +* jv/upload-pack-filter-spec-quotefix (2021-02-02) 2 commits
725 + (merged to 'next' on 2021-02-03 at 2e34f74e3a)
726 + + t5544: clarify 'hook works with partial clone' test
727 + (merged to 'next' on 2021-01-31 at 789bf4154e)
728 + + upload-pack.c: fix filter spec quoting bug
729
730 Fix in passing custom args from "git clone" to "upload-pack" on the
731 other side.
732
620 - Will merge to 'next'.
621 -
622 -
623 -* ab/fsck-doc-fix (2021-01-20) 1 commit
624 - (merged to 'next' on 2021-01-25 at e3db0fe96f)
625 - + fsck doc: remove ancient out-of-date diagnostics
626 -
627 - Documentation for "git fsck" lost stale bits that has become
628 - incorrect.
629 -
733 Will merge to 'master'.
734
735
736 * ab/tests-various-fixup (2021-01-23) 10 commits
634 - - rm tests: actually test for SIGPIPE in SIGPIPE test
635 - - archive tests: use a cheaper "zipinfo -h" invocation to get header
636 - - upload-pack tests: avoid a non-zero "grep" exit status
637 - - git-svn tests: rewrite brittle tests to use "--[no-]merges".
638 - - git svn mergeinfo tests: refactor "test -z" to use test_must_be_empty
639 - - git svn mergeinfo tests: modernize redirection & quoting style
640 - - cache-tree tests: explicitly test HEAD and index differences
641 - - cache-tree tests: use a sub-shell with less indirection
642 - - cache-tree tests: remove unused $2 parameter
643 - - cache-tree tests: refactor for modern test style
737 + (merged to 'next' on 2021-02-01 at a604a6e217)
738 + + rm tests: actually test for SIGPIPE in SIGPIPE test
739 + + archive tests: use a cheaper "zipinfo -h" invocation to get header
740 + + upload-pack tests: avoid a non-zero "grep" exit status
741 + + git-svn tests: rewrite brittle tests to use "--[no-]merges".
742 + + git svn mergeinfo tests: refactor "test -z" to use test_must_be_empty
743 + + git svn mergeinfo tests: modernize redirection & quoting style
744 + + cache-tree tests: explicitly test HEAD and index differences
745 + + cache-tree tests: use a sub-shell with less indirection
746 + + cache-tree tests: remove unused $2 parameter
747 + + cache-tree tests: refactor for modern test style
748
749 Various test updates.
750
647 - Will merge to 'next'.
751 + Will merge to 'master'.
752
753
754 * en/ort-directory-rename (2021-01-20) 18 commits
651 - - merge-ort: fix a directory rename detection bug
652 - - merge-ort: process_renames() now needs more defensiveness
653 - - merge-ort: implement apply_directory_rename_modifications()
654 - - merge-ort: add a new toplevel_dir field
655 - - merge-ort: implement handle_path_level_conflicts()
656 - - merge-ort: implement check_for_directory_rename()
657 - - merge-ort: implement apply_dir_rename() and check_dir_renamed()
658 - - merge-ort: implement compute_collisions()
659 - - merge-ort: modify collect_renames() for directory rename handling
660 - - merge-ort: implement handle_directory_level_conflicts()
661 - - merge-ort: implement compute_rename_counts()
662 - - merge-ort: copy get_renamed_dir_portion() from merge-recursive.c
663 - - merge-ort: add outline of get_provisional_directory_renames()
664 - - merge-ort: add outline for computing directory renames
665 - - merge-ort: collect which directories are removed in dirs_removed
666 - - merge-ort: initialize and free new directory rename data structures
667 - - merge-ort: add new data structures for directory rename detection
668 - - Merge branch 'en/merge-ort-3' into en/ort-directory-rename
755 + (merged to 'next' on 2021-02-01 at 5c1cdd13a1)
756 + + merge-ort: fix a directory rename detection bug
757 + + merge-ort: process_renames() now needs more defensiveness
758 + + merge-ort: implement apply_directory_rename_modifications()
759 + + merge-ort: add a new toplevel_dir field
760 + + merge-ort: implement handle_path_level_conflicts()
761 + + merge-ort: implement check_for_directory_rename()
762 + + merge-ort: implement apply_dir_rename() and check_dir_renamed()
763 + + merge-ort: implement compute_collisions()
764 + + merge-ort: modify collect_renames() for directory rename handling
765 + + merge-ort: implement handle_directory_level_conflicts()
766 + + merge-ort: implement compute_rename_counts()
767 + + merge-ort: copy get_renamed_dir_portion() from merge-recursive.c
768 + + merge-ort: add outline of get_provisional_directory_renames()
769 + + merge-ort: add outline for computing directory renames
770 + + merge-ort: collect which directories are removed in dirs_removed
771 + + merge-ort: initialize and free new directory rename data structures
772 + + merge-ort: add new data structures for directory rename detection
773 + + Merge branch 'en/merge-ort-3' into en/ort-directory-rename
774 (this branch is used by en/merge-ort-perf.)
775
776 ORT merge strategy learns to infer "renamed directory" while
777 merging.
778
674 - Will merge to 'next'.
779 + Will merge to 'master'.
780
781
782 * ab/detox-gettext-tests (2021-01-21) 3 commits
678 - - tests: remove uses of GIT_TEST_GETTEXT_POISON=false
679 - - tests: remove support for GIT_TEST_GETTEXT_POISON
680 - - ci: remove GETTEXT_POISON jobs
783 + (merged to 'next' on 2021-02-01 at 5573b4913c)
784 + + tests: remove uses of GIT_TEST_GETTEXT_POISON=false
785 + + tests: remove support for GIT_TEST_GETTEXT_POISON
786 + + ci: remove GETTEXT_POISON jobs
787
788 Get rid of "GETTEXT_POISON" support altogether, which may or may
789 not be controversial.
790
791 + Will merge to 'master'.
792 +
793
794 * bc/signed-objects-with-both-hashes (2021-01-18) 6 commits
795 - gpg-interface: remove other signature headers before verifying
@@ -699,45 +807,48 @@ Release tarballs are available at:
807
808
809 * js/rebase-i-commit-cleanup-fix (2021-01-28) 1 commit
702 - - rebase -i: do leave commit message intact in fixup! chains
810 + (merged to 'next' on 2021-01-31 at 358f562e1f)
811 + + rebase -i: do leave commit message intact in fixup! chains
812
813 When "git rebase -i" processes "fixup" insn, there is no reason to
814 clean up the commit log message, but we did the usual stripspace
815 processing. This has been corrected.
816
708 - Will merge to 'next'.
817 + Will merge to 'master'.
818
819
820 * tb/pack-revindex-on-disk (2021-01-28) 10 commits
712 - - t5325: check both on-disk and in-memory reverse index
713 - - pack-revindex: ensure that on-disk reverse indexes are given precedence
714 - - t: support GIT_TEST_WRITE_REV_INDEX
715 - - t: prepare for GIT_TEST_WRITE_REV_INDEX
716 - - Documentation/config/pack.txt: advertise 'pack.writeReverseIndex'
717 - - builtin/pack-objects.c: respect 'pack.writeReverseIndex'
718 - - builtin/index-pack.c: write reverse indexes
719 - - builtin/index-pack.c: allow stripping arbitrary extensions
720 - - pack-write.c: prepare to write 'pack-*.rev' files
721 - - packfile: prepare for the existence of '*.rev' files
821 + (merged to 'next' on 2021-02-01 at bd6a780213)
822 + + t5325: check both on-disk and in-memory reverse index
823 + + pack-revindex: ensure that on-disk reverse indexes are given precedence
824 + + t: support GIT_TEST_WRITE_REV_INDEX
825 + + t: prepare for GIT_TEST_WRITE_REV_INDEX
826 + + Documentation/config/pack.txt: advertise 'pack.writeReverseIndex'
827 + + builtin/pack-objects.c: respect 'pack.writeReverseIndex'
828 + + builtin/index-pack.c: write reverse indexes
829 + + builtin/index-pack.c: allow stripping arbitrary extensions
830 + + pack-write.c: prepare to write 'pack-*.rev' files
831 + + packfile: prepare for the existence of '*.rev' files
832
833 Introduce an on-disk file to record revindex for packdata, which
834 traditionally was always created on the fly and only in-core.
835
726 - Looking good.
836 + Will merge to 'master'.
837
838
839 * en/merge-ort-perf (2021-01-23) 6 commits
730 - - merge-ort: begin performance work; instrument with trace2_region_* calls
731 - - merge-ort: ignore the directory rename split conflict for now
732 - - merge-ort: fix massive leak
733 - - Merge branch 'en/ort-directory-rename' into en/merge-ort-perf
734 - - Merge branch 'en/ort-conflict-handling' into en/merge-ort-perf
735 - - Merge branch 'en/diffcore-rename' into en/merge-ort-perf
840 + (merged to 'next' on 2021-02-01 at ca3c07579b)
841 + + merge-ort: begin performance work; instrument with trace2_region_* calls
842 + + merge-ort: ignore the directory rename split conflict for now
843 + + merge-ort: fix massive leak
844 + + Merge branch 'en/ort-directory-rename' into en/merge-ort-perf
845 + + Merge branch 'en/ort-conflict-handling' into en/merge-ort-perf
846 + + Merge branch 'en/diffcore-rename' into en/merge-ort-perf
847 (this branch uses en/ort-conflict-handling and en/ort-directory-rename.)
848
849 The "ort" merge strategy.
850
740 - Will merge to 'next'.
851 + Will merge to 'master'.
852
853
854 * ds/cache-tree-basics (2021-01-15) 10 commits
@@ -792,7 +903,7 @@ Release tarballs are available at:
903 + commit-graph: consolidate fill_commit_graph_info
904 + revision: parse parent in indegree_walk_step()
905 + commit-graph: fix regression when computing Bloom filters
795 - (this branch is used by ds/chunked-file-api and ds/merge-base-independent.)
906 + (this branch is used by ds/chunked-file-api, ds/commit-graph-genno-fix and ds/merge-base-independent.)
907
908 The commit-graph learned to use corrected commit dates instead of
909 the generation number to help topological revision traversal.
@@ -800,7 +911,7 @@ Release tarballs are available at:
911 Will merge to 'master'.
912
913
803 -* mr/bisect-in-c-4 (2021-01-26) 7 commits
914 +* mr/bisect-in-c-4 (2021-02-03) 7 commits
915 - bisect--helper: retire `--check-and-set-terms` subcommand
916 - bisect--helper: reimplement `bisect_skip` shell function in C
917 - bisect--helper: retire `--bisect-auto-next` subcommand
@@ -814,9 +925,7 @@ Release tarballs are available at:
925 Will merge to 'next'.
926
927
817 -* jt/clone-unborn-head (2021-01-28) 5 commits
818 - - transport-internal.h: fix a 'hdr-check' warning
819 - - ls-refs: don't peel NULL oid
928 +* jt/clone-unborn-head (2021-02-01) 3 commits
929 - clone: respect remote unborn HEAD
930 - connect, transport: encapsulate arg in struct
931 - ls-refs: report unborn targets of symrefs
@@ -826,8 +935,7 @@ Release tarballs are available at:
935 did not convey the information necessary to do so when copying an
936 empty repository. The protocol v2 learned how to do so.
937
829 - Looking good, but the tip one from Ramsay may want to be squashed
830 - into the step that introduces the problem.
938 + Looking good, modulo some minor documentation nits.
939
940
941 * mt/parallel-checkout-part-1 (2020-12-16) 9 commits