What's cooking (2021/08 #04)

Junio C Hamano committed Aug 10, 2021 at 16:01 UTC 05ed4626637ce7f32636dce56234cb7f15fed7fe
1 file changed +167 -158
whats-cooking.txt
+167 -158
@@ -1,9 +1,9 @@
1 To: git@vger.kernel.org
2 -Subject: What's cooking in git.git (Aug 2021, #03; Fri, 6)
2 +Subject: What's cooking in git.git (Aug 2021, #04; Tue, 10)
3 X-master-at: 2d755dfac9aadab25c3e025b849252b8c0a61465
4 -X-next-at: 0d66db33f37daf054bbe20901c0ccadbc4558854
4 +X-next-at: d937d09924f20c2ef76e4ae1cc20f566d2ecf953
5
6 -What's cooking in git.git (Aug 2021, #03; Fri, 6)
6 +What's cooking in git.git (Aug 2021, #04; Tue, 10)
7 --------------------------------------------------
8
9 Here are the topics that have been cooking in my tree. Commits
@@ -17,11 +17,8 @@ useful"). Do not read too much into a topic being in (or not in)
17 'seen'. The ones marked with '.' do not appear in any of the
18 integration branches, but I am still holding onto them.
19
20 -Git 2.33-rc1 has been tagged. The much less invasive "shopt -u
21 -checkwinsize" approach will be used to address the COLUMNS issue at
22 -least for the final release. I do not know what we want to do with
23 -the "log -m" means "log -m -p" issue yet (we haven't heard from the
24 -other camp), so it is in a "broken" state in -rc1.
20 +Git 2.33-rc2 will be tagged tomorrow, with a few build and
21 +regression fixes (not in 'master' yet as of this writing).
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
@@ -52,188 +49,141 @@ Release tarballs are available at:
49 https://www.kernel.org/pub/software/scm/git/
50
51 --------------------------------------------------
55 -[Graduated to 'master']
56 -
57 -* ab/getcwd-test (2021-07-30) 1 commit
58 - (merged to 'next' on 2021-08-02 at 22ecd02929)
59 - + t0001: fix broken not-quite getcwd(3) test in bed67874e2
60 -
61 - Portability test update.
62 -
63 -
64 -* ab/pickaxe-pcre2 (2021-08-04) 1 commit
65 - (merged to 'next' on 2021-08-05 at 2c90b51f76)
66 - + diff: --pickaxe-all typofix
67 -
68 - Documentation update.
69 -
52 +[New Topics]
53
71 -* ab/update-submitting-patches (2021-07-22) 2 commits
72 - (merged to 'next' on 2021-07-30 at 9ae2de7f7a)
73 - + SubmittingPatches: replace discussion of Travis with GitHub Actions
74 - + SubmittingPatches: move discussion of Signed-off-by above "send"
54 +* cb/builtin-merge-format-string-fix (2021-08-09) 1 commit
55 + - builtin/merge: avoid -Wformat-extra-args from ancient Xcode
56
76 - Reorganize and update the SubmitingPatches document.
57 + Code clean-up.
58
59 + Will merge to 'next'.
60
79 -* ah/plugleaks (2021-07-26) 12 commits
80 - (merged to 'next' on 2021-07-28 at fa15f6d1f4)
81 - + reset: clear_unpack_trees_porcelain to plug leak
82 - + builtin/rebase: fix options.strategy memory lifecycle
83 - + builtin/merge: free found_ref when done
84 - + builtin/mv: free or UNLEAK multiple pointers at end of cmd_mv
85 - + convert: release strbuf to avoid leak
86 - + read-cache: call diff_setup_done to avoid leak
87 - + ref-filter: also free head for ATOM_HEAD to avoid leak
88 - + diffcore-rename: move old_dir/new_dir definition to plug leak
89 - + builtin/for-each-repo: remove unnecessary argv copy to plug leak
90 - + builtin/submodule--helper: release unused strbuf to avoid leak
91 - + environment: move strbuf into block to plug leak
92 - + fmt-merge-msg: free newly allocated temporary strings when done
61
94 - Leak plugging.
62 +* cb/many-alternate-optim-fixup (2021-08-09) 2 commits
63 + (merged to 'next' on 2021-08-09 at 3572bef349)
64 + + object-store: avoid extra ';' from KHASH_INIT
65 + + oidtree: avoid nested struct oidtree_node
66 + (this branch is used by cb/ci-build-pedantic.)
67
68 + Build fix.
69
97 -* ar/doc-markup-fix (2021-07-30) 1 commit
98 - (merged to 'next' on 2021-08-02 at b99073fa75)
99 - + Documentation: render special characters correctly
70 + Will merge to 'master'.
71
101 - Doc mark-up fix.
72
73 +* ka/want-ref-in-namespace (2021-08-09) 3 commits
74 + - docs: clarify the interaction of transfer.hideRefs and namespaces
75 + - upload-pack.c: treat want-ref relative to namespace
76 + - t5730: introduce fetch command helper
77
104 -* ar/submodule-add (2021-07-26) 5 commits
105 - (merged to 'next' on 2021-07-28 at 7d315a0f67)
106 - + submodule: drop unused sm_name parameter from show_fetch_remotes()
107 - (merged to 'next' on 2021-07-22 at b8b636c9a1)
108 - + submodule--helper: introduce add-clone subcommand
109 - + submodule--helper: refactor module_clone()
110 - + submodule: prefix die messages with 'fatal'
111 - + t7400: test failure to add submodule in tracked path
112 - (this branch is used by ar/submodule-add-config.)
78 + "git upload-pack" which runs on the other side of "git fetch"
79 + forgot to take the ref namespaces into account when handling
80 + want-ref requests.
81
114 - Rewrite of "git submodule" in C continues.
82
83 +* np/blame-ignore-revs-file-may-be-optional (2021-08-09) 1 commit
84 + - blame: add config `blame.ignoreRevsFileIsOptional`
85
117 -* cb/t7508-regexp-fix (2021-08-02) 1 commit
118 - (merged to 'next' on 2021-08-04 at 87e2b70ba1)
119 - + t7508: avoid non POSIX BRE
86 + When the file named by blame.ignoreRevsFile configuration variable
87 + does not exist, it causes "git blame" to die. Sometimes, it is
88 + useful if the files named by configuration variables can be made
89 + optional (it would allow ~/.gitconfig to give a filename, and make
90 + it effective only in repositories that have a file with that name).
91
121 - Test fix.
92 + This uses an extra variable that marks that the variable is
93 + optional. Yet another alternative is being discussed to define
94 + syntax for "optional" filename values, so that the same mechanism
95 + can be used for not just blame.ignoreRevsFile but other filenames.
96
97 + Queued just as a reminder of the theme.
98
124 -* ds/commit-and-checkout-with-sparse-index (2021-07-20) 7 commits
125 - (merged to 'next' on 2021-07-30 at 52ed1b0091)
126 - + unpack-trees: resolve sparse-directory/file conflicts
127 - + t1092: document bad 'git checkout' behavior
128 - + checkout: stop expanding sparse indexes
129 - + sparse-index: recompute cache-tree
130 - + commit: integrate with sparse-index
131 - + p2000: compress repo names
132 - + p2000: add 'git checkout -' test and decrease depth
133 - (this branch is used by ds/add-with-sparse-index.)
99
135 - "git checkout" and "git commit" learn to work without unnecessarily
136 - expanding sparse indexes.
100 +* cb/ci-build-pedantic (2021-08-09) 1 commit
101 + - ci: run a pedantic build as part of the GitHub workflow
102 + (this branch uses cb/many-alternate-optim-fixup.)
103
104 + CI update.
105
139 -* en/ort-perf-batch-14 (2021-07-20) 7 commits
140 - (merged to 'next' on 2021-07-30 at 89cfdc4513)
141 - + merge-ort: restart merge with cached renames to reduce process entry cost
142 - + merge-ort: avoid recursing into directories when we don't need to
143 - + merge-ort: defer recursing into directories when merge base is matched
144 - + merge-ort: add a handle_deferred_entries() helper function
145 - + merge-ort: add data structures for allowable trivial directory resolves
146 - + merge-ort: add some more explanations in collect_merge_info_callback()
147 - + merge-ort: resolve paths early when we have sufficient information
148 - (this branch is used by en/ort-perf-batch-15.)
106 + Will merge to 'next'.
107
150 - Further optimization on "merge -sort" backend.
108
109 +* jn/log-m-does-not-imply-p (2021-08-09) 1 commit
110 + (merged to 'next' on 2021-08-09 at d937d09924)
111 + + Revert 'diff-merges: let "-m" imply "-p"'
112
153 -* pb/merge-autostash-more (2021-07-23) 4 commits
154 - (merged to 'next' on 2021-07-30 at bfc8b41932)
155 - + merge: apply autostash if merge strategy fails
156 - + merge: apply autostash if fast-forward fails
157 - + Documentation: define 'MERGE_AUTOSTASH'
158 - + merge: add missing word "strategy" to a message
113 + Earlier "git log -m" was changed to always produce patch output,
114 + which would break existing scripts, which has been reverted.
115
160 - The local changes stashed by "git merge --autostash" were lost when
161 - the merge failed in certain ways, which has been corrected.
116 + Will merge to 'master'.
117
118
164 -* rs/use-fspathhash (2021-07-30) 1 commit
165 - (merged to 'next' on 2021-08-02 at 72c388e867)
166 - + use fspathhash() everywhere
119 +* ds/sparse-index-ignored-files (2021-08-10) 9 commits
120 + - sparse-checkout: clear tracked sparse dirs
121 + - sparse-index: add SPARSE_INDEX_IGNORE_CONFIG flag
122 + - attr: be careful about sparse directories
123 + - sparse-checkout: create helper methods
124 + - unpack-trees: fix nested sparse-dir search
125 + - sparse-index: silently return when cache tree fails
126 + - sparse-index: silently return when not using cone-mode patterns
127 + - t7519: rewrite sparse index test
128 + - Merge branch 'ds/add-with-sparse-index' into ds/sparse-index-ignored-files
129 + (this branch uses ds/add-with-sparse-index.)
130
168 - Code simplification.
131 + In cone mode, the sparse-index codepath learned to remove ignored
132 + files (like build artifacts) outside the sparse cone, allowing the
133 + entire directory outside the sparse cone to be removed, which is
134 + especially useful when the sparse patterns change.
135
136
171 -* tb/mingw-rmdir-symlink-to-directory (2021-08-02) 1 commit
172 - (merged to 'next' on 2021-08-03 at a027d43cca)
173 - + mingw: align symlinks-related rmdir() behavior with Linux
137 +* jc/userdiff-pattern-hint (2021-08-10) 1 commit
138 + - userdiff: comment on the builtin patterns
139
175 - Windows rmdir() equivalent behaves differently from POSIX ones in
176 - that when used on a symbolic link that points at a directory, the
177 - target directory gets removed, which has been corrected.
140 + Remind developers that the userdiff patterns should be kept simple
141 + and permissive, assuming that the contents they apply are always
142 + syntactically correct.
143
179 ---------------------------------------------------
180 -[New Topics]
144
182 -* ps/fetch-pack-load-refs-optim (2021-08-04) 1 commit
183 - - fetch-pack: speed up loading of refs via commit graph
145 +* jk/apply-binary-hunk-parsing-fix (2021-08-10) 1 commit
146 + - apply: keep buffer/size pair in sync when parsing binary hunks
147
185 - Loading of ref tips to prepare for common ancestry negotiation in
186 - "git fetch-pack" has been optimized by taking advantage of the
187 - commit graph when available.
148 + "git apply" miscounted the bytes and failed to read to the end of
149 + binary hunks.
150
151 Will merge to 'next'.
152
153
192 -* ps/connectivity-optim (2021-08-05) 6 commits
193 - - revision: avoid hitting packfiles when commits are in commit-graph
194 - - commit-graph: split out function to search commit position
195 - - revision: avoid loading object headers multiple times
196 - - revision: stop retrieving reference twice
197 - - connected: do not sort input revisions
198 - - revision: separate walk and unsorted flags
199 -
200 - The revision traversal API has been optimized by taking advanrage
201 - of the commit-graph, when available, to determine if a commit is
202 - reachable from any of the existing refs.
203 -
204 - Looking good.
205 -
206 -
207 -* ar/submodule-add-more (2021-08-06) 9 commits
208 - - submodule--helper: remove resolve-relative-url subcommand
209 - - submodule--helper: remove add-config subcommand
210 - - submodule--helper: remove add-clone subcommand
211 - - submodule--helper: convert the bulk of cmd_add() to C
212 - - dir: libify and export helper functions from clone.c
213 - - submodule--helper: remove repeated code in sync_submodule()
214 - - submodule--helper: refactor resolve_relative_url() helper
215 - - submodule--helper: add options for compute_submodule_clone_url()
216 - - Merge branch 'ar/submodule-add-config' into ar/submodule-add
217 - (this branch uses ar/submodule-add-config.)
154 +* jk/range-diff-fixes (2021-08-10) 3 commits
155 + - range-diff: use ssize_t for parsed "len" in read_patches()
156 + - range-diff: handle unterminated lines in read_patches()
157 + - range-diff: drop useless "offset" variable from read_patches()
158
219 - More parts of "git submoudle add" has been rewritten in C.
159 + "git range-diff" code clean-up.
160
161 + Will merge to 'next'.
162
222 -* cb/makefile-apple-clang (2021-08-06) 3 commits
223 - - build: catch clang that identifies itself as "$VENDOR clang"
224 - - build: clang version may not be followed by extra words
225 - - build: update detect-compiler for newer Xcode version
163
227 - Build update.
164 +* js/advise-when-skipping-cherry-picked (2021-08-10) 2 commits
165 + - SQUASH???
166 + - sequencer: advise if skipping cherry-picked commit
167
168 + "git rebase" by default skips changes that are equivalent to
169 + commits that are already in the history the branch is rebased onto;
170 + give messages when this happens to let the users be aware of
171 + skipped commits, and also teach them how to tell "rebase" to keep
172 + duplicated changes.
173
230 -* jk/refs-files-cleanup-cleanup (2021-08-06) 1 commit
231 - - refs: drop unused "flags" parameter to lock_ref_oid_basic()
232 - (this branch uses ab/refs-files-cleanup.)
174
234 - Code cleanup.
175 +* jt/grep-wo-submodule-odb-as-alternate (2021-08-10) 7 commits
176 + - t7814: show lack of alternate ODB-adding
177 + - grep: add repository to OID grep sources
178 + - grep: allocate subrepos on heap
179 + - grep: read submodule entry with explicit repo
180 + - grep: typesafe versions of grep_source_init
181 + - grep: use submodule-ODB-as-alternate lazy-addition
182 + - submodule: lazily add submodule ODBs as alternates
183
236 - Will merge to 'next'.
184 + The code to make "git grep" recurse into submodules has been
185 + updated to migrate away from the "add submodule's object store as
186 + an alternate object store" mechanism (which is suboptimal).
187
188 --------------------------------------------------
189 [Stalled]
@@ -316,6 +266,65 @@ Release tarballs are available at:
266 --------------------------------------------------
267 [Cooking]
268
269 +* ps/fetch-pack-load-refs-optim (2021-08-04) 1 commit
270 + (merged to 'next' on 2021-08-09 at 4744a01fd5)
271 + + fetch-pack: speed up loading of refs via commit graph
272 +
273 + Loading of ref tips to prepare for common ancestry negotiation in
274 + "git fetch-pack" has been optimized by taking advantage of the
275 + commit graph when available.
276 +
277 + Will cook in 'next'.
278 +
279 +
280 +* ps/connectivity-optim (2021-08-09) 5 commits
281 + - revision: avoid hitting packfiles when commits are in commit-graph
282 + - commit-graph: split out function to search commit position
283 + - revision: stop retrieving reference twice
284 + - connected: do not sort input revisions
285 + - revision: separate walk and unsorted flags
286 +
287 + The revision traversal API has been optimized by taking advanrage
288 + of the commit-graph, when available, to determine if a commit is
289 + reachable from any of the existing refs.
290 +
291 + Will merge to 'next'.
292 +
293 +
294 +* ar/submodule-add-more (2021-08-10) 10 commits
295 + - submodule--helper: rename compute_submodule_clone_url()
296 + - submodule--helper: remove resolve-relative-url subcommand
297 + - submodule--helper: remove add-config subcommand
298 + - submodule--helper: remove add-clone subcommand
299 + - submodule--helper: convert the bulk of cmd_add() to C
300 + - dir: libify and export helper functions from clone.c
301 + - submodule--helper: remove repeated code in sync_submodule()
302 + - submodule--helper: refactor resolve_relative_url() helper
303 + - submodule--helper: add options for compute_submodule_clone_url()
304 + - Merge branch 'ar/submodule-add-config' into ar/submodule-add
305 + (this branch uses ar/submodule-add-config.)
306 +
307 + More parts of "git submoudle add" has been rewritten in C.
308 +
309 +
310 +* cb/makefile-apple-clang (2021-08-06) 3 commits
311 + - build: catch clang that identifies itself as "$VENDOR clang"
312 + - build: clang version may not be followed by extra words
313 + - build: update detect-compiler for newer Xcode version
314 +
315 + Build update.
316 +
317 +
318 +* jk/refs-files-cleanup-cleanup (2021-08-06) 1 commit
319 + (merged to 'next' on 2021-08-09 at 37b0b8c910)
320 + + refs: drop unused "flags" parameter to lock_ref_oid_basic()
321 + (this branch uses ab/refs-files-cleanup.)
322 +
323 + Code cleanup.
324 +
325 + Will cook in 'next'.
326 +
327 +
328 * cb/reftable-fixup (2021-08-02) 3 commits
329 - openbsd: allow reftable building with zlib 1.2.3
330 - reftable: clarify zlib version dependency
@@ -342,7 +351,7 @@ Release tarballs are available at:
351
352 Documentation updates.
353
345 - Expecting a (hopefully final) reroll.
354 + Will merge to 'next'.
355
356
357 * en/ort-becomes-the-default (2021-08-05) 2 commits
@@ -352,15 +361,15 @@ Release tarballs are available at:
361
362 Use `ort` instead of `recursive` as the default merge strategy.
363
355 - Waiting for the base topic to settle.
364 + Will merge to 'next'.
365
366
358 -* js/log-protocol-version (2021-08-03) 1 commit
367 +* js/log-protocol-version (2021-08-10) 1 commit
368 - connect, protocol: log negotiated protocol version
369
370 Debugging aid.
371
363 - Expecting a reroll.
372 + Will merge to 'next'.
373
374
375 * ow/clone-bare-origin (2021-08-03) 1 commit
@@ -434,6 +443,7 @@ Release tarballs are available at:
443 + pathspec: stop calling ensure_full_index
444 + add: allow operating on a sparse-only index
445 + t1092: test merge conflicts outside cone
446 + (this branch is used by ds/sparse-index-ignored-files.)
447
448 "git add" can work better with the sparse index.
449
@@ -462,7 +472,7 @@ Release tarballs are available at:
472 cover between 0-100%, which has been corrected.
473
474
465 -* ar/submodule-add-config (2021-08-05) 1 commit
475 +* ar/submodule-add-config (2021-08-10) 1 commit
476 - submodule--helper: introduce add-config subcommand
477 (this branch is used by ar/submodule-add-more.)
478
@@ -631,7 +641,7 @@ Release tarballs are available at:
641 but went ahead and rebased when the history on other side is not a
642 descendant of our history. The series tries to fix them up.
643
634 - Comments?
644 + Will merge to 'next'.
645
646
647 * bc/inactive-submodules (2021-07-02) 1 commit
@@ -678,14 +688,15 @@ Release tarballs are available at:
688
689
690 * jt/push-negotiation-fixes (2021-07-15) 3 commits
681 - - fetch: die on invalid --negotiation-tip hash
682 - - send-pack: fix push nego. when remote has refs
683 - - send-pack: fix push.negotiate with remote helper
691 + (merged to 'next' on 2021-08-09 at ea7da8239c)
692 + + fetch: die on invalid --negotiation-tip hash
693 + + send-pack: fix push nego. when remote has refs
694 + + send-pack: fix push.negotiate with remote helper
695
696 Bugfix for common ancestor negotiation recently introduced in "git
697 push" codepath.
698
688 - Needs review.
699 + Will cook in 'next'.
700
701
702 * ab/make-tags-cleanup (2021-08-05) 5 commits
@@ -973,5 +984,3 @@ Release tarballs are available at:
984
985 Seems too involved for a last-minute fix.
986 cf. <20210804212825.GH23408@szeder.dev>
976 -
977 -