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