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>