What's cooking (2021/04 #06)
Junio C Hamano committed
Apr 29, 2021 at 17:08 UTC
8658c7522b55f300d4e48d65007ee851a688d019
1 file changed
+438
-346
whats-cooking.txt
+438
-346
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (Apr 2021, #05; Mon, 19)
4
-X-master-at: b0c09ab8796fb736efa432b8e817334f3e5ee75a
5
-X-next-at: 90b4fd31cda88325bdebf89b7d407491b176f853
3
+Subject: What's cooking in git.git (Apr 2021, #06; Thu, 29)
4
+X-master-at: 311531c9de557d25ac087c1637818bd2aad6eb3a
5
+X-next-at: 47e6f1690178d77508c72e3fec1411a0ca706661
6
7
-What's cooking in git.git (Apr 2021, #05; Mon, 19)
7
+What's cooking in git.git (Apr 2021, #06; Thu, 29)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking. Commits prefixed with '-' are
@@ -12,6 +12,11 @@ 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
+I am still catching up with the updates of various topics that
16
+happened during my absense, and I'd expect new patches will still
17
+take more time to be queued in 'seen' (as by definition I haven't
18
+seen many of them ;-).
19
+
20
Copies of the source code to Git live in many repositories, and the
21
following is a list of the ones I push into or their mirrors. Some
22
repositories have only a subset of branches.
@@ -43,58 +48,66 @@ Release tarballs are available at:
48
--------------------------------------------------
49
[Graduated to 'master']
50
46
-* ah/merge-ort-ubsan-fix (2021-04-12) 1 commit
47
- (merged to 'next' on 2021-04-13 at 41713a32bd)
48
- + merge-ort: only do pointer arithmetic for non-empty lists
49
-
50
- Code clean-up for merge-ort backend.
51
-
52
-
53
-* en/ort-perf-batch-10 (2021-03-18) 8 commits
54
- (merged to 'next' on 2021-04-07 at 9826d89311)
55
- + diffcore-rename: determine which relevant_sources are no longer relevant
56
- + merge-ort: record the reason that we want a rename for a file
57
- + diffcore-rename: add computation of number of unknown renames
58
- + diffcore-rename: check if we have enough renames for directories early on
59
- + diffcore-rename: only compute dir_rename_count for relevant directories
60
- + merge-ort: record the reason that we want a rename for a directory
61
- + merge-ort, diffcore-rename: tweak dirs_removed and relevant_source type
62
- + diffcore-rename: take advantage of "majority rules" to skip more renames
63
- (this branch is used by en/ort-perf-batch-11 and en/ort-readiness.)
64
-
65
- Various rename detection optimization to help "ort" merge strategy
66
- backend.
67
-
68
-
69
-* en/ort-readiness (2021-03-20) 13 commits
70
- (merged to 'next' on 2021-04-08 at 20283a3f10)
71
- + Add testing with merge-ort merge strategy
72
- + t6423: mark remaining expected failure under merge-ort as such
73
- + Revert "merge-ort: ignore the directory rename split conflict for now"
74
- + merge-recursive: add a bunch of FIXME comments documenting known bugs
75
- + merge-ort: write $GIT_DIR/AUTO_MERGE whenever we hit a conflict
76
- + t: mark several submodule merging tests as fixed under merge-ort
77
- + merge-ort: implement CE_SKIP_WORKTREE handling with conflicted entries
78
- + t6428: new test for SKIP_WORKTREE handling and conflicts
79
- + merge-ort: support subtree shifting
80
- + merge-ort: let renormalization change modify/delete into clean delete
81
- + merge-ort: have ll_merge() use a special attr_index for renormalization
82
- + merge-ort: add a special minimal index just for renormalization
83
- + merge-ort: use STABLE_QSORT instead of QSORT where required
84
- (this branch is used by en/ort-perf-batch-11; uses en/ort-perf-batch-10.)
85
-
86
- Plug the ort merge backend throughout the rest of the system, and
87
- start testing it as a replacement for the recursive backend.
51
+* ab/detox-gettext-tests (2021-04-13) 1 commit
52
+ (merged to 'next' on 2021-04-15 at db0da2903a)
53
+ + tests: remove all uses of test_i18cmp
54
89
---------------------------------------------------
90
-[New Topics]
55
+ Test clean-up.
56
92
-* ba/object-info (2021-04-15) 2 commits
93
- - SQUASH???
94
- - object-info: support for retrieving object info
57
96
- Over-the-wire protocol learns a new request type to ask for object
97
- sizes given a list of object names.
58
+* ab/usage-error-docs (2021-04-13) 3 commits
59
+ (merged to 'next' on 2021-04-15 at dbbbaa5eea)
60
+ + api docs: document that BUG() emits a trace2 error event
61
+ + api docs: document BUG() in api-error-handling.txt
62
+ + usage.c: don't copy/paste the same comment three times
63
+
64
+ Documentation updates, with unrelated comment updates, too.
65
+
66
+
67
+* ab/userdiff-tests (2021-04-08) 9 commits
68
+ (merged to 'next' on 2021-04-13 at 35fb0e853d)
69
+ + blame tests: simplify userdiff driver test
70
+ + blame tests: don't rely on t/t4018/ directory
71
+ + userdiff: remove support for "broken" tests
72
+ + userdiff tests: list builtin drivers via test-tool
73
+ + userdiff tests: explicitly test "default" pattern
74
+ + userdiff: add and use for_each_userdiff_driver()
75
+ + userdiff style: normalize pascal regex declaration
76
+ + userdiff style: declare patterns with consistent style
77
+ + userdiff style: re-order drivers in alphabetical order
78
+
79
+ A bit of code clean-up and a lot of test clean-up around userdiff
80
+ area.
81
+
82
+
83
+* ar/userdiff-scheme (2021-04-08) 1 commit
84
+ (merged to 'next' on 2021-04-13 at eb80d55a8c)
85
+ + userdiff: add support for Scheme
86
+
87
+ Userdiff patterns for "Scheme" has been added.
88
+
89
+
90
+* hn/reftable-tables-doc-update (2021-04-12) 1 commit
91
+ (merged to 'next' on 2021-04-13 at cdadb2c621)
92
+ + reftable: document an alternate cleanup method on Windows
93
+
94
+ Doc updte.
95
+
96
+
97
+* jc/doc-do-not-capitalize-clarification (2021-04-14) 1 commit
98
+ (merged to 'next' on 2021-04-15 at 873f7a1f84)
99
+ + doc: clarify "do not capitalize the first word" rule
100
+
101
+ Doc update for developers.
102
+
103
+
104
+* jk/pack-objects-bitmap-progress-fix (2021-04-12) 1 commit
105
+ (merged to 'next' on 2021-04-13 at bbe18a7b3a)
106
+ + pack-objects: update "nr_seen" progress based on pack-reused count
107
+
108
+ When "git pack-objects" makes a literal copy of a part of existing
109
+ packfile using the reachability bitmaps, its update to the progress
110
+ meter was broken.
111
112
113
* js/access-nul-emulation-on-windows (2021-04-16) 1 commit
@@ -103,71 +116,251 @@ Release tarballs are available at:
116
117
Portability fix.
118
119
+
120
+* jt/fetch-pack-request-fix (2021-04-08) 1 commit
121
+ (merged to 'next' on 2021-04-15 at 25c02ce3c3)
122
+ + fetch-pack: buffer object-format with other args
123
+ (this branch is used by jt/push-negotiation.)
124
+
125
+ The response to the "object-format" capability in the fetch client
126
+ codepath were malformed, which has been corrected. It is
127
+ understandable that this bug has been hidden, as practically nobody
128
+ uses the non-standard hash function yet.
129
+
130
+
131
+* sg/bugreport-fixes (2021-04-08) 1 commit
132
+ (merged to 'next' on 2021-04-16 at e93602f4df)
133
+ + Makefile: add missing dependencies of 'config-list.h'
134
+ (this branch is used by so/log-diff-merge.)
135
+
136
+ The dependencies for config-list.h and command-list.h were broken
137
+ when the former was split out of the latter, which has been
138
+ corrected.
139
+
140
+--------------------------------------------------
141
+[New Topics]
142
+
143
+* ab/pathname-encoding-doc (2021-04-20) 1 commit
144
+ (merged to 'next' on 2021-04-20 at a90562c59f)
145
+ + doc: clarify the filename encoding in git diff
146
+
147
+ Clarify that pathnames recorded in Git trees are most often (but
148
+ not necessarily) encoded in UTF-8.
149
+
150
Will merge to 'master'.
151
152
109
-* zh/format-ref-array-optim (2021-04-19) 2 commits
110
- - ref-filter: reuse output buffer
111
- - ref-filter: get rid of show_ref_array_item
153
+* dl/complete-stash-updates (2021-04-27) 4 commits
154
+ - git-completion.bash: consolidate cases in _git_stash()
155
+ - git-completion.bash: use $__git_cmd_idx in more places
156
+ - git-completion.bash: rename to $__git_cmd_idx
157
+ - git-completion.bash: separate some commands onto their own line
158
+ (this branch uses dl/complete-stash.)
159
113
- "git (branch|tag) --format=..." has been micro-optimized.
160
+ Further update the command line completion (in contrib/) for "git
161
+ stash".
162
115
- Almost there?
163
+ Will merge to 'next'?
164
165
118
-* vs/completion-with-set-u (2021-04-16) 1 commit
119
- - completion: avoid aliased command lookup error in nounset mode
166
+* ab/pretty-date-format-tests (2021-04-27) 2 commits
167
+ - pretty tests: give --date/format tests a better description
168
+ - pretty tests: simplify %aI/%cI date format test
169
+ (this branch is used by zh/pretty-date-human.)
170
121
- Effort to make the command line completion (in contrib/) safe with
122
- "set -u" continues.
171
+ Tweak a few tests for "log --format=..." that show timestamps in
172
+ various formats.
173
174
Will merge to 'next'.
175
176
127
-* hn/prep-tests-for-reftable (2021-04-19) 18 commits
128
- - t1415: set REFFILES for test specific to storage format
129
- - t4202: mark bogus head hash test with REFFILES
130
- - t7003: check reflog existence only for REFFILES
131
- - t7900: mark pack-refs tests as REFFILES
132
- - t1404: mark tests that muck with .git directly as REFFILES.
133
- - t2017: mark --orphan/logAllRefUpdates=false test as REFFILES
134
- - t1414: mark corruption test with REFFILES
135
- - t1407: require REFFILES for for_each_reflog test
136
- - test-lib: provide test prereq REFFILES
137
- - t5304: use "reflog expire --all" to clear the reflog
138
- - t7003: use rev-parse rather than FS inspection
139
- - t5000: inspect HEAD using git-rev-parse
140
- - t1301: fix typo in error message
141
- - t1413: use tar to save and restore entire .git directory
142
- - t1401-symbolic-ref: avoid direct filesystem access
143
- - t5601: read HEAD using rev-parse
144
- - t9300: check ref existence using git-rev-parse rather than FS check
145
- - t4202: split testcase for invalid HEAD symref and HEAD hash
177
+* ds/status-with-sparse-index (2021-04-28) 10 commits
178
+ - fsmonitor: test with sparse index
179
+ - status: use sparse-index throughout
180
+ - status: skip sparse-checkout percentage with sparse-index
181
+ - dir.c: accept a directory as part of cone-mode patterns
182
+ - unpack-trees: stop recursing into sparse directories
183
+ - unpack-trees: compare sparse directories correctly
184
+ - unpack-trees: preserve cache_bottom
185
+ - t1092: add tests for status/add and sparse files
186
+ - Merge branch 'mt/add-rm-in-sparse-checkout' into ds/status-with-sparse-index
187
+ - Merge branch 'ds/sparse-index-protections' into ds/status-with-sparse-index
188
+ (this branch uses ds/sparse-index, ds/sparse-index-protections and mt/add-rm-in-sparse-checkout.)
189
147
- Preliminary clean-up of tests before the main reftable changes
148
- hits the codebase.
190
+ "git status" codepath learned to work with sparsely populated index
191
+ without hydrating it fully.
192
193
151
-* ps/config-env-option-with-separate-value (2021-04-19) 2 commits
152
- - git: support separate arg for `--config-env`'s value
153
- - git.txt: fix synopsis of `--config-env` missing the equals sign
194
+* hn/trace-reflog-expiry (2021-04-27) 1 commit
195
+ - refs/debug: trace into reflog expiry too
196
155
- "git --config-env var=val cmd" weren't accepted (only
156
- --config-env=var=val was).
197
+ The reflog expiry machinery has been taught to emit trace events.
198
+
199
+ Will merge to 'next'.
200
+
201
+
202
+* jk/prune-with-bitmap-fix (2021-04-29) 2 commits
203
+ - prune: save reachable-from-recent objects with bitmaps
204
+ - pack-bitmap: clean up include_check after use
205
+
206
+ When the reachability bitmap is in effect, the "do not lose
207
+ recently created objects and those that are reachable from them"
208
+ safety to protect us from races were disabled by mistake, which has
209
+ been corrected.
210
+
211
+ Will merge to 'next'.
212
+
213
+
214
+* js/merge-already-up-to-date-message-reword (2021-04-28) 1 commit
215
+ - git-merge: rewrite already up to date message
216
+
217
+ A few variants of informational message "Already up-to-date" has
218
+ been rephrased.
219
+
220
+ Expecting a reroll.
221
+
222
+
223
+* jz/apply-3way-first-message-fix (2021-04-29) 1 commit
224
+ - apply: adjust messages to account for --3way changes
225
+
226
+ When we swapped the order of --3way fallback, we forgot to adjust
227
+ the message we give when the first method fails and the second
228
+ method is attempted (which used to be "direct application failed
229
+ hence we try 3way", now it is the other way around).
230
+
231
+ Will merge to 'next'.
232
+
233
+
234
+* ls/fast-export-signed (2021-04-28) 3 commits
235
+ - fast-export, fast-import: implement signed-commits
236
+ - fast-export: rename --signed-tags='warn' to 'warn-verbatim'
237
+ - git-fast-import.txt: add missing LF in the BNF
238
+
239
+ "git fast-export" offers a way to control how signed tags are
240
+ handled; the mechanism has been extended to allow specifying how
241
+ signed commits are handled as well.
242
+
243
+ Expecting a reroll.
244
+
245
+
246
+* ls/subtree (2021-04-28) 30 commits
247
+ - subtree: be stricter about validating flags
248
+ - subtree: push: allow specifying a local rev other than HEAD
249
+ - subtree: allow 'split' flags to be passed to 'push'
250
+ - subtree: allow --squash to be used with --rejoin
251
+ - subtree: give the docs a once-over
252
+ - subtree: have $indent actually affect indentation
253
+ - subtree: don't let debug and progress output clash
254
+ - subtree: add comments and sanity checks
255
+ - subtree: remove duplicate check
256
+ - subtree: parse revs in individual cmd_ functions
257
+ - subtree: use "^{commit}" instead of "^0"
258
+ - subtree: don't fuss with PATH
259
+ - subtree: use "$*" instead of "$@" as appropriate
260
+ - subtree: use more explicit variable names for cmdline args
261
+ - subtree: use git-sh-setup's `say`
262
+ - subtree: use `git merge-base --is-ancestor`
263
+ - subtree: drop support for git < 1.7
264
+ - subtree: more consistent error propagation
265
+ - subtree: don't have loose code outside of a function
266
+ - subtree: t7900: add porcelain tests for 'pull' and 'push'
267
+ - subtree: t7900: add a test for the -h flag
268
+ - subtree: t7900: rename last_commit_message to last_commit_subject
269
+ - subtree: t7900: fix 'verify one file change per commit'
270
+ - subtree: t7900: delete some dead code
271
+ - subtree: t7900: use 'test' for string equality
272
+ - subtree: t7900: comment subtree_test_create_repo
273
+ - subtree: t7900: use consistent formatting
274
+ - subtree: t7900: use test-lib.sh's test_count
275
+ - subtree: t7900: update for having the default branch name be 'main'
276
+ - .gitignore: ignore 'git-subtree' as a build artifact
277
+
278
+ "git subtree" updates.
279
+
280
+ Will merge to 'next'?
281
+ Unless somebody familiar with subtree speaks up soon and causes a
282
+ reroll.
283
+
284
+
285
+* mt/parallel-checkout-part-3 (2021-04-28) 7 commits
286
+ - ci: run test round with parallel-checkout enabled
287
+ - parallel-checkout: add tests related to .gitattributes
288
+ - parallel-checkout: add tests related to path collisions
289
+ - parallel-checkout: add tests for basic operations
290
+ - checkout-index: add parallel checkout support
291
+ - builtin/checkout.c: complete parallel checkout support
292
+ - make_transient_cache_entry(): optionally alloc from mem_pool
293
+ (this branch uses mt/parallel-checkout-part-2.)
294
+
295
+ The final part of "parallel checkout".
296
+
297
+ Waiting for a review.
298
+
299
+
300
+* po/diff-patch-doc (2021-04-28) 1 commit
301
+ - doc: point to diff attribute in patch format docs
302
+
303
+ Doc update.
304
+
305
+ Will merge to 'next'.
306
+
307
+
308
+* rj/bisect-skip-honor-terms (2021-04-28) 2 commits
309
+ - t6030: add test for git bisect skip started with --term-* arguments
310
+ - bisect--helper: use BISECT_TERMS in 'bisect skip' command
311
+
312
+ "git bisect skip" when custom words are used for new/old did not
313
+ work, which has been corrected.
314
+
315
+
316
+* tv/p4-fallback-encoding (2021-04-28) 1 commit
317
+ - add git-p4.fallbackEncoding config variable, to prevent git-p4 from crashing on non UTF-8 changeset descriptions
318
+
319
+ "git p4" learns the fallbackEncoding configuration variable to
320
+ safely accept changeset descriptions that aren't written in UTF-8.
321
+
322
+ Expecting a reroll.
323
+
324
+
325
+* zh/pretty-date-human (2021-04-27) 1 commit
326
+ - pretty: provide human date format
327
+ (this branch uses ab/pretty-date-format-tests.)
328
+
329
+ "git log --format=..." placeholders learned %ah/%ch placeholders to
330
+ request the --date=human output.
331
+
332
+ Will merge to 'next'?
333
334
--------------------------------------------------
335
[Stalled]
336
161
-* dl/complete-stash (2021-03-24) 3 commits
162
- (merged to 'next' on 2021-03-24 at ce573a99cc)
163
- + git-completion.bash: use __gitcomp_builtin() in _git_stash()
164
- + git-completion.bash: extract from else in _git_stash()
165
- + git-completion.bash: pass $__git_subcommand_idx from __git_main()
166
-
167
- Update "git stash branch<TAB>" command line completion (in contrib/).
337
+* jh/rfc-builtin-fsmonitor (2021-04-08) 23 commits
338
+ - t7527: test status with untracked-cache and fsmonitor--daemon
339
+ - p7519: add fsmonitor--daemon
340
+ - t7527: create test for fsmonitor--daemon
341
+ - fsmonitor: force update index when fsmonitor token advances
342
+ - fsmonitor--daemon: use a cookie file to sync with file system
343
+ - fsmonitor--daemon:: introduce client delay for testing
344
+ - fsmonitor--daemon: periodically truncate list of modified files
345
+ - fsmonitor--daemon: implement handle_client callback
346
+ - fsmonitor-fs-listen-macos: implement FSEvent listener on MacOS
347
+ - fsmonitor-fs-listen-macos: add macos header files for FSEvent
348
+ - fsmonitor-fs-listen-win32: implement FSMonitor backend on Windows
349
+ - fsmonitor--daemon: create token-based changed path cache
350
+ - fsmonitor--daemon: define token-ids
351
+ - fsmonitor--daemon: add pathname classification
352
+ - fsmonitor--daemon: implement daemon command options
353
+ - fsmonitor-fs-listen-macos: stub in backend for MacOS
354
+ - fsmonitor-fs-listen-win32: stub in backend for Windows
355
+ - fsmonitor--daemon: implement client command options
356
+ - fsmonitor--daemon: add a built-in fsmonitor daemon
357
+ - fsmonitor: introduce `core.useBuiltinFSMonitor` to call the daemon via IPC
358
+ - config: FSMonitor is repository-specific
359
+ - fsmonitor-ipc: create client routines for git-fsmonitor--daemon
360
+ - Merge branch 'jh/simple-ipc' into jh/rfc-builtin-fsmonitor
361
169
- On hold. Probably needs either a reroll or incremental refinements.
170
- cf. <20210327183554.GD2271@szeder.dev>
362
+ An attempt to write and ship with a watchman equivalent tailored
363
+ for our use.
364
365
366
* ag/merge-strategies-in-c (2021-03-17) 15 commits
@@ -194,23 +387,7 @@ Release tarballs are available at:
387
cf. <nycvar.QRO.7.76.6.2103241142220.50@tvgsbejvaqbjf.bet>
388
389
197
-* ab/unexpected-object-type (2021-04-14) 11 commits
198
- - fixup! object.c: stop supporting len == -1 in type_from_string_gently()
199
- - tag: don't misreport type of tagged objects in errors
200
- - object tests: add test for unexpected objects in tags
201
- - object.c: add and use oid_is_type_or_die_msg() function
202
- - object.c: add a utility function for "expected type X, got Y"
203
- - tree.c: fix misindentation in parse_tree_gently()
204
- - object-name.c: make dependency on object_type order more obvious
205
- - object-file.c: make oid_object_info() return "enum object_type"
206
- - object.c: make type_from_string() return "enum object_type"
207
- - object.c: refactor type_from_string_gently()
208
- - object.c: stop supporting len == -1 in type_from_string_gently()
209
-
210
- Error reporting upon object type mismatch has been improved
211
-
212
-
213
-* ab/describe-tests-fix (2021-04-12) 5 commits
390
+* ab/describe-tests-fix (2021-04-29) 5 commits
391
- describe tests: support -C in "check_describe"
392
- describe tests: fix nested "test_expect_success" call
393
- describe tests: don't rely on err.actual from "check_describe"
@@ -221,7 +398,7 @@ Release tarballs are available at:
398
Various updates to tests around "git describe"
399
400
224
-* ab/pickaxe-pcre2 (2021-04-12) 22 commits
401
+* ab/pickaxe-pcre2 (2021-04-29) 22 commits
402
- xdiff-interface: replace discard_hunk_line() with a flag
403
- xdiff users: use designated initializers for out_line
404
- pickaxe -G: don't special-case create/delete
@@ -293,15 +470,84 @@ Release tarballs are available at:
470
--------------------------------------------------
471
[Cooking]
472
296
-* ab/detox-gettext-tests (2021-04-13) 1 commit
297
- (merged to 'next' on 2021-04-15 at db0da2903a)
298
- + tests: remove all uses of test_i18cmp
473
+* dl/complete-stash (2021-03-24) 3 commits
474
+ (merged to 'next' on 2021-03-24 at ce573a99cc)
475
+ + git-completion.bash: use __gitcomp_builtin() in _git_stash()
476
+ + git-completion.bash: extract from else in _git_stash()
477
+ + git-completion.bash: pass $__git_subcommand_idx from __git_main()
478
+ (this branch is used by dl/complete-stash-updates.)
479
300
- Test clean-up.
480
+ The command line completion (in contrib/) for "git stash" has been
481
+ updated.
482
+
483
+ Wait until dl/complete-stash-updates matures.
484
+
485
+
486
+* ba/object-info (2021-04-20) 1 commit
487
+ - object-info: support for retrieving object info
488
+
489
+ Over-the-wire protocol learns a new request type to ask for object
490
+ sizes given a list of object names.
491
+
492
+
493
+* zh/format-ref-array-optim (2021-04-20) 2 commits
494
+ - ref-filter: reuse output buffer
495
+ - ref-filter: get rid of show_ref_array_item
496
+
497
+ "git (branch|tag) --format=..." has been micro-optimized.
498
+
499
+ Will merge to 'next'?
500
+
501
+
502
+* vs/completion-with-set-u (2021-04-16) 1 commit
503
+ (merged to 'next' on 2021-04-20 at 179933f961)
504
+ + completion: avoid aliased command lookup error in nounset mode
505
+
506
+ Effort to make the command line completion (in contrib/) safe with
507
+ "set -u" continues.
508
509
Will merge to 'master'.
510
511
512
+* hn/prep-tests-for-reftable (2021-04-28) 21 commits
513
+ - t1415: set REFFILES for test specific to storage format
514
+ - t4202: mark bogus head hash test with REFFILES
515
+ - t7003: check reflog existence only for REFFILES
516
+ - t7900: mark pack-refs tests as REFFILES
517
+ - t1404: mark tests that muck with .git directly as REFFILES.
518
+ - t2017: mark --orphan/logAllRefUpdates=false test as REFFILES
519
+ - t1414: mark corruption test with REFFILES
520
+ - t1407: require REFFILES for for_each_reflog test
521
+ - test-lib: provide test prereq REFFILES
522
+ - t5304: use "reflog expire --all" to clear the reflog
523
+ - t5304: restyle: trim empty lines, drop ':' before >
524
+ - t7003: use rev-parse rather than FS inspection
525
+ - t5000: inspect HEAD using git-rev-parse
526
+ - t5000: reformat indentation to the latest fashion
527
+ - t1301: fix typo in error message
528
+ - t1413: use tar to save and restore entire .git directory
529
+ - t1401-symbolic-ref: avoid direct filesystem access
530
+ - t5601: read HEAD using rev-parse
531
+ - t9300: check ref existence using test-helper rather than a file system check
532
+ - t/helper/ref-store: initialize oid in resolve-ref
533
+ - t4202: split testcase for invalid HEAD symref and HEAD hash
534
+
535
+ Preliminary clean-up of tests before the main reftable changes
536
+ hits the codebase.
537
+
538
+
539
+* ps/config-env-option-with-separate-value (2021-04-19) 2 commits
540
+ - git: support separate arg for `--config-env`'s value
541
+ - git.txt: fix synopsis of `--config-env` missing the equals sign
542
+
543
+ "git --config-env var=val cmd" weren't accepted (only
544
+ --config-env=var=val was).
545
+
546
+ Will merge to 'next'.
547
+ possibly with minimum fix-up?
548
+ cf. <YIKcZxEDsG7qsE4G@coredump.intra.peff.net>
549
+
550
+
551
* ab/fsck-unexpected-type (2021-04-13) 6 commits
552
- fsck: report invalid object type-path combinations
553
- fsck: report invalid types recorded in objects
@@ -313,16 +559,7 @@ Release tarballs are available at:
559
"git fsck" has been taught to report mismatch between expected and
560
actual types of an object better.
561
316
-
317
-* ab/usage-error-docs (2021-04-13) 3 commits
318
- (merged to 'next' on 2021-04-15 at dbbbaa5eea)
319
- + api docs: document that BUG() emits a trace2 error event
320
- + api docs: document BUG() in api-error-handling.txt
321
- + usage.c: don't copy/paste the same comment three times
322
-
323
- Documentation updates, with unrelated comment updates, too.
324
-
325
- Will merge to 'master'.
562
+ Expecting a reroll.
563
564
565
* jk/promisor-optim (2021-04-13) 3 commits
@@ -345,7 +582,6 @@ Release tarballs are available at:
582
+ diff-merges: adapt -m to enable default diff format
583
+ diff-merges: refactor set_diff_merges()
584
+ diff-merges: introduce --diff-merges=on
348
- (this branch uses sg/bugreport-fixes.)
585
586
"git log" learned "--diff-merges=<style>" option, with an
587
associated configuration variable log.diffMerges.
@@ -353,26 +589,13 @@ Release tarballs are available at:
589
Will merge to 'master'.
590
591
356
-* rs/repack-without-loosening-promised-objects (2021-04-19) 1 commit
592
+* rs/repack-without-loosening-promised-objects (2021-04-28) 1 commit
593
- repack: avoid loosening promisor objects in partial clones
594
(this branch uses jk/promisor-optim.)
595
596
"git repack -A -d" in a partial clone unnecessarily loosened
597
objects in promisor pack.
598
363
- Almost there.
364
- cf. <20210419191553.581877-1-jonathantanmy@google.com>
365
- cf. <xmqqa6pt98j4.fsf@gitster.g>
366
-
367
-
368
-* jc/doc-do-not-capitalize-clarification (2021-04-14) 1 commit
369
- (merged to 'next' on 2021-04-15 at 873f7a1f84)
370
- + doc: clarify "do not capitalize the first word" rule
371
-
372
- Doc update for developers.
373
-
374
- Will merge to 'master'.
375
-
599
600
* mt/pkt-write-errors (2021-04-15) 1 commit
601
(merged to 'next' on 2021-04-16 at 4a82d89ff3)
@@ -394,14 +617,6 @@ Release tarballs are available at:
617
Will merge to 'master'.
618
619
397
-* jt/fetch-pack-request-fix (2021-04-08) 1 commit
398
- (merged to 'next' on 2021-04-15 at 25c02ce3c3)
399
- + fetch-pack: buffer object-format with other args
400
- (this branch is used by jt/push-negotiation.)
401
-
402
- Will merge to 'master'.
403
-
404
-
620
* jt/push-negotiation (2021-04-08) 6 commits
621
- send-pack: support push negotiation
622
- fetch: teach independent negotiation (no packfile)
@@ -409,13 +624,10 @@ Release tarballs are available at:
624
- fetch-pack: refactor add_haves()
625
- fetch-pack: refactor process_acks()
626
- Merge branch 'jt/fetch-pack-request-fix' into jt/push-negotiation
412
- (this branch uses jt/fetch-pack-request-fix.)
627
628
"git push" learns to discover common ancestor with the receiving
629
end over protocol v2.
630
417
- Waiting for reviews.
418
-
631
632
* ab/doc-lint (2021-04-10) 7 commits
633
- docs: fix linting issues due to incorrect relative section order
@@ -428,7 +640,7 @@ Release tarballs are available at:
640
641
Dev support.
642
431
- Waiting for reviews to conclude.
643
+ Will merge to 'next'.
644
645
646
* ab/rebase-no-reschedule-failed-exec (2021-04-10) 2 commits
@@ -438,50 +650,46 @@ Release tarballs are available at:
650
"git rebase --[no-]reschedule-failed-exec" did not work well with
651
its configuration variable, which has been corrected.
652
441
- Waiting for reviews to conclude.
653
+ Will merge to 'next'.
654
655
444
-* ah/plugleaks (2021-04-10) 9 commits
656
+* ah/plugleaks (2021-04-28) 12 commits
657
- builtin/rm: avoid leaking pathspec and seen
658
- builtin/rebase: release git_format_patch_opt too
659
- builtin/for-each-ref: free filter and UNLEAK sorting.
660
+ - mailinfo: also free strbuf lists when clearing mailinfo
661
- builtin/checkout: clear pending objects after diffing
662
- builtin/check-ignore: clear_pathspec before returning
663
- builtin/bugreport: don't leak prefixed filename
664
- branch: FREE_AND_NULL instead of NULL'ing real_ref
665
- bloom: clear each bloom_key after use
666
+ - ls-files: free max_prefix when done
667
- wt-status: fix multiple small leaks
668
+ - revision: free remainder of old commit list in limit_list
669
670
Plug various leans reported by LSAN.
671
457
- Waiting for reroll.
458
- What is queued here is a subset of the original series that
459
- looked (at least to me) to be obviously correct.
672
+ Will merge to 'next'?
673
674
462
-* bc/hash-transition-interop-part-1 (2021-04-19) 17 commits
463
- - http-push: set algorithm when reading object ID
464
- - fixup! hash: provide per-algorithm null OIDs
675
+* bc/hash-transition-interop-part-1 (2021-04-27) 13 commits
676
- hex: print objects using the hash algorithm member
677
- hex: default to the_hash_algo on zero algorithm value
678
- builtin/pack-objects: avoid using struct object_id for pack hash
679
- commit-graph: don't store file hashes as struct object_id
680
- builtin/show-index: set the algorithm for object IDs
681
- hash: provide per-algorithm null OIDs
471
- - hash: set and copy algo field in struct object_id
472
- - cache: compare the entire buffer for struct object_id
682
+ - hash: set, copy, and use algo field in struct object_id
683
- builtin/pack-redundant: avoid casting buffers to struct object_id
684
- Use the final_oid_fn to finalize hashing of object IDs
685
- hash: add a function to finalize object IDs
686
+ - http-push: set algorithm when reading object ID
687
- Always use oidread to read into struct object_id
477
- - cache: add an algo member to struct object_id
478
- - builtin/hash-object: allow literally hashing with a given algorithm
479
- - sha1-file: allow hashing objects literally with any algorithm
688
+ - hash: add an algo member to struct object_id
689
690
SHA-256 transition.
691
483
- Expecting a reroll.
484
- cf. <YHzmjhLy2QjDefXy@camp.crustytoothpaste.net>
692
+ Will merge to 'next'?
693
694
695
* ps/rev-list-object-type-filter (2021-04-19) 8 commits
@@ -498,8 +706,8 @@ Release tarballs are available at:
706
which can be used to exclude objects of the given kind from the
707
packfile generated by pack-objects.
708
501
- Will merge to 'next'?
502
- cf. <cover.1618832437.git.ps@pks.im>
709
+ Will merge to 'next'.
710
+ cf. <YIKPwRFbgzKJ1EBg@coredump.intra.peff.net>
711
712
713
* tb/multi-pack-bitmaps (2021-04-10) 23 commits
@@ -541,32 +749,26 @@ Release tarballs are available at:
749
750
Test clean-up.
751
544
- Waiting for reviews.
545
- cf. <87mttx121j.fsf@evledraar.gmail.com>
752
+ Will merge to 'next'.
753
754
548
-* ab/test-lib-updates (2021-04-12) 16 commits
549
- - test-lib-functions: remove last two parameter count assertions
550
- - Revert and amend "test-lib-functions: assert correct parameter count"
551
- - test-lib-functions: use "return 1" instead of "false"
552
- - test-lib-functions: normalize test_path_is_missing() debugging
553
- - test-lib: modernize test_create_repo() function
755
+* ab/test-lib-updates (2021-04-29) 11 commits
756
+ - test-lib: split up and deprecate test_create_repo()
757
- test-lib: do not show advice about init.defaultBranch under --verbose
758
- test-lib: reformat argument list in test_create_repo()
759
- submodule tests: use symbolic-ref --short to discover branch name
760
- test-lib functions: add --printf option to test_commit
761
- describe tests: convert setup to use test_commit
559
- - test-lib functions: add an --annotated-tag option to "test_commit"
762
+ - test-lib functions: add an --annotated option to "test_commit"
763
- test-lib-functions: document test_commit --no-tag
764
- test-lib-functions: reword "test_commit --append" docs
765
- test-lib tests: remove dead GIT_TEST_FRAMEWORK_SELFTEST variable
766
- test-lib: bring $remove_trash out of retirement
564
- - check-non-portable-shell: complain about "test" a/-o instead of &&/||
767
(this branch is used by ab/describe-tests-fix and ab/pickaxe-pcre2.)
768
769
Test clean-up.
770
569
- Waiting for review discussion to conclude.
771
+ Waiting for an Ack before merging them to 'next'.
772
773
774
* ao/p4-avoid-decoding (2021-04-12) 2 commits
@@ -582,33 +784,13 @@ Release tarballs are available at:
784
785
786
* hn/refs-trace-errno (2021-04-12) 1 commit
585
- - refs: print errno for read_raw_ref if GIT_TRACE_REFS is set
787
+ (merged to 'next' on 2021-04-20 at 0816e49d22)
788
+ + refs: print errno for read_raw_ref if GIT_TRACE_REFS is set
789
790
Show errno in the trace output in the error codepath that calls
791
read_raw_ref method.
792
590
- Waiting for reviews to conclude.
591
- cf. <xmqq4kgbb2ic.fsf@gitster.g>
592
-
593
-
594
-* hn/reftable-tables-doc-update (2021-04-12) 1 commit
595
- (merged to 'next' on 2021-04-13 at cdadb2c621)
596
- + reftable: document an alternate cleanup method on Windows
597
-
598
- Doc updte.
599
-
600
- Will merge to 'master'.
601
-
602
-
603
-* jk/pack-objects-bitmap-progress-fix (2021-04-12) 1 commit
604
- (merged to 'next' on 2021-04-13 at bbe18a7b3a)
605
- + pack-objects: update "nr_seen" progress based on pack-reused count
606
-
607
- When "git pack-objects" makes a literal copy of a part of existing
608
- packfile using the reachability bitmaps, its update to the progress
609
- meter was broken.
610
-
611
- Will merge to 'master'.
793
+ Will merge to 'master'
794
795
796
* ma/t0091-bugreport-fix (2021-04-12) 1 commit
@@ -620,10 +802,12 @@ Release tarballs are available at:
802
cf. <YHYZTLl90rkWWVOr@google.com>, <87a6q22dei.fsf@evledraar.gmail.com>
803
804
623
-* ps/config-global-override (2021-04-19) 3 commits
624
- - config: allow overriding of global and system configuration
625
- - config: unify code paths to get global config paths
626
- - config: rename `git_etc_config()`
805
+* ps/config-global-override (2021-04-27) 4 commits
806
+ - t1300: fix unset of GIT_CONFIG_NOSYSTEM leaking into subsequent tests
807
+ (merged to 'next' on 2021-04-20 at 82578c696d)
808
+ + config: allow overriding of global and system configuration
809
+ + config: unify code paths to get global config paths
810
+ + config: rename `git_etc_config()`
811
812
Replace GIT_CONFIG_NOSYSTEM mechanism to decline from reading the
813
system-wide configuration file with GIT_CONFIG_SYSTEM that lets
@@ -632,8 +816,7 @@ Release tarballs are available at:
816
setting NOSYSTEM), and introduce GIT_CONFIG_GLOBAL to override the
817
per-user configuration in $HOME/.gitconfig.
818
635
- Will merge to 'next'?
636
- Reverted from 'next' to fix GIT_CONFIG_NOSYSTEM regression.
819
+ Will merge to 'next'.
820
821
822
* ds/maintenance-prefetch-fix (2021-04-16) 4 commits
@@ -665,18 +848,6 @@ Release tarballs are available at:
848
May want to boost the test coverage.
849
850
668
-* sg/bugreport-fixes (2021-04-08) 1 commit
669
- (merged to 'next' on 2021-04-16 at e93602f4df)
670
- + Makefile: add missing dependencies of 'config-list.h'
671
- (this branch is used by so/log-diff-merge.)
672
-
673
- The dependencies for config-list.h and command-list.h were broken
674
- when the former was split out of the latter, which has been
675
- corrected.
676
-
677
- Will merge to 'master'.
678
-
679
-
851
* mt/add-rm-in-sparse-checkout (2021-04-08) 7 commits
852
- rm: honor sparse checkout patterns
853
- add: warn when asked to update SKIP_WORKTREE entries
@@ -685,41 +856,12 @@ Release tarballs are available at:
856
- add: make --chmod and --renormalize honor sparse checkouts
857
- t3705: add tests for `git add` in sparse checkouts
858
- add: include magic part of pathspec on --refresh error
859
+ (this branch is used by ds/status-with-sparse-index.)
860
861
"git add" and "git rm" learned not to touch those paths that are
862
outside of sparse checkout.
863
692
-
693
-* jh/rfc-builtin-fsmonitor (2021-04-08) 23 commits
694
- - t7527: test status with untracked-cache and fsmonitor--daemon
695
- - p7519: add fsmonitor--daemon
696
- - t7527: create test for fsmonitor--daemon
697
- - fsmonitor: force update index when fsmonitor token advances
698
- - fsmonitor--daemon: use a cookie file to sync with file system
699
- - fsmonitor--daemon:: introduce client delay for testing
700
- - fsmonitor--daemon: periodically truncate list of modified files
701
- - fsmonitor--daemon: implement handle_client callback
702
- - fsmonitor-fs-listen-macos: implement FSEvent listener on MacOS
703
- - fsmonitor-fs-listen-macos: add macos header files for FSEvent
704
- - fsmonitor-fs-listen-win32: implement FSMonitor backend on Windows
705
- - fsmonitor--daemon: create token-based changed path cache
706
- - fsmonitor--daemon: define token-ids
707
- - fsmonitor--daemon: add pathname classification
708
- - fsmonitor--daemon: implement daemon command options
709
- - fsmonitor-fs-listen-macos: stub in backend for MacOS
710
- - fsmonitor-fs-listen-win32: stub in backend for Windows
711
- - fsmonitor--daemon: implement client command options
712
- - fsmonitor--daemon: add a built-in fsmonitor daemon
713
- - fsmonitor: introduce `core.useBuiltinFSMonitor` to call the daemon via IPC
714
- - config: FSMonitor is repository-specific
715
- - fsmonitor-ipc: create client routines for git-fsmonitor--daemon
716
- - Merge branch 'jh/simple-ipc' into jh/rfc-builtin-fsmonitor
717
-
718
- An attempt to write and ship with a watchman equivalent tailored
719
- for our use.
720
-
721
- Will discard.
722
- ... as nobody seems to be interested.
864
+ Will merge to 'next'.
865
866
867
* zh/trailer-cmd (2021-04-17) 2 commits
@@ -732,35 +874,7 @@ Release tarballs are available at:
874
same goal in a safer and more intuitive way has been added, as
875
the trailer.<token>.cmd configuration variable, to replace it.
876
735
- Waiting for reviews to conclude.
736
- cf. <xmqq5z0kbl8x.fsf@gitster.g>
737
-
738
-
739
-* ab/userdiff-tests (2021-04-08) 9 commits
740
- (merged to 'next' on 2021-04-13 at 35fb0e853d)
741
- + blame tests: simplify userdiff driver test
742
- + blame tests: don't rely on t/t4018/ directory
743
- + userdiff: remove support for "broken" tests
744
- + userdiff tests: list builtin drivers via test-tool
745
- + userdiff tests: explicitly test "default" pattern
746
- + userdiff: add and use for_each_userdiff_driver()
747
- + userdiff style: normalize pascal regex declaration
748
- + userdiff style: declare patterns with consistent style
749
- + userdiff style: re-order drivers in alphabetical order
750
-
751
- A bit of code clean-up and a lot of test clean-up around userdiff
752
- area.
753
-
754
- Will merge to 'master'.
755
-
756
-
757
-* ar/userdiff-scheme (2021-04-08) 1 commit
758
- (merged to 'next' on 2021-04-13 at eb80d55a8c)
759
- + userdiff: add support for Scheme
760
-
761
- Userdiff patterns for "Scheme" has been added.
762
-
763
- Will merge to 'master'.
877
+ Expecting a reroll, after waiting for "commit --trailer" to stabilize.
878
879
880
* ds/sparse-index (2021-03-30) 21 commits
@@ -786,7 +900,7 @@ Release tarballs are available at:
900
+ t1092: clean up script quoting
901
+ t/perf: add performance test for sparse operations
902
+ sparse-index: design doc and format update
789
- (this branch is used by ds/sparse-index-protections.)
903
+ (this branch is used by ds/sparse-index-protections and ds/status-with-sparse-index.)
904
905
Both in-core and on-disk index has been updated to optionally omit
906
individual entries and replace them with the tree object that
@@ -797,16 +911,18 @@ Release tarballs are available at:
911
912
913
* mt/parallel-checkout-part-2 (2021-04-19) 5 commits
800
- - parallel-checkout: add design documentation
801
- - parallel-checkout: support progress displaying
802
- - parallel-checkout: add configuration options
803
- - parallel-checkout: make it truly parallel
804
- - unpack-trees: add basic support for parallel checkout
914
+ (merged to 'next' on 2021-04-20 at d4779b8864)
915
+ + parallel-checkout: add design documentation
916
+ + parallel-checkout: support progress displaying
917
+ + parallel-checkout: add configuration options
918
+ + parallel-checkout: make it truly parallel
919
+ + unpack-trees: add basic support for parallel checkout
920
+ (this branch is used by mt/parallel-checkout-part-3.)
921
922
The checkout machinery has been taught to perform the actual
923
write-out of the files in parallel when able.
924
809
- Will merge to 'next'.
925
+ Will merge to 'master'.
926
927
928
* ds/sparse-index-protections (2021-04-14) 26 commits
@@ -837,7 +953,7 @@ Release tarballs are available at:
953
+ read-cache: expand on query into sparse-directory entry
954
+ *: remove 'const' qualifier for struct index_state
955
+ sparse-index: API protection strategy
840
- (this branch uses ds/sparse-index.)
956
+ (this branch is used by ds/status-with-sparse-index; uses ds/sparse-index.)
957
958
Builds on top of the sparse-index infrastructure to mark operations
959
that are not ready to mark with the sparse index, causing them to
@@ -846,58 +962,34 @@ Release tarballs are available at:
962
Will merge to 'master'.
963
964
849
-* hn/reftable (2021-04-14) 21 commits
850
- . SQUASH??? reftable: prepare for hash-algo recorded in each oid
851
- . Add "test-tool dump-reftable" command.
852
- . git-prompt: prepare for reftable refs backend
853
- . Reftable support for git-core
854
- . reftable: add dump utility
855
- . reftable: implement stack, a mutable database of reftable files.
856
- . reftable: implement refname validation
857
- . reftable: add merged table view
858
- . reftable: add a heap-based priority queue for reftable records
859
- . reftable: reftable file level tests
860
- . reftable: read reftable files
861
- . reftable: generic interface to tables
862
- . reftable: write reftable files
863
- . reftable: a generic binary tree implementation
864
- . reftable: reading/writing blocks
865
- . reftable: (de)serialization for the polymorphic record type.
866
- . reftable: add blocksource, an abstraction for random access reads
867
- . reftable: utility functions
868
- . reftable: add error related functionality
869
- . reftable: add LICENSE
870
- . init-db: set the_repository->hash_algo early on
965
+* hn/reftable (2021-04-20) 28 commits
966
+ - t1404: annotate test cases with REFFILES
967
+ - t1401,t2011: parameterize HEAD.lock for REFTABLE
968
+ - t1301: document what needs to be done for REFTABLE
969
+ - Add "test-tool dump-reftable" command.
970
+ - git-prompt: prepare for reftable refs backend
971
+ - Reftable support for git-core
972
+ - reftable: add dump utility
973
+ - reftable: implement stack, a mutable database of reftable files.
974
+ - reftable: implement refname validation
975
+ - reftable: add merged table view
976
+ - reftable: add a heap-based priority queue for reftable records
977
+ - reftable: reftable file level tests
978
+ - reftable: read reftable files
979
+ - reftable: generic interface to tables
980
+ - reftable: write reftable files
981
+ - reftable: a generic binary tree implementation
982
+ - reftable: reading/writing blocks
983
+ - Provide zlib's uncompress2 from compat/zlib-compat.c
984
+ - reftable: (de)serialization for the polymorphic record type.
985
+ - reftable: add blocksource, an abstraction for random access reads
986
+ - reftable: utility functions
987
+ - reftable: add error related functionality
988
+ - reftable: add LICENSE
989
+ - init-db: set the_repository->hash_algo early on
990
+ - hash.h: provide constants for the hash IDs
991
+ - refs/debug: trace into reflog expiry too
992
+ - refs: document reflog_expire_fn's flag argument
993
+ - refs: ref_iterator_peel returns boolean, rather than peel_status
994
995
The "reftable" backend for the refs API.
873
-
874
- Reroll exists; needs picking up.
875
- cf. <pull.847.v7.git.git.1618832276.gitgitgadget@gmail.com>
876
-
877
---------------------------------------------------
878
-[Discarded]
879
-
880
-* ab/make-cocci-dedup (2021-03-22) 4 commits
881
- . Makefile/coccicheck: set SPATCH_BATCH_SIZE to 8
882
- . Makefile/coccicheck: allow for setting xargs concurrency
883
- . Makefile/coccicheck: speed up and fix bug with duplicate hunks
884
- . Makefile/coccicheck: add comment heading for all SPATCH flags
885
-
886
- Coccicheck update.
887
-
888
- Retracted.
889
- cf. <cover.1616414951.git.avarab@gmail.com>
890
- cf. <87k0psnzv5.fsf@evledraar.gmail.com>
891
-
892
-
893
-* ab/tests-cleanup-around-sha1 (2021-03-10) 4 commits
894
- . tests: get rid of $_x05 from the test suite
895
- . shortlog tests: rewrite to get rid of --abbrev=35 hardcoding
896
- . test-lib: remove unused $_x40 and $_z40 variables
897
- . git-bisect: remove unused SHA-1 $x40 shell variable
898
-
899
- Remove variables that hold regexp and glob that match fixed number
900
- of hexadecimal digits from the test suite.
901
-
902
- Retracted, to be replaced by another series.
903
- cf. <878s67o09v.fsf@evledraar.gmail.com>