What's cooking (2021/03 #06)

Junio C Hamano committed Mar 20, 2021 at 14:37 UTC 2f8517ffbace60c203fb0413eeaf68726f26b5b9
1 file changed +367 -194
whats-cooking.txt
+367 -194
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Mar 2021, #05; Wed, 17)
4 -X-master-at: a5828ae6b52137b913b978e16cd2334482eb4c1f
5 -X-next-at: 576ba9dcdaf1007243f5a5cb4bf1a1e7b8fcf850
3 +Subject: What's cooking in git.git (Mar 2021, #06; Sat, 20)
4 +X-master-at: 98164e9585e02e31dcf1377a553efe076c15f8c6
5 +X-next-at: 969a361487c061e846b5006dbe0a9d5867dba012
6
7 -What's cooking in git.git (Mar 2021, #05; Wed, 17)
7 +What's cooking in git.git (Mar 2021, #06; Sat, 20)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with '-' are
@@ -12,17 +12,13 @@ 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 -Git 2.31 has been tagged. We will hopefully either (1) not see
16 -brown-paper-bag breakages at all, or (2) will see some but can
17 -immediately deal with them, in coming couple of days. After that,
18 -the 2.32 cycle will gain steam, starting next week. Let's see.
15 +The first batch of topics (all fixes, and most are meant to be
16 +merged eventually to the maintenance track) is in 'master'.
17
20 -Many topics marked as "Will cook in 'next'" should be marked for
21 -merging to 'master' now, but that hasn't happened yet. Please
22 -nominate those that should be kicked back from 'next' to 'seen', if
23 -there are any. Please also nominate those that should be among the
24 -first batch of topics to be in 'master' (after a handful of 2.31
25 -regression fixes go through 'next' down to 'master', that is).
18 +The tip of the 'next' hasn't been rewound yet, so it is a good time
19 +to nominate those topics that would benefit by a chance to get rid
20 +of "oops that was wrong and here is a fix" steps out of them by
21 +rebuilding on a clean slate.
22
23 Copies of the source code to Git live in many repositories, and the
24 following is a list of the ones I push into or their mirrors. Some
@@ -53,124 +49,287 @@ Release tarballs are available at:
49 https://www.kernel.org/pub/software/scm/git/
50
51 --------------------------------------------------
56 -[New Topics]
57 -
58 -* jc/calloc-fix (2021-03-15) 1 commit
59 - - xcalloc: use CALLOC_ARRAY() when applicable
52 +[Graduated to 'master']
53
61 - Code clean-up.
54 +* ah/make-fuzz-all-doc-update (2021-03-08) 1 commit
55 + (merged to 'next' on 2021-03-13 at e82816998f)
56 + + Makefile: update 'make fuzz-all' docs to reflect modern clang
57
63 - Will merge to 'next'.
58 + Update insn in Makefile comments to run fuzz-all target.
59
60
66 -* ab/tree-walk-with-object-type (2021-03-17) 32 commits
67 - - tree-walk.h API: add a tree_entry_extract_type() function
68 - - blame: emit a better error on 'git blame directory'
69 - - tree-walk.h API: add a get_tree_entry_path() function
70 - - tree-walk.h API: add get_tree_entry_all()
71 - - tree-walk.h API: add a tree_entry_extract_all() function
72 - - tree-entry.h API: rename tree_entry_extract() to tree_entry_extract_mode()
73 - - tree-walk.h API: document and format tree_entry_extract()
74 - - tree-walk.h API: add get_tree_entry_type()
75 - - match-trees: use "tmp" for mode in shift_tree_by()
76 - - tree-walk.h API: rename get_tree_entry() to get_tree_entry_mode()
77 - - tree-walk.h API: formatting changes for subsequent commit
78 - - tree-walk.h users: use temporary variable(s) for "mode"
79 - - fsck.c: switch on "object_type" in fsck_walk_tree()
80 - - merge-ort: correct reference to test in 62fdec17a11
81 - - merge-tree tests: test for the mode comparison in same_entry()
82 - - tree-walk.h users: migrate miscellaneous "mode" to "object_type"
83 - - tree-walk.h users: refactor chained "mode" if/else into switch
84 - - tree-walk.h users: migrate "p->mode &&" pattern
85 - - tree.h API: make read_tree_fn_t take an "enum object_type"
86 - - archive: get rid of 'stage' parameter
87 - - tree.h users: format argument lists in archive.c
88 - - tree.h: format argument lists of read_tree_recursive() users
89 - - tree-walk.h users: switch object_type(...) to new .object_type
90 - - cache.h: have base_name_compare() take "is tree?", not "mode"
91 - - diff tests: test that "mode" is passed when sorting
92 - - mktree tests: test that "mode" is passed when sorting
93 - - fast-import tests: test for sorting dir/file foo v.s. foo.txt
94 - - tree-walk.c: migrate to using new "object_type" field when possible
95 - - tree-walk.h: add object_type member to name_entry
96 - - cache.h: add a comment to object_type()
97 - - notes & match-trees: use name_entry's "pathlen" member
98 - - diff.c: remove redundant canon_mode() call
99 - (this branch uses ab/read-tree.)
61 +* jc/calloc-fix (2021-03-15) 1 commit
62 + (merged to 'next' on 2021-03-18 at b656fb7750)
63 + + xcalloc: use CALLOC_ARRAY() when applicable
64
65 Code clean-up.
66
103 - I am not exactly sure where this series wants to go, other than
104 - unnecessarily churning the code. Seems to break "diff --no-index"
105 - rather badly, too (e.g. t4050, t4002, among others).
106 -
67
68 * jh/fsmonitor-prework (2021-03-17) 1 commit
109 - - fsmonitor: avoid global-buffer-overflow READ when checking trivial response
69 + (merged to 'next' on 2021-03-18 at 991232bc89)
70 + + fsmonitor: avoid global-buffer-overflow READ when checking trivial response
71
72 The fsmonitor interface read from its input without making sure
73 there is something to read from. This bug is new in 2.31
74 timeframe.
75
115 - Will merge to 'next'.
116 -
76
77 * jk/bisect-peel-tag-fix (2021-03-17) 1 commit
119 - - bisect: peel annotated tags to commits
78 + (merged to 'next' on 2021-03-18 at 6ebde86229)
79 + + bisect: peel annotated tags to commits
80
81 "git bisect" reimplemented more in C during 2.30 timeframe did not
82 take an annotated tag as a good/bad endpoint well. This regression
83 has been corrected.
84
125 - Will merge to 'next'.
85 +
86 +* jk/slimmed-down (2021-03-14) 1 commit
87 + (merged to 'next' on 2021-03-18 at 4993f4effa)
88 + + vcs-svn: remove header files as well
89 +
90 + Unused code removal.
91
92
93 * js/fsmonitor-unpack-fix (2021-03-17) 2 commits
129 - - fsmonitor: do not forget to release the token in `discard_index()`
130 - - fsmonitor: fix memory corruption in some corner cases
94 + (merged to 'next' on 2021-03-18 at 2ab614ffda)
95 + + fsmonitor: do not forget to release the token in `discard_index()`
96 + + fsmonitor: fix memory corruption in some corner cases
97
98 The data structure used by fsmonitor interface was not properly
99 duplicated during an in-core merge, leading to use-after-free etc.
100
135 - Will merge to 'next'.
136 -
101
102 * jt/clone-unborn-head (2021-03-17) 1 commit
139 - - t5606: run clone branch name test with protocol v2
103 + (merged to 'next' on 2021-03-18 at c61dd431c3)
104 + + t5606: run clone branch name test with protocol v2
105
106 Test fix.
107
143 - Will merge to 'next'.
144 -
108
109 * km/config-doc-typofix (2021-03-17) 1 commit
147 - - config.txt: add missing period
110 + (merged to 'next' on 2021-03-18 at aa8439608d)
111 + + config.txt: add missing period
112
113 Docfix.
114
151 - Will merge to 'next'.
115 +
116 +* rs/avoid-null-statement-after-macro-call (2021-03-17) 2 commits
117 + (merged to 'next' on 2021-03-18 at 9306b824a4)
118 + + mem-pool: drop trailing semicolon from macro definition
119 + + block-sha1: drop trailing semicolon from macro definition
120 +
121 + Fix macros that can silently inject unintended null-statements.
122 +
123 +
124 +* rs/calloc-array (2021-03-15) 3 commits
125 + (merged to 'next' on 2021-03-18 at f693824416)
126 + + cocci: allow xcalloc(1, size)
127 + + use CALLOC_ARRAY
128 + + git-compat-util.h: drop trailing semicolon from macro definition
129 +
130 + CALLOC_ARRAY() macro replaces many uses of xcalloc().
131 +
132 +
133 +* rs/xcalloc-takes-nelem-first (2021-03-08) 1 commit
134 + (merged to 'next' on 2021-03-14 at 312660a5ce)
135 + + fix xcalloc() argument order
136 +
137 + Code cleanup.
138 +
139 +
140 +* tb/git-mv-icase-fix (2021-03-03) 1 commit
141 + (merged to 'next' on 2021-03-14 at 700e7556f1)
142 + + git mv foo FOO ; git mv foo bar gave an assert
143 +
144 + Fix a corner case bug in "git mv" on case insensitive systems,
145 + which was introduced in 2.29 timeframe.
146
147 --------------------------------------------------
154 -[Stalled]
148 +[New Topics]
149
156 -* mt/parallel-checkout-part-1 (2020-12-16) 9 commits
157 - - entry: add checkout_entry_ca() taking preloaded conv_attrs
158 - - entry: move conv_attrs lookup up to checkout_entry()
159 - - entry: extract update_ce_after_write() from write_entry()
160 - - entry: make fstat_output() and read_blob_entry() public
161 - - entry: extract a header file for entry.c functions
162 - - convert: add classification for conv_attrs struct
163 - - convert: add get_stream_filter_ca() variant
164 - - convert: add [async_]convert_to_working_tree_ca() variants
165 - - convert: make convert_attrs() and convert structs public
150 +* ds/sparse-index (2021-03-18) 20 commits
151 + - p2000: add sparse-index repos
152 + - sparse-index: loose integration with cache_tree_verify()
153 + - cache-tree: integrate with sparse directory entries
154 + - sparse-checkout: disable sparse-index
155 + - sparse-checkout: toggle sparse index from builtin
156 + - sparse-index: create extension for compatibility
157 + - sparse-index: check index conversion happens
158 + - unpack-trees: allow sparse directories
159 + - submodule: sparse-index should not collapse links
160 + - sparse-index: convert from full to sparse
161 + - sparse-checkout: hold pattern list in index
162 + - unpack-trees: ensure full index
163 + - test-tool: don't force full index
164 + - test-read-cache: print cache entries with --table
165 + - t1092: compare sparse-checkout to sparse-index
166 + - sparse-index: implement ensure_full_index()
167 + - sparse-index: add guard to ensure full index
168 + - t1092: clean up script quoting
169 + - t/perf: add performance test for sparse operations
170 + - sparse-index: design doc and format update
171 + (this branch is used by ds/sparse-index-protections; uses ab/read-tree.)
172 +
173 +
174 +* en/ort-perf-batch-10 (2021-03-18) 8 commits
175 + - diffcore-rename: determine which relevant_sources are no longer relevant
176 + - merge-ort: record the reason that we want a rename for a file
177 + - diffcore-rename: add computation of number of unknown renames
178 + - diffcore-rename: check if we have enough renames for directories early on
179 + - diffcore-rename: only compute dir_rename_count for relevant directories
180 + - merge-ort: record the reason that we want a rename for a directory
181 + - merge-ort, diffcore-rename: tweak dirs_removed and relevant_source type
182 + - diffcore-rename: take advantage of "majority rules" to skip more renames
183 + (this branch is used by en/ort-readiness; uses en/ort-perf-batch-8 and en/ort-perf-batch-9.)
184 +
185 +
186 +* jk/fail-prereq-testfix (2021-03-18) 1 commit
187 + (merged to 'next' on 2021-03-19 at 180b9c0911)
188 + + t: annotate !PTHREADS tests with !FAIL_PREREQS
189 +
190 + GIT_TEST_FAIL_PREREQS is a mechanism to skip test pieces with
191 + prerequisites to catch broken tests that depend on the side effects
192 + of optional pieces, but did not work at all when negative
193 + prerequisites were involved.
194 +
195 + Will merge to 'master'.
196 +
197 +
198 +* mt/add-rm-in-sparse-checkout (2021-03-18) 7 commits
199 + - rm: honor sparse checkout patterns
200 + - add: warn when asked to update SKIP_WORKTREE entries
201 + - refresh_index(): add REFRESH_DONT_MARK_SPARSE_MATCHES flag
202 + - pathspec: allow to ignore SKIP_WORKTREE entries on index matching
203 + - add: make --chmod and --renormalize honor sparse checkouts
204 + - t3705: add tests for `git add` in sparse checkouts
205 + - add: include magic part of pathspec on --refresh error
206 +
207 + "git add" and "git rm" learned not to touch those paths that are
208 + outside of sparse checkout.
209
167 - Parallel checkout.
210 + Expecting a reroll.
211 + cf. <xmqqlfajnn6w.fsf@gitster.g>
212
169 - Looking good.
213
214 +* mt/checkout-remove-nofollow (2021-03-18) 2 commits
215 + - checkout: don't follow symlinks when removing entries
216 + - symlinks: update comment on threaded_check_leading_path()
217
172 -* ag/merge-strategies-in-c (2021-03-15) 14 commits
173 - - SQUASH??? CALLOC_ARRAY()
218 + When "git checkout" removes a path that does not exist in the
219 + commit it is checking out, it wasn't careful enough not to follow
220 + symbolic links, which has been corrected.
221 +
222 + Will merge to 'next'.
223 +
224 +
225 +* mt/parallel-checkout-part-2 (2021-03-18) 5 commits
226 + - parallel-checkout: add design documentation
227 + - parallel-checkout: support progress displaying
228 + - parallel-checkout: add configuration options
229 + - parallel-checkout: make it truly parallel
230 + - unpack-trees: add basic support for parallel checkout
231 + (this branch uses mt/parallel-checkout-part-1.)
232 +
233 +
234 +* nk/diff-index-fsmonitor (2021-03-18) 3 commits
235 + (merged to 'next' on 2021-03-19 at 3b83b2359a)
236 + + fsmonitor: add perf test for git diff HEAD
237 + + fsmonitor: add assertion that fsmonitor is valid to check_removed
238 + + fsmonitor: skip lstat deletion check during git diff-index
239 +
240 + "git diff-index" codepath has been taught to trust fsmonitor status
241 + to reduce number of lstat() calls.
242 +
243 + Will merge to 'master'.
244 +
245 +
246 +* ps/pack-bitmap-optim (2021-03-18) 1 commit
247 + - pack-bitmap: avoid traversal of objects referenced by uninteresting tag
248 +
249 + Optimize "rev-list --use-bitmap-index --objects" corner case that
250 + uses negative tags as the stopping points.
251 +
252 + Needs review.
253 + cf. <xmqqk0q4ov95.fsf@gitster.g>
254 +
255 +
256 +* bs/asciidoctor-installation-hints (2021-03-19) 1 commit
257 + - INSTALL: note on using Asciidoctor to build doc
258 +
259 + Doc update.
260 +
261 + Will merge to 'next'.
262 +
263 +
264 +* dl/complete-stash (2021-03-18) 3 commits
265 + - git-completion.bash: use __gitcomp_builtin() in _git_stash()
266 + - git-completion.bash: fix `git <args>... stash branch` bug
267 + - git-completion.bash: extract from else in _git_stash()
268 +
269 + Update "git stash branch<TAB>" command line completion (in contrib/).
270 +
271 + Expecting a reroll.
272 + cf. <xmqqtup7nnld.fsf@gitster.g>
273 +
274 +
275 +* ds/sparse-index-protections (2021-03-19) 27 commits
276 + - name-hash: use expand_to_path()
277 + - sparse-index: expand_to_path()
278 + - revision: ensure full index
279 + - resolve-undo: ensure full index
280 + - read-cache: ensure full index
281 + - pathspec: ensure full index
282 + - merge-recursive: ensure full index
283 + - merge-ort: ensure full index
284 + - entry: ensure full index
285 + - dir: ensure full index
286 + - diff-lib: ensure full index
287 + - update-index: ensure full index
288 + - sparse-checkout: ensure full index
289 + - rm: ensure full index
290 + - merge-index: ensure full index
291 + - ls-files: ensure full index
292 + - grep: ensure full index
293 + - fsck: ensure full index
294 + - difftool: ensure full index
295 + - commit: ensure full index
296 + - checkout: ensure full index
297 + - checkout-index: ensure full index
298 + - add: ensure full index
299 + - cache: move ensure_full_index() to cache.h
300 + - sparse-index: API protection strategy
301 + - read-cache: expand on query into sparse-directory entry
302 + - *: remove 'const' qualifier for struct index_state
303 + (this branch uses ab/read-tree and ds/sparse-index.)
304 +
305 + Sparse-index technology demonstration.
306 +
307 +
308 +* en/ort-readiness (2021-03-20) 13 commits
309 + - Add testing with merge-ort merge strategy
310 + - t6423: mark remaining expected failure under merge-ort as such
311 + - Revert "merge-ort: ignore the directory rename split conflict for now"
312 + - merge-recursive: add a bunch of FIXME comments documenting known bugs
313 + - merge-ort: write $GIT_DIR/AUTO_MERGE whenever we hit a conflict
314 + - t: mark several submodule merging tests as fixed under merge-ort
315 + - merge-ort: implement CE_SKIP_WORKTREE handling with conflicted entries
316 + - t6428: new test for SKIP_WORKTREE handling and conflicts
317 + - merge-ort: support subtree shifting
318 + - merge-ort: let renormalization change modify/delete into clean delete
319 + - merge-ort: have ll_merge() use a special attr_index for renormalization
320 + - merge-ort: add a special minimal index just for renormalization
321 + - merge-ort: use STABLE_QSORT instead of QSORT where required
322 + (this branch uses en/ort-perf-batch-10, en/ort-perf-batch-8 and en/ort-perf-batch-9.)
323 +
324 + Plug the ort merge backend throughout the rest of the system, and
325 + start testing it as a replacement for the recursive backend.
326 +
327 + Will merge to 'next'.
328 +
329 +--------------------------------------------------
330 +[Cooking]
331 +
332 +* ag/merge-strategies-in-c (2021-03-17) 15 commits
333 - sequencer: use the "octopus" merge strategy without forking
334 - sequencer: use the "resolve" strategy without forking
335 - merge: use the "octopus" strategy without forking
@@ -178,20 +337,38 @@ Release tarballs are available at:
337 - merge-octopus: rewrite in C
338 - merge-recursive: move better_branch_name() to merge.c
339 - merge-resolve: rewrite in C
181 - - merge-index: don't fork if the requested program is `git-merge-one-file'
182 - - merge-index: libify merge_one_path() and merge_all()
340 - merge-one-file: rewrite in C
341 - update-index: move add_cacheinfo() to read-cache.c
342 + - merge-index: add a new way to invoke `git-merge-one-file'
343 + - merge-index: drop the index
344 + - merge-index: libify merge_one_path() and merge_all()
345 + - t6060: add tests for removed files
346 - t6060: modify multiple files to expose a possible issue with merge-index
347 - t6407: modernise tests
348
349 The resolve and octopus merge strategy backends have been rewritten
350 in C.
351
191 - Got enough review comments to get updated.
352 + Ready?
353 +
354 +
355 +* mt/parallel-checkout-part-1 (2021-03-18) 9 commits
356 + (merged to 'next' on 2021-03-19 at a1bc83ad8e)
357 + + entry: add checkout_entry_ca() taking preloaded conv_attrs
358 + + entry: move conv_attrs lookup up to checkout_entry()
359 + + entry: extract update_ce_after_write() from write_entry()
360 + + entry: make fstat_output() and read_blob_entry() public
361 + + entry: extract a header file for entry.c functions
362 + + convert: add classification for conv_attrs struct
363 + + convert: add get_stream_filter_ca() variant
364 + + convert: add [async_]convert_to_working_tree_ca() variants
365 + + convert: make convert_attrs() and convert structs public
366 + (this branch is used by mt/parallel-checkout-part-2.)
367 +
368 + Preparatory API changes for parallel checkout.
369 +
370 + Will merge to 'master'.
371
193 ---------------------------------------------------
194 -[Cooking]
372
373 * ab/fsck-api-cleanup (2021-03-17) 19 commits
374 - fetch-pack: use new fsck API to printing dangling submodules
@@ -227,49 +404,22 @@ Release tarballs are available at:
404 - merge-ort: add data structures for an alternate tree traversal
405 - merge-ort: precompute subset of sources for which we need rename detection
406 - diffcore-rename: enable filtering possible rename sources
230 - (this branch uses en/ort-perf-batch-8.)
231 -
232 - More ort.
407 + (this branch is used by en/ort-perf-batch-10 and en/ort-readiness; uses en/ort-perf-batch-8.)
408
234 - Ready?
409 + The ort merge backend has been optimized by skipping irrelevant
410 + renames.
411
412
413 * js/http-pki-credential-store (2021-03-11) 2 commits
238 - - http: drop the check for an empty proxy password before approving
239 - - http: store credential when PKI auth is used
414 + (merged to 'next' on 2021-03-19 at 5138870dee)
415 + + http: drop the check for an empty proxy password before approving
416 + + http: store credential when PKI auth is used
417
418 The http codepath learned to let the credential layer to cache the
419 password used to unlock a certificate that has successfully been
420 used.
421
245 - Will merge to 'next'.
246 -
247 -
248 -* rs/avoid-null-statement-after-macro-call (2021-03-17) 2 commits
249 - - mem-pool: drop trailing semicolon from macro definition
250 - - block-sha1: drop trailing semicolon from macro definition
251 -
252 - Fix macros that can silently inject unintended null-statements.
253 -
254 - Will merge to 'next'.
255 -
256 -
257 -* rs/calloc-array (2021-03-15) 3 commits
258 - - cocci: allow xcalloc(1, size)
259 - - use CALLOC_ARRAY
260 - - git-compat-util.h: drop trailing semicolon from macro definition
261 -
262 - CALLOC_ARRAY() macro replaces many uses of xcalloc().
263 -
264 - Will merge to 'next'.
265 -
266 -
267 -* jk/slimmed-down (2021-03-14) 1 commit
268 - - vcs-svn: remove header files as well
269 -
270 - Unused code removal.
271 -
272 - Will merge to 'next'.
422 + Will merge to 'master'.
423
424
425 * dl/stash-show-untracked (2021-03-05) 2 commits
@@ -280,7 +430,7 @@ Release tarballs are available at:
430 "git stash show" learned to optionally show untracked part of the
431 stash.
432
283 - Will cook in 'next'.
433 + Will merge to 'master'.
434
435
436 * hn/reftable (2021-03-12) 15 commits
@@ -326,7 +476,7 @@ Release tarballs are available at:
476
477 Code clean-up.
478
329 - Will cook in 'next'.
479 + Will merge to 'master'.
480 In the longer term, we might want to remove filter-branch and nudge
481 folks to more modern tools.
482
@@ -359,7 +509,7 @@ Release tarballs are available at:
509 - ls-files: don't needlessly pass around stage variable
510 - tree.c API: move read_tree() into builtin/ls-files.c
511 - ls-files tests: add meaningful --with-tree tests
362 - (this branch is used by ab/tree-walk-with-object-type.)
512 + (this branch is used by ab/tree-walk-with-object-type, ds/sparse-index and ds/sparse-index-protections.)
513
514 Code simplification by removing support for a caller that is long gone.
515
@@ -383,15 +533,6 @@ Release tarballs are available at:
533 Looked good except for some rewrites.
534
535
386 -* ah/make-fuzz-all-doc-update (2021-03-08) 1 commit
387 - (merged to 'next' on 2021-03-13 at e82816998f)
388 - + Makefile: update 'make fuzz-all' docs to reflect modern clang
389 -
390 - Update insn in Makefile comments to run fuzz-all target.
391 -
392 - Will cook in 'next'.
393 -
394 -
536 * ah/plugleaks (2021-03-14) 9 commits
537 - transport: also free remote_refs in transport_disconnect()
538 - parse-options: don't leak alias help messages
@@ -416,7 +557,7 @@ Release tarballs are available at:
557 "git -c core.bare=false clone --bare ..." would have segfaulted,
558 which has been corrected.
559
419 - Will cook in 'next'.
560 + Will merge to 'master'.
561
562
563 * dl/cat-file-doc-cleanup (2021-03-03) 2 commits
@@ -426,7 +567,7 @@ Release tarballs are available at:
567
568 Doc cleanup.
569
429 - Will cook in 'next'.
570 + Will merge to 'master'.
571
572
573 * jr/doc-ignore-typofix (2021-03-03) 1 commit
@@ -435,23 +576,14 @@ Release tarballs are available at:
576
577 Doc cleanup.
578
438 - Will cook in 'next'.
579 + Will merge to 'master'.
580
581
582 * rr/mailmap-entry-self (2021-03-08) 1 commit
583 (merged to 'next' on 2021-03-13 at 9f98a99713)
584 + Add entry for Ramkumar Ramachandra
585
445 - Will cook in 'next'.
446 -
447 -
448 -* rs/xcalloc-takes-nelem-first (2021-03-08) 1 commit
449 - (merged to 'next' on 2021-03-14 at 312660a5ce)
450 - + fix xcalloc() argument order
451 -
452 - Code cleanup.
453 -
454 - Will cook in 'next'.
586 + Will merge to 'master'.
587
588
589 * sv/t9801-test-path-is-file-cleanup (2021-03-03) 1 commit
@@ -460,24 +592,16 @@ Release tarballs are available at:
592
593 Test cleanup.
594
463 - Will cook in 'next'.
464 -
465 -
466 -* tb/git-mv-icase-fix (2021-03-03) 1 commit
467 - (merged to 'next' on 2021-03-14 at 700e7556f1)
468 - + git mv foo FOO ; git mv foo bar gave an assert
469 -
470 - Fix a corner case bug in "git mv" on case insensitive systems,
471 - which was introduced in 2.29 timeframe.
472 -
473 - Will cook in 'next'.
595 + Will merge to 'master'.
596
597
598 * tb/push-simple-uses-branch-merge-config (2021-03-13) 1 commit
477 - - Documentation/git-push.txt: correct configuration typo
599 + (merged to 'next' on 2021-03-19 at 2a81ed26fd)
600 + + Documentation/git-push.txt: correct configuration typo
601
602 Doc update.
480 - cf. <YEaM7ruZCvaQQbPI@nand.local>
603 +
604 + Will merge to 'master'.
605
606
607 * ab/remote-write-config-in-camel-case (2021-02-24) 2 commits
@@ -489,7 +613,7 @@ Release tarballs are available at:
613 is configured so that it spells configuration variable names in the
614 canonical camelCase.
615
492 - Will cook in 'next'.
616 + Will merge to 'master'.
617
618
619 * ds/commit-graph-generation-config (2021-02-25) 2 commits
@@ -501,7 +625,7 @@ Release tarballs are available at:
625 which version of the generation number gets used in the
626 commit-graph file.
627
504 - Will cook in 'next'.
628 + Will merge to 'master'.
629
630
631 * mt/cleanly-die-upon-missing-required-filter (2021-02-26) 1 commit
@@ -512,7 +636,7 @@ Release tarballs are available at:
636 clean/smudge filter is missing, but an assert before that
637 unnecessarily fired, hiding the end-user facing die() message.
638
515 - Will cook in 'next'.
639 + Will merge to 'master'.
640
641
642 * ab/describe-tests-fix (2021-03-01) 10 commits
@@ -530,7 +654,7 @@ Release tarballs are available at:
654 Various updates to tests around "git describe"
655
656 Expecting a reroll.
533 - cf.
657 + cf. <xmqq1rcj6hzr.fsf@gitster.g>
658
659
660 * en/ort-perf-batch-8 (2021-02-26) 10 commits
@@ -545,11 +669,11 @@ Release tarballs are available at:
669 + diffcore-rename: add a mapping of destination names to their indices
670 + diffcore-rename: provide basic implementation of idx_possible_rename()
671 + diffcore-rename: use directory rename guided basename comparisons
548 - (this branch is used by en/ort-perf-batch-9.)
672 + (this branch is used by en/ort-perf-batch-10, en/ort-perf-batch-9 and en/ort-readiness.)
673
674 Rename detection rework continues.
675
552 - Will cook in 'next'.
676 + Will merge to 'master'.
677
678
679 * jk/perf-in-worktrees (2021-02-26) 2 commits
@@ -559,7 +683,7 @@ Release tarballs are available at:
683
684 Perf test update to work better in secondary worktrees.
685
562 - Will cook in 'next'.
686 + Will merge to 'master'.
687
688
689 * ps/update-ref-trans-hook-doc (2021-03-01) 2 commits
@@ -569,24 +693,30 @@ Release tarballs are available at:
693
694 Doc update.
695
572 - Will cook in 'next'.
696 + Will merge to 'master'.
697
698
575 -* zh/format-patch-fractional-reroll-count (2021-03-01) 1 commit
699 +* zh/format-patch-fractional-reroll-count (2021-03-20) 1 commit
700 - format-patch: allow a non-integral version numbers
701
702 + "git format-patch -v<n>" learned to allow a reroll count that is
703 + not an integer.
704 +
705 + Expecting a reroll.
706 +
707
708 * ab/make-cleanup (2021-02-23) 5 commits
580 - - Makefile: add {program,xdiff,test,git,fuzz}-objs & objects targets
581 - - Makefile: split OBJECTS into OBJECTS and GIT_OBJS
582 - - Makefile: sort OBJECTS assignment for subsequent change
583 - - Makefile: split up long OBJECTS line
584 - - Makefile: guard against TEST_OBJS in the environment
709 + (merged to 'next' on 2021-03-19 at a86fcc482d)
710 + + Makefile: add {program,xdiff,test,git,fuzz}-objs & objects targets
711 + + Makefile: split OBJECTS into OBJECTS and GIT_OBJS
712 + + Makefile: sort OBJECTS assignment for subsequent change
713 + + Makefile: split up long OBJECTS line
714 + + Makefile: guard against TEST_OBJS in the environment
715
716 Reorganize Makefile to allow building git.o and other essential
717 objects without extra stuff needed only for testing.
718
589 - Will merge to 'next'.
719 + Will merge to 'master'.
720
721
722 * ab/grep-pcre2-allocfix (2021-02-17) 10 commits
@@ -604,7 +734,7 @@ Release tarballs are available at:
734
735 Updates to memory allocation code around the use of pcre2 library.
736
607 - Will cook in 'next'.
737 + Will merge to 'master'.
738
739
740 * tb/reverse-midx (2021-03-11) 17 commits
@@ -661,12 +791,13 @@ Release tarballs are available at:
791
792
793 * cm/rebase-i-fixup-amend-reword (2021-03-15) 6 commits
664 - - doc/git-commit: add documentation for fixup=[amend|reword] options
665 - - t3437: use --fixup with options to create amend! commit
666 - - t7500: add tests for --fixup=[amend|reword] options
667 - - commit: add a reword suboption to --fixup
668 - - commit: add amend suboption to --fixup to create amend! commit
669 - - sequencer: export and rename subject_length()
794 + (merged to 'next' on 2021-03-19 at 0f58ecb738)
795 + + doc/git-commit: add documentation for fixup=[amend|reword] options
796 + + t3437: use --fixup with options to create amend! commit
797 + + t7500: add tests for --fixup=[amend|reword] options
798 + + commit: add a reword suboption to --fixup
799 + + commit: add amend suboption to --fixup to create amend! commit
800 + + sequencer: export and rename subject_length()
801 (this branch uses cm/rebase-i and cm/rebase-i-updates.)
802
803 "git commit --fixup=<commit>", which was to tweak the changes made
@@ -675,6 +806,8 @@ Release tarballs are available at:
806 tweak both the message and the contents, and only the message,
807 respectively.
808
809 + Will merge to 'master'.
810 +
811
812 * jk/open-dotgitx-with-nofollow (2021-02-16) 6 commits
813 (merged to 'next' on 2021-02-25 at a784bf7be6)
@@ -692,7 +825,7 @@ Release tarballs are available at:
825 contents of the files pointed by them by mistake, which has been
826 corrected.
827
695 - Will cook in 'next'.
828 + Will merge to 'master'.
829
830
831 * rs/pretty-describe (2021-03-11) 5 commits
@@ -707,7 +840,7 @@ Release tarballs are available at:
840
841 "git log --format='...'" learned "%(describe)" placeholder.
842
710 - Will cook in 'next'.
843 + Will merge to 'master'.
844
845
846 * cm/rebase-i-updates (2021-02-10) 11 commits
@@ -727,7 +860,7 @@ Release tarballs are available at:
860
861 Follow-up fixes to "cm/rebase-i" topic.
862
730 - Will cook in 'next', together with "cm/rebase-i".
863 + Will merge to 'master'.
864
865
866 * jh/simple-ipc (2021-03-15) 13 commits
@@ -748,7 +881,7 @@ Release tarballs are available at:
881 A simple IPC interface gets introduced to build services like
882 fsmonitor on top.
883
751 - Will merge to 'next'.
884 + Expecting an update for SQUASH???
885
886
887 * cm/rebase-i (2021-01-29) 9 commits
@@ -766,10 +899,11 @@ Release tarballs are available at:
899
900 "rebase -i" is getting cleaned up and also enhanced.
901
769 - Will cook in 'next', together with "cm/rebase-i-updates".
902 + Will merge to 'master'.
903
904
772 -* tb/geometric-repack (2021-03-05) 13 commits
905 +* tb/geometric-repack (2021-03-19) 14 commits
906 + - builtin/pack-objects.c: ignore missing links with --stdin-packs
907 (merged to 'next' on 2021-03-08 at def1c48d43)
908 + builtin/repack.c: reword comment around pack-objects flags
909 + builtin/repack.c: be more conservative with unsigned overflows
@@ -791,7 +925,7 @@ Release tarballs are available at:
925 strategy to reduce the cost of repacking a repository has been
926 introduced.
927
794 - Will cook in 'next'.
928 + Will merge to 'next'.
929
930
931 * es/config-hooks (2021-03-10) 37 commits
@@ -888,7 +1022,6 @@ Release tarballs are available at:
1022 Now replaced by es/config-hooks topic.
1023
1024
891 -
1025 * jk/symlinked-dotgitx-files (2020-10-23) 9 commits
1026 . docs: document symlink restrictions for .git* files
1027 . fsck: complain when .gitattributes or .gitignore is a symlink
@@ -911,3 +1044,43 @@ Release tarballs are available at:
1044 projects can opt out of the new checks?
1045
1046
1047 +* ab/tree-walk-with-object-type (2021-03-17) 32 commits
1048 + . tree-walk.h API: add a tree_entry_extract_type() function
1049 + . blame: emit a better error on 'git blame directory'
1050 + . tree-walk.h API: add a get_tree_entry_path() function
1051 + . tree-walk.h API: add get_tree_entry_all()
1052 + . tree-walk.h API: add a tree_entry_extract_all() function
1053 + . tree-entry.h API: rename tree_entry_extract() to tree_entry_extract_mode()
1054 + . tree-walk.h API: document and format tree_entry_extract()
1055 + . tree-walk.h API: add get_tree_entry_type()
1056 + . match-trees: use "tmp" for mode in shift_tree_by()
1057 + . tree-walk.h API: rename get_tree_entry() to get_tree_entry_mode()
1058 + . tree-walk.h API: formatting changes for subsequent commit
1059 + . tree-walk.h users: use temporary variable(s) for "mode"
1060 + . fsck.c: switch on "object_type" in fsck_walk_tree()
1061 + . merge-ort: correct reference to test in 62fdec17a11
1062 + . merge-tree tests: test for the mode comparison in same_entry()
1063 + . tree-walk.h users: migrate miscellaneous "mode" to "object_type"
1064 + . tree-walk.h users: refactor chained "mode" if/else into switch
1065 + . tree-walk.h users: migrate "p->mode &&" pattern
1066 + . tree.h API: make read_tree_fn_t take an "enum object_type"
1067 + . archive: get rid of 'stage' parameter
1068 + . tree.h users: format argument lists in archive.c
1069 + . tree.h: format argument lists of read_tree_recursive() users
1070 + . tree-walk.h users: switch object_type(...) to new .object_type
1071 + . cache.h: have base_name_compare() take "is tree?", not "mode"
1072 + . diff tests: test that "mode" is passed when sorting
1073 + . mktree tests: test that "mode" is passed when sorting
1074 + . fast-import tests: test for sorting dir/file foo v.s. foo.txt
1075 + . tree-walk.c: migrate to using new "object_type" field when possible
1076 + . tree-walk.h: add object_type member to name_entry
1077 + . cache.h: add a comment to object_type()
1078 + . notes & match-trees: use name_entry's "pathlen" member
1079 + . diff.c: remove redundant canon_mode() call
1080 + (this branch uses ab/read-tree.)
1081 +
1082 + Code clean-up.
1083 +
1084 + I am not exactly sure where this series wants to go, other than
1085 + unnecessarily churning the code. Seems to break "diff --no-index"
1086 + rather badly, too (e.g. t4050, t4002, among others).