What's cooking (2021/09 #06)

Junio C Hamano committed Sep 20, 2021 at 15:53 UTC 40e115628dcf97fee758020e6b8dcdd0209761b3
1 file changed +508 -510
whats-cooking.txt
+508 -510
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Sep 2021, #05; Fri, 17)
4 -X-master-at: 4c719308ce59dc70e606f910f40801f2c6051b24
5 -X-next-at: 186eaaae567db501179c0af0bf89b34cbea02c26
3 +Subject: What's cooking in git.git (Sep 2021, #06; Mon, 20)
4 +X-master-at: 99c99ed8259bf070cd8ae7b51a94904b7cf5c161
5 +X-next-at: d22421fcc6e5254ac802caac9a2af0b5cf0fb5d7
6
7 -What's cooking in git.git (Sep 2021, #05; Fri, 17)
7 +What's cooking in git.git (Sep 2021, #06; Mon, 20)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking in my tree. Commits
@@ -18,9 +18,7 @@ useful"). Do not read too much into a topic being in (or not in)
18 'seen'. The ones marked with '.' do not appear in any of the
19 integration branches, but I am still holding onto them.
20
21 -The sixth batch is out. I've marked quite many topics for 'next'
22 -but with a question mark in this issue of the report, to which help
23 -in triaging them would be greatly appreciated as ever.
21 +The seventh batch is out.
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,86 +51,508 @@ Release tarballs are available at:
51 --------------------------------------------------
52 [Graduated to 'master']
53
56 -* ab/no-more-check-bindir (2021-09-07) 1 commit
57 - (merged to 'next' on 2021-09-08 at 4fddb3864f)
58 - + Makefile: remove the check_bindir script
54 +* ab/make-tags-cleanup (2021-08-05) 5 commits
55 + (merged to 'next' on 2021-09-12 at 79584f3c60)
56 + + Makefile: normalize clobbering & xargs for tags targets
57 + + Makefile: remove "cscope.out", not "cscope*" in cscope.out target
58 + + Makefile: don't use "FORCE" for tags targets
59 + + Makefile: add QUIET_GEN to "cscope" target
60 + + Makefile: move ".PHONY: cscope" near its target
61 +
62 + Build clean-up for "make tags" and friends.
63 +
64 +
65 +* ab/progress-users-adjust-counters (2021-09-09) 2 commits
66 + (merged to 'next' on 2021-09-10 at b50c37aa44)
67 + + entry: show finer-grained counter in "Filtering content" progress line
68 + + commit-graph: fix bogus counter in "Scanning merged commits" progress line
69 +
70 + The code to show progress indicator in a few code paths did not
71 + cover between 0-100%, which has been corrected.
72 +
73 +
74 +* ab/serve-cleanup (2021-08-05) 10 commits
75 + (merged to 'next' on 2021-09-12 at ea87ede873)
76 + + upload-pack: document and rename --advertise-refs
77 + + serve.[ch]: remove "serve_options", split up --advertise-refs code
78 + + {upload,receive}-pack tests: add --advertise-refs tests
79 + + serve.c: move version line to advertise_capabilities()
80 + + serve: move transfer.advertiseSID check into session_id_advertise()
81 + + serve.[ch]: don't pass "struct strvec *keys" to commands
82 + + serve: use designated initializers
83 + + transport: use designated initializers
84 + + transport: rename "fetch" in transport_vtable to "fetch_refs"
85 + + serve: mark has_capability() as static
86 + (this branch is used by jk/reduce-malloc-in-v2-servers.)
87 +
88 + Code clean-up around "git serve".
89 +
90 +
91 +* ab/tr2-leaks-and-fixes (2021-09-07) 6 commits
92 + (merged to 'next' on 2021-09-10 at 14f0dd5580)
93 + + tr2: log N parent process names on Linux
94 + + tr2: do compiler enum check in trace2_collect_process_info()
95 + + tr2: leave the parent list empty upon failure & don't leak memory
96 + + tr2: stop leaking "thread_name" memory
97 + + tr2: clarify TRACE2_PROCESS_INFO_EXIT comment under Linux
98 + + tr2: remove NEEDSWORK comment for "non-procfs" implementations
99 +
100 + The tracing of process ancestry information has been enhanced.
101 +
102 +
103 +* ab/unbundle-progress (2021-09-07) 4 commits
104 + (merged to 'next' on 2021-09-12 at d7bacb391e)
105 + + bundle: show progress on "unbundle"
106 + + index-pack: add --progress-title option
107 + + bundle API: change "flags" to be "extra_index_pack_args"
108 + + bundle API: start writing API documentation
109 +
110 + Add progress display to "git bundle unbundle".
111 +
112 +
113 +* ar/submodule-add-config (2021-08-10) 1 commit
114 + (merged to 'next' on 2021-09-12 at fdabb4f0fc)
115 + + submodule--helper: introduce add-config subcommand
116 + (this branch is used by ar/submodule-add-more.)
117 +
118 + Large part of "git submodule add" gets rewritten in C.
119 +
120 +
121 +* ar/submodule-add-more (2021-08-10) 10 commits
122 + (merged to 'next' on 2021-09-12 at efebf6dad3)
123 + + submodule--helper: rename compute_submodule_clone_url()
124 + + submodule--helper: remove resolve-relative-url subcommand
125 + + submodule--helper: remove add-config subcommand
126 + + submodule--helper: remove add-clone subcommand
127 + + submodule--helper: convert the bulk of cmd_add() to C
128 + + dir: libify and export helper functions from clone.c
129 + + submodule--helper: remove repeated code in sync_submodule()
130 + + submodule--helper: refactor resolve_relative_url() helper
131 + + submodule--helper: add options for compute_submodule_clone_url()
132 + + Merge branch 'ar/submodule-add-config' into ar/submodule-add
133 + (this branch uses ar/submodule-add-config.)
134 +
135 + More parts of "git submodule add" has been rewritten in C.
136 +
137 +
138 +* ar/submodule-run-update-procedure (2021-08-24) 1 commit
139 + (merged to 'next' on 2021-09-12 at fbe417715d)
140 + + submodule--helper: run update procedures from C
141 + (this branch is used by ar/submodule-update.)
142 +
143 + Reimplementation of parts of "git submodule" in C continues.
144 +
145 +
146 +* cb/pedantic-build-for-developers (2021-09-03) 3 commits
147 + (merged to 'next' on 2021-09-10 at b8df102019)
148 + + developer: enable pedantic by default
149 + + win32: allow building with pedantic mode enabled
150 + + gettext: remove optional non-standard parens in N_() definition
151 +
152 + Update the build procedure to use the "-pedantic" build when
153 + DEVELOPER makefile macro is in effect.
154 +
155 +
156 +* ds/mergies-with-sparse-index (2021-09-09) 6 commits
157 + (merged to 'next' on 2021-09-12 at 1535fa2dae)
158 + + sparse-index: integrate with cherry-pick and rebase
159 + + sequencer: ensure full index if not ORT strategy
160 + + t1092: add cherry-pick, rebase tests
161 + + merge-ort: expand only for out-of-cone conflicts
162 + + merge: make sparse-aware with ORT
163 + + diff: ignore sparse paths in diffstat
164 + (this branch is used by ds/add-rm-with-sparse-index; uses ds/sparse-index-ignored-files.)
165 +
166 + Various mergy operations have been prepared to work efficiently
167 + with the sparse index.
168 +
169 +
170 +* ds/sparse-index-ignored-files (2021-09-07) 10 commits
171 + (merged to 'next' on 2021-09-12 at 6993c73000)
172 + + sparse-checkout: clear tracked sparse dirs
173 + + sparse-index: add SPARSE_INDEX_MEMORY_ONLY flag
174 + + attr: be careful about sparse directories
175 + + sparse-checkout: create helper methods
176 + + sparse-index: use WRITE_TREE_MISSING_OK
177 + + sparse-index: silently return when cache tree fails
178 + + unpack-trees: fix nested sparse-dir search
179 + + sparse-index: silently return when not using cone-mode patterns
180 + + t7519: rewrite sparse index test
181 + + Merge branch 'ds/add-with-sparse-index' into ds/sparse-index-ignored-files
182 + (this branch is used by ds/add-rm-with-sparse-index, ds/mergies-with-sparse-index and sg/test-split-index-fix.)
183 +
184 + In cone mode, the sparse-index code path learned to remove ignored
185 + files (like build artifacts) outside the sparse cone, allowing the
186 + entire directory outside the sparse cone to be removed, which is
187 + especially useful when the sparse patterns change.
188 +
189 +
190 +* dt/submodule-diff-fixes (2021-08-31) 3 commits
191 + (merged to 'next' on 2021-09-10 at 21b773f4fe)
192 + + diff --submodule=diff: don't print failure message twice
193 + + diff --submodule=diff: do not fail on ever-initialied deleted submodules
194 + + t4060: remove unused variable
195 +
196 + "git diff --submodule=diff" showed failure from run_command() when
197 + trying to run diff inside a submodule, when the user manually
198 + removes the submodule directory.
199 +
200 +
201 +* jk/t5562-racefix (2021-09-09) 1 commit
202 + (merged to 'next' on 2021-09-12 at 22d4bfa14b)
203 + + t5562: use alarm() to interrupt timed child-wait
204 +
205 + Test update.
206 +
207 +
208 +* js/pull-release-packs-before-fetching (2021-09-08) 2 commits
209 + (merged to 'next' on 2021-09-12 at 05cdcab392)
210 + + pull: release packs before fetching
211 + + commit-graph: when closing the graph, also release the slab
212 + (this branch is used by js/run-command-close-packs.)
213 +
214 + "git pull" was taught to close open file descriptors to the
215 + packfiles before spawning "git fetch" to help auto-gc that may be
216 + invoked by it.
217 +
218 +
219 +* js/run-command-close-packs (2021-09-09) 4 commits
220 + (merged to 'next' on 2021-09-12 at 97c3614c78)
221 + + Close object store closer to spawning child processes
222 + + run_auto_maintenance(): implicitly close the object store
223 + + run-command: offer to close the object store before running
224 + + run-command: prettify the `RUN_COMMAND_*` flags
225 + (this branch uses js/pull-release-packs-before-fetching.)
226 +
227 + The run-command API has been updated so that the callers can easily
228 + ask the file descriptors open for packfiles to be closed immediately
229 + before spawning commands that may trigger auto-gc.
230 +
231 +
232 +* jt/grep-wo-submodule-odb-as-alternate (2021-09-08) 8 commits
233 + (merged to 'next' on 2021-09-08 at 67612d0b7f)
234 + + t7814: show lack of alternate ODB-adding
235 + + submodule-config: pass repo upon blob config read
236 + + grep: add repository to OID grep sources
237 + + grep: allocate subrepos on heap
238 + + grep: read submodule entry with explicit repo
239 + + grep: typesafe versions of grep_source_init
240 + + grep: use submodule-ODB-as-alternate lazy-addition
241 + + submodule: lazily add submodule ODBs as alternates
242 + (this branch is used by jt/add-submodule-odb-clean-up.)
243 +
244 + The code to make "git grep" recurse into submodules has been
245 + updated to migrate away from the "add submodule's object store as
246 + an alternate object store" mechanism (which is suboptimal).
247 +
248 +
249 +* jv/pkt-line-batch (2021-09-01) 2 commits
250 + (merged to 'next' on 2021-09-10 at c31d871c9a)
251 + + upload-pack: use stdio in send_ref callbacks
252 + + pkt-line: add stdio packet write functions
253 +
254 + Reduce number of write(2) system calls while sending the
255 + ref advertisement.
256 +
257 +
258 +* lh/systemd-timers (2021-09-07) 3 commits
259 + (merged to 'next' on 2021-09-10 at b27d72031a)
260 + + maintenance: add support for systemd timers on Linux
261 + + maintenance: `git maintenance run` learned `--scheduler=<scheduler>`
262 + + cache.h: Introduce a generic "xdg_config_home_for(…)" function
263 +
264 + "git maintenance" scheduler learned to use systemd timers as a
265 + possible backend.
266 +
267 +
268 +* ps/fetch-optim (2021-09-01) 7 commits
269 + (merged to 'next' on 2021-09-08 at 99f865125d)
270 + + fetch: avoid second connectivity check if we already have all objects
271 + + fetch: merge fetching and consuming refs
272 + + fetch: refactor fetch refs to be more extendable
273 + + fetch-pack: optimize loading of refs via commit graph
274 + + connected: refactor iterator to return next object ID directly
275 + + fetch: avoid unpacking headers in object existence check
276 + + fetch: speed up lookup of want refs via commit-graph
277 +
278 + Optimize code that handles large number of refs in the "git fetch"
279 + code path.
280 +
281 +
282 +* rs/no-mode-to-open-when-appending (2021-09-09) 1 commit
283 + (merged to 'next' on 2021-09-12 at a3ea25c5f1)
284 + + refs/files-backend: remove unused open mode parameter
285 +
286 + The "mode" word is useless in a call to open(2) that does not
287 + create a new file. Such a call in the files backend of the ref
288 + subsystem has been cleaned up.
289 +
290 +
291 +* rs/setup-use-xopen-and-xdup (2021-09-09) 1 commit
292 + (merged to 'next' on 2021-09-12 at 544b481d15)
293 + + setup: use xopen and xdup in sanitize_stdfds
294 +
295 + Code clean-up.
296 +
297 +
298 +* tb/multi-pack-bitmaps (2021-09-09) 29 commits
299 + (merged to 'next' on 2021-09-10 at 71559ef435)
300 + + pack-bitmap: drop bitmap_index argument from try_partial_reuse()
301 + + pack-bitmap: drop repository argument from prepare_midx_bitmap_git()
302 + (merged to 'next' on 2021-09-08 at f2b7415bd8)
303 + + p5326: perf tests for MIDX bitmaps
304 + + p5310: extract full and partial bitmap tests
305 + + midx: respect 'GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAP'
306 + + t7700: update to work with MIDX bitmap test knob
307 + + t5319: don't write MIDX bitmaps in t5319
308 + + t5310: disable GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAP
309 + + t0410: disable GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAP
310 + + t5326: test multi-pack bitmap behavior
311 + + t/helper/test-read-midx.c: add --checksum mode
312 + + t5310: move some tests to lib-bitmap.sh
313 + + pack-bitmap: write multi-pack bitmaps
314 + + pack-bitmap: read multi-pack bitmaps
315 + + pack-bitmap.c: avoid redundant calls to try_partial_reuse
316 + + pack-bitmap.c: introduce 'bitmap_is_preferred_refname()'
317 + + pack-bitmap.c: introduce 'nth_bitmap_object_oid()'
318 + + pack-bitmap.c: introduce 'bitmap_num_objects()'
319 + + midx: avoid opening multiple MIDXs when writing
320 + + midx: close linked MIDXs, avoid leaking memory
321 + + midx: infer preferred pack when not given one
322 + + midx: reject empty `--preferred-pack`'s
323 + + midx: clear auxiliary .rev after replacing the MIDX
324 + + midx: fix `*.rev` cleanups with `--object-dir`
325 + + midx: disallow running outside of a repository
326 + + Documentation: describe MIDX-based bitmaps
327 + + pack-bitmap-write.c: free existing bitmaps
328 + + pack-bitmap-write.c: gracefully fail to write non-closed bitmaps
329 + + pack-bitmap.c: harden 'test_bitmap_walk()' to check type bitmaps
330 + (this branch is used by tb/midx-write-propagate-namehash and tb/repack-write-midx.)
331 +
332 + The reachability bitmap file used to be generated only for a single
333 + pack, but now we've learned to generate bitmaps for history that
334 + span across multiple packfiles.
335 +
336 +
337 +* tb/pack-finalize-ordering (2021-09-09) 9 commits
338 + (merged to 'next' on 2021-09-10 at 7b39c39e31)
339 + + pack-objects: rename .idx files into place after .bitmap files
340 + + pack-write: split up finish_tmp_packfile() function
341 + + builtin/index-pack.c: move `.idx` files into place last
342 + + index-pack: refactor renaming in final()
343 + + builtin/repack.c: move `.idx` files into place last
344 + + pack-write.c: rename `.idx` files after `*.rev`
345 + + pack-write: refactor renaming in finish_tmp_packfile()
346 + + bulk-checkin.c: store checksum directly
347 + + pack.h: line-wrap the definition of finish_tmp_packfile()
348 +
349 + The order in which various files that make up a single (conceptual)
350 + packfile has been reevaluated and straightened up. This matters in
351 + correctness, as an incomplete set of files must not be shown to a
352 + running Git.
353 +
354 +--------------------------------------------------
355 +[New Topics]
356 +
357 +* ab/repo-settings-cleanup (2021-09-20) 5 commits
358 + - repository.h: don't use a mix of int and bitfields
359 + - repo-settings.c: simplify the setup
360 + - read-cache & fetch-negotiator: check "enum" values in switch()
361 + - environment.c: remove test-specific "ignore_untracked..." variable
362 + - wrapper.c: add x{un,}setenv(), and use xsetenv() in environment.c
363 +
364 + Code cleanup.
365 +
366 + Will merge to 'next'?
367 + cf. <cover-v3-0.5-00000000000-20210919T084703Z-avarab@gmail.com>
368 + Looks like we got an implicit Ack from Derrick?
369 +
370 +
371 +* ah/connect-parse-feature-v0-fix (2021-09-20) 1 commit
372 + - connect: also update offset for features without values
373 +
374 + Protocol v0 clients can get stuck parsing a malformed feature line.
375 +
376 + Will merge to 'next'.
377 +
378 +
379 +* ah/unreak-revisions (2021-09-20) 2 commits
380 + - log: UNLEAK original pending objects
381 + - log: UNLEAK rev to silence a large number of leaks
382 +
383 + Mark a few structures with UNLEAK() to help leak detection CI jobs.
384 +
385 + Will merge to 'next'.
386 +
387 +
388 +* ar/submodule-update (2021-09-20) 8 commits
389 + - submodule--helper: rename helper functions
390 + - submodule--helper: remove unused helpers
391 + - submodule--helper: remove update-clone subcommand
392 + - submodule: move core cmd_update() logic to C
393 + - submodule--helper: refactor get_submodule_displaypath()
394 + - submodule--helper: rename helpers for update-clone
395 + - submodule--helper: get remote names from any repository
396 + - submodule--helper: split up ensure_core_worktree()
397 +
398 + Rewrite of "git submodule update" in C.
399 +
400 + Expecting a reroll.
401 + Stomps on a handful of other topics and comes with an overly large step.
402 +
403 +
404 +* da/difftool (2021-09-20) 4 commits
405 + - difftool: add a missing space to the run_dir_diff() comments
406 + - difftool: use a strbuf to create a tmpdir path without repeated slashes
407 + - Merge branch 'da/difftool-dir-diff-symlink-fix' into da/difftool
408 + - Merge branch 'ab/retire-option-argument' into da/difftool
409 + (this branch uses ab/retire-option-argument and da/difftool-dir-diff-symlink-fix.)
410 +
411 + Code clean-up in "git difftool".
412 +
413 +
414 +* da/difftool-dir-diff-symlink-fix (2021-09-20) 1 commit
415 + - difftool: fix symlink-file writing in dir-diff mode
416 + (this branch is used by da/difftool.)
417 +
418 + "git difftool --dir-diff" mishandled symbolic links.
419 +
420 + Will merge to 'next'.
421 +
422 +
423 +* en/removing-untracked-fixes (2021-09-20) 7 commits
424 + - Documentation: call out commands that nuke untracked files/directories
425 + - Comment important codepaths regarding nuking untracked files/dirs
426 + - unpack-trees: avoid nuking untracked dir in way of locally deleted file
427 + - unpack-trees: avoid nuking untracked dir in way of unmerged file
428 + - Split unpack_trees 'reset' flag into two for untracked handling
429 + - t2500: add various tests for nuking untracked files
430 + - Merge branch 'en/am-abort-fix' into en/removing-untracked-fixes
431 + (this branch uses en/am-abort-fix.)
432 +
433 + Various fixes in code paths that move untracked files away to make room.
434 +
435 +
436 +* en/typofixes (2021-09-20) 2 commits
437 + (merged to 'next' on 2021-09-20 at 48648dafa3)
438 + + merge-ort: fix completely wrong comment
439 + + trace2.h: fix trivial comment typo
440 +
441 + Typofixes.
442 +
443 + Will merge to 'master'.
444
60 - Build simplification.
445
446 +* ks/submodule-add-message-fix (2021-09-20) 1 commit
447 + - submodule--helper: fix incorrect newlines in an error message
448
63 -* ab/reverse-midx-optim (2021-09-07) 1 commit
64 - (merged to 'next' on 2021-09-08 at 1972c5931b)
65 - + pack-write: skip *.rev work when not writing *.rev
449 + Message regression fix.
450
67 - The code that optionally creates the *.rev reverse index file has
68 - been optimized to avoid needless computation when it is not writing
69 - the file out.
451 + Will merge to 'next'.
452
453
72 -* ab/send-email-config-fix (2021-09-07) 1 commit
73 - (merged to 'next' on 2021-09-08 at c2000e9689)
74 - + send-email: fix a "first config key wins" regression in v2.33.0
454 +* tb/commit-graph-usage-fix (2021-09-20) 1 commit
455 + - builtin/commit-graph.c: don't accept common --[no-]progress
456
76 - Regression fix.
457 + Regression fix for "git commit-graph" command line parsing.
458
459 + Will merge to 'next'.
460
79 -* bs/doc-bugreport-outdir (2021-09-07) 1 commit
80 - (merged to 'next' on 2021-09-08 at 5ea3df204d)
81 - + Documentation: fix default directory of git bugreport -o
461
83 - Docfix.
462 +* ws/refer-to-forkpoint-config-in-rebase-doc (2021-09-20) 1 commit
463 + - Document `rebase.forkpoint` in rebase man page
464
465 + Doc update.
466
86 -* bs/install-strip (2021-09-05) 1 commit
87 - (merged to 'next' on 2021-09-08 at 40cfa71c8d)
88 - + make: add INSTALL_STRIP option variable
467 + Will merge to 'next'?
468
90 - "make INSTALL_STRIP=-s install" allows the installation step to use
91 - "install -s" to strip the binaries as they get installed.
469
470 +* jk/clone-unborn-head-in-bare (2021-09-20) 1 commit
471 + (merged to 'next' on 2021-09-20 at 93c93b8d51)
472 + + clone: handle unborn branch in bare repos
473
94 -* jc/prefix-filename-allocates (2021-09-07) 1 commit
95 - (merged to 'next' on 2021-09-10 at a5221ea92e)
96 - + hash-object: prefix_filename() returns allocated memory these days
474 + "git clone" from a repository whose HEAD is unborn into a bare
475 + repository didn't follow the branch name the other side used, which
476 + is corrected.
477
98 - Leakfix.
478 + Will merge to 'master'.
479 +
480 +--------------------------------------------------
481 +[Stalled]
482 +
483 +* ab/pack-objects-stdin (2021-07-09) 5 commits
484 + - pack-objects.c: make use of REV_INFO_STDIN_LINE_PROCESS
485 + - pack-objects.c: do stdin parsing via revision.c's API
486 + - revision.[ch]: add a "handle_stdin_line" API
487 + - revision.h: refactor "disable_stdin" and "read_from_stdin"
488 + - upload-pack: run is_repository_shallow() before setup_revisions()
489 +
490 + Introduce handle_stdin_line callback to revision API and uses it.
491 +
492 + Waiting for reviews.
493
494
101 -* jc/trivial-threeway-binary-merge (2021-09-05) 1 commit
102 - (merged to 'next' on 2021-09-08 at d6ba0735d8)
103 - + apply: resolve trivial merge without hitting ll-merge with "--3way"
495 +* es/config-based-hooks (2021-09-09) 6 commits
496 + - hook: allow out-of-repo 'git hook' invocations
497 + - hook: include hooks from the config
498 + - hook: introduce "git hook list"
499 + - hook: allow parallel hook execution
500 + - fixup! hook: run a list of hooks instead
501 + - hook: run a list of hooks instead
502 + (this branch uses ab/config-based-hooks-base.)
503
105 - The "git apply -3" code path learned not to bother the lower level
106 - merge machinery when the three-way merge can be trivially resolved
107 - without the content level merge.
504 + Revamp the hooks subsystem to allow multiple of them to trigger
505 + upon the same event and control via the configuration variables.
506
507 + On hold.
508 + This is an interim one that goes with the updated ab/config-based-hooks-base.
509
110 -* pb/test-use-user-env (2021-09-07) 3 commits
111 - (merged to 'next' on 2021-09-08 at 6fa5d96723)
112 - + test-lib-functions: keep user's debugger config files and TERM in 'debug'
113 - + test-lib-functions: optionally keep HOME, TERM and SHELL in 'test_pause'
114 - + test-lib-functions: use 'TEST_SHELL_PATH' in 'test_pause'
510
116 - Teach "test_pause" and "debug" helpers to allow using the HOME and
117 - TERM environment variables the user usually uses.
511 +* es/superproject-aware-submodules (2021-08-19) 5 commits
512 + . fixup! introduce submodule.superprojectGitDir record
513 + . submodule: record superproject gitdir during 'update'
514 + . submodule: record superproject gitdir during absorbgitdirs
515 + . introduce submodule.superprojectGitDir record
516 + . t7400-submodule-basic: modernize inspect() helper
517
518 + A configuration variable in a submodule points at the location of
519 + the superproject it is bound to (RFC).
520
120 -* rs/range-diff-avoid-segfault-with-I (2021-09-07) 1 commit
121 - (merged to 'next' on 2021-09-10 at e8bac5f9ea)
122 - + range-diff: avoid segfault with -I
521 + Kicked out of 'seen' tentatively to see how well a conflicting
522 + ar/submodule-update topic fares.
523
124 - "git range-diff -I... <range> <range>" segfaulted, which has been
125 - corrected.
524
525 +* ab/fsck-unexpected-type (2021-09-07) 22 commits
526 + - fsck: report invalid object type-path combinations
527 + - fsck: report invalid types recorded in objects
528 + - object-store.h: move read_loose_object() below 'struct object_info'
529 + - fsck: don't hard die on invalid object types
530 + - object-file.c: use "enum" return type for unpack_loose_header()
531 + - object-file.c: return -2 on "header too long" in unpack_loose_header()
532 + - object-file.c: return -1, not "status" from unpack_loose_header()
533 + - object-file.c: guard against future bugs in loose_object_info()
534 + - object-file.c: stop dying in parse_loose_header()
535 + - object-file.c: split up ternary in parse_loose_header()
536 + - object-file.c: simplify unpack_loose_short_header()
537 + - object-file.c: add missing braces to loose_object_info()
538 + - object-file.c: make parse_loose_header_extended() public
539 + - object-file.c: don't set "typep" when returning non-zero
540 + - cache.h: move object functions to object-store.h
541 + - cat-file tests: test for current --allow-unknown-type behavior
542 + - cat-file tests: add corrupt loose object test
543 + - rev-list tests: test for behavior with invalid object types
544 + - cat-file tests: test that --allow-unknown-type isn't on by default
545 + - cat-file tests: test for missing object with -t and -s
546 + - fsck tests: add test for fsck-ing an unknown type
547 + - fsck tests: refactor one test to use a sub-repo
548
128 -* so/diff-index-regression-fix (2021-09-07) 1 commit
129 - (merged to 'next' on 2021-09-08 at ca17912ed3)
130 - + diff-index: restore -c/--cc options handling
549 + "git fsck" has been taught to report mismatch between expected and
550 + actual types of an object better.
551
132 - Recent "diff -m" changes broke "gitk", which has been corrected.
552 + Needs review.
553
554 --------------------------------------------------
135 -[New Topics]
555 +[Cooking]
556
557 * jk/reduce-malloc-in-v2-servers (2021-09-15) 12 commits
558 (merged to 'next' on 2021-09-16 at 40cfe41efc)
@@ -148,7 +568,6 @@ Release tarballs are available at:
568 + serve: return capability "value" from get_capability()
569 + serve: rename is_command() to parse_command()
570 + Merge branch 'ab/serve-cleanup' into jk/reduce-malloc-in-v2-servers
151 - (this branch uses ab/serve-cleanup.)
571
572 Code cleanup to limit memory consumption and tighten protocol
573 message parsing.
@@ -206,14 +625,14 @@ Release tarballs are available at:
625 Will merge to 'master'.
626
627
209 -* jh/builtin-fsmonitor-part1 (2021-09-15) 7 commits
628 +* jh/builtin-fsmonitor-part1 (2021-09-20) 7 commits
629 - t/helper/simple-ipc: convert test-simple-ipc to use start_bg_command
630 - run-command: create start_bg_command
631 - simple-ipc/ipc-win32: add Windows ACL to named pipe
632 - simple-ipc/ipc-win32: add trace2 debugging
633 - simple-ipc: move definition of ipc_active_state outside of ifdef
634 - simple-ipc: preparations for supporting binary messages.
216 - - trace2: fix memory leak of thread name
635 + - trace2: add trace2_child_ready() to report on background children
636
637 Built-in fsmonitor (part 1).
638
@@ -240,88 +659,14 @@ Release tarballs are available at:
659
660
661 * cb/unicode-14 (2021-09-17) 1 commit
243 - - unicode: update the width tables to Unicode 14
662 + (merged to 'next' on 2021-09-20 at 7873b310ad)
663 + + unicode: update the width tables to Unicode 14
664
665 The unicode character width table (used for output alignment) has
666 been updated.
667
248 - Will merge to 'next'.
249 -
250 ---------------------------------------------------
251 -[Stalled]
252 -
253 -* ab/pack-objects-stdin (2021-07-09) 5 commits
254 - - pack-objects.c: make use of REV_INFO_STDIN_LINE_PROCESS
255 - - pack-objects.c: do stdin parsing via revision.c's API
256 - - revision.[ch]: add a "handle_stdin_line" API
257 - - revision.h: refactor "disable_stdin" and "read_from_stdin"
258 - - upload-pack: run is_repository_shallow() before setup_revisions()
259 -
260 - Introduce handle_stdin_line callback to revision API and uses it.
261 -
262 - Waiting for reviews.
263 -
264 -
265 -* es/config-based-hooks (2021-09-09) 6 commits
266 - - hook: allow out-of-repo 'git hook' invocations
267 - - hook: include hooks from the config
268 - - hook: introduce "git hook list"
269 - - hook: allow parallel hook execution
270 - - fixup! hook: run a list of hooks instead
271 - - hook: run a list of hooks instead
272 - (this branch uses ab/config-based-hooks-base.)
273 -
274 - Revamp the hooks subsystem to allow multiple of them to trigger
275 - upon the same event and control via the configuration variables.
276 -
277 - On hold.
278 - This is an interim one that goes with the updated ab/config-based-hooks-base.
279 -
280 -
281 -* es/superproject-aware-submodules (2021-08-19) 5 commits
282 - - fixup! introduce submodule.superprojectGitDir record
283 - - submodule: record superproject gitdir during 'update'
284 - - submodule: record superproject gitdir during absorbgitdirs
285 - - introduce submodule.superprojectGitDir record
286 - - t7400-submodule-basic: modernize inspect() helper
287 -
288 - A configuration variable in a submodule points at the location of
289 - the superproject it is bound to (RFC).
290 -
291 - Looking good.
292 -
293 -
294 -* ab/fsck-unexpected-type (2021-09-07) 22 commits
295 - - fsck: report invalid object type-path combinations
296 - - fsck: report invalid types recorded in objects
297 - - object-store.h: move read_loose_object() below 'struct object_info'
298 - - fsck: don't hard die on invalid object types
299 - - object-file.c: use "enum" return type for unpack_loose_header()
300 - - object-file.c: return -2 on "header too long" in unpack_loose_header()
301 - - object-file.c: return -1, not "status" from unpack_loose_header()
302 - - object-file.c: guard against future bugs in loose_object_info()
303 - - object-file.c: stop dying in parse_loose_header()
304 - - object-file.c: split up ternary in parse_loose_header()
305 - - object-file.c: simplify unpack_loose_short_header()
306 - - object-file.c: add missing braces to loose_object_info()
307 - - object-file.c: make parse_loose_header_extended() public
308 - - object-file.c: don't set "typep" when returning non-zero
309 - - cache.h: move object functions to object-store.h
310 - - cat-file tests: test for current --allow-unknown-type behavior
311 - - cat-file tests: add corrupt loose object test
312 - - rev-list tests: test for behavior with invalid object types
313 - - cat-file tests: test that --allow-unknown-type isn't on by default
314 - - cat-file tests: test for missing object with -t and -s
315 - - fsck tests: add test for fsck-ing an unknown type
316 - - fsck tests: refactor one test to use a sub-repo
317 -
318 - "git fsck" has been taught to report mismatch between expected and
319 - actual types of an object better.
320 -
321 - Needs review.
668 + Will merge to 'master'.
669
323 ---------------------------------------------------
324 -[Cooking]
670
671 * jk/http-server-protocol-versions (2021-09-10) 5 commits
672 (merged to 'next' on 2021-09-13 at 9174cd6d37)
@@ -370,6 +715,7 @@ Release tarballs are available at:
715 + am: fix incorrect exit status on am fail to abort
716 + t4151: add a few am --abort tests
717 + git-am.txt: clarify --abort behavior
718 + (this branch is used by en/removing-untracked-fixes.)
719
720 When "git am --abort" fails to abort correctly, it still exited
721 with exit status of 0, which has been corrected.
@@ -386,7 +732,6 @@ Release tarballs are available at:
732 - midx: preliminary support for `--refs-snapshot`
733 - builtin/multi-pack-index.c: support `--stdin-packs` mode
734 - midx: expose `write_midx_file_only()` publicly
389 - (this branch uses tb/multi-pack-bitmaps.)
735
736 "git repack" has been taught to generate multi-pack reachability
737 bitmaps.
@@ -450,13 +795,13 @@ Release tarballs are available at:
795 - dir: extract directory-matching logic
796 - t1092: behavior for adding sparse files
797 - t3705: test that 'sparse_entry' is unstaged
453 - (this branch uses ds/mergies-with-sparse-index and ds/sparse-index-ignored-files.)
798
799 "git add", "git mv", and "git rm" have been adjusted to avoid
800 updating paths outside of the sparse-checkout definition unless
801 the user specifies a "--sparse" option.
802
459 - Will merge to 'next'?
803 + Expecting a reroll.
804 + cf. <922bdab1-c521-84b5-51c1-a0413fd67394@gmail.com>
805
806
807 * en/tests-cleanup-leftover-untracked (2021-09-12) 1 commit
@@ -500,7 +845,7 @@ Release tarballs are available at:
845 Will merge to 'master'.
846
847
503 -* tb/midx-write-propagate-namehash (2021-09-14) 7 commits
848 +* tb/midx-write-propagate-namehash (2021-09-17) 7 commits
849 - t5326: test propagating hashcache values
850 - p5326: generate pack bitmaps before writing the MIDX bitmap
851 - p5326: don't set core.multiPackIndex unnecessarily
@@ -508,7 +853,6 @@ Release tarballs are available at:
853 - midx.c: respect 'pack.writeBitmapHashcache' when writing bitmaps
854 - pack-bitmap.c: propagate namehash values from existing bitmaps
855 - t/helper/test-bitmap.c: add 'dump-hashes' mode
511 - (this branch uses tb/multi-pack-bitmaps.)
856
857 "git multi-pack-index write --bitmap" learns to propagate the
858 hashcache from original bitmap to resulting bitmap.
@@ -522,6 +866,7 @@ Release tarballs are available at:
866 + difftool: use run_command() API in run_file_diff()
867 + difftool: prepare "diff" cmdline in cmd_difftool()
868 + difftool: prepare "struct child_process" in cmd_difftool()
869 + (this branch is used by da/difftool.)
870
871 An oddball OPTION_ARGUMENT feature has been removed from the
872 parse-options API.
@@ -558,7 +903,7 @@ Release tarballs are available at:
903 Expecting a reroll.
904
905
561 -* en/zdiff3 (2021-09-12) 2 commits
906 +* en/zdiff3 (2021-09-20) 2 commits
907 - update documentation for new zdiff3 conflictStyle
908 - xdiff: implement a zealous diff3, or "zdiff3"
909
@@ -566,26 +911,14 @@ Release tarballs are available at:
911
912
913 * en/stash-df-fix (2021-09-10) 3 commits
569 - - stash: restore untracked files AFTER restoring tracked files
570 - - stash: avoid feeding directories to update-index
571 - - t3903: document a pair of directory/file bugs
914 + (merged to 'next' on 2021-09-20 at 513c11fb11)
915 + + stash: restore untracked files AFTER restoring tracked files
916 + + stash: avoid feeding directories to update-index
917 + + t3903: document a pair of directory/file bugs
918
919 Fix "git stash" corner case where the tentative change involves
920 changing a directory to a file (or vice versa).
921
576 - Will merge to 'next'.
577 -
578 -
579 -* js/pull-release-packs-before-fetching (2021-09-08) 2 commits
580 - (merged to 'next' on 2021-09-12 at 05cdcab392)
581 - + pull: release packs before fetching
582 - + commit-graph: when closing the graph, also release the slab
583 - (this branch is used by js/run-command-close-packs.)
584 -
585 - "git pull" was taught to close open file descriptors to the
586 - packfiles before spawning "git fetch" to help auto-gc that may be
587 - invoked by it.
588 -
922 Will merge to 'master'.
923
924
@@ -607,42 +940,10 @@ Release tarballs are available at:
940 Will merge to 'master'.
941
942
610 -* ds/mergies-with-sparse-index (2021-09-09) 6 commits
611 - (merged to 'next' on 2021-09-12 at 1535fa2dae)
612 - + sparse-index: integrate with cherry-pick and rebase
613 - + sequencer: ensure full index if not ORT strategy
614 - + t1092: add cherry-pick, rebase tests
615 - + merge-ort: expand only for out-of-cone conflicts
616 - + merge: make sparse-aware with ORT
617 - + diff: ignore sparse paths in diffstat
618 - (this branch is used by ds/add-rm-with-sparse-index; uses ds/sparse-index-ignored-files.)
619 -
620 - Various mergy operations have been prepared to work efficiently
621 - with the sparse index.
622 -
623 - Will merge to 'master'.
624 -
625 -
626 -* js/run-command-close-packs (2021-09-09) 4 commits
627 - (merged to 'next' on 2021-09-12 at 97c3614c78)
628 - + Close object store closer to spawning child processes
629 - + run_auto_maintenance(): implicitly close the object store
630 - + run-command: offer to close the object store before running
631 - + run-command: prettify the `RUN_COMMAND_*` flags
632 - (this branch uses js/pull-release-packs-before-fetching.)
633 -
634 - The run-command API has been updated so that the callers can easily
635 - ask the file descriptors open for packfiles to be closed immediately
636 - before spawning commands that may trigger auto-gc.
637 -
638 - Will merge to 'master'.
639 -
640 -
943 * jt/add-submodule-odb-clean-up (2021-09-09) 3 commits
944 - revision: remove "submodule" from opt struct
945 - repository: support unabsorbed in repo_submodule_init
946 - submodule: remove unnecessary unabsorbed fallback
645 - (this branch uses jt/grep-wo-submodule-odb-as-alternate.)
947
948 More code paths that uses the hack to add submodule's object
949 database to the set of alternate object store have been cleaned up.
@@ -658,35 +959,6 @@ Release tarballs are available at:
959 Will merge to 'next'.
960
961
661 -* jk/t5562-racefix (2021-09-09) 1 commit
662 - (merged to 'next' on 2021-09-12 at 22d4bfa14b)
663 - + t5562: use alarm() to interrupt timed child-wait
664 -
665 - Test update.
666 -
667 - Will merge to 'master'.
668 -
669 -
670 -* rs/no-mode-to-open-when-appending (2021-09-09) 1 commit
671 - (merged to 'next' on 2021-09-12 at a3ea25c5f1)
672 - + refs/files-backend: remove unused open mode parameter
673 -
674 - The "mode" word is useless in a call to open(2) that does not
675 - create a new file. Such a call in the files backend of the ref
676 - subsystem has been cleaned up.
677 -
678 - Will merge to 'master'.
679 -
680 -
681 -* rs/setup-use-xopen-and-xdup (2021-09-09) 1 commit
682 - (merged to 'next' on 2021-09-12 at 544b481d15)
683 - + setup: use xopen and xdup in sanitize_stdfds
684 -
685 - Code clean-up.
686 -
687 - Will merge to 'master'.
688 -
689 -
962 * rs/use-xopen-in-index-pack (2021-09-10) 1 commit
963 (merged to 'next' on 2021-09-16 at 186eaaae56)
964 + index-pack: use xopen in init_thread
@@ -696,18 +968,6 @@ Release tarballs are available at:
968 Will merge to 'master'.
969
970
699 -* cb/pedantic-build-for-developers (2021-09-03) 3 commits
700 - (merged to 'next' on 2021-09-10 at b8df102019)
701 - + developer: enable pedantic by default
702 - + win32: allow building with pedantic mode enabled
703 - + gettext: remove optional non-standard parens in N_() definition
704 -
705 - Update the build procedure to use the "-pedantic" build when
706 - DEVELOPER makefile macro is in effect.
707 -
708 - Will merge to 'master'.
709 -
710 -
971 * js/scalar (2021-09-14) 15 commits
972 - scalar: accept -C and -c options before the subcommand
973 - scalar: implement the `version` command
@@ -717,64 +977,30 @@ Release tarballs are available at:
977 - scalar: implement the `run` command
978 - scalar: teach 'clone' to support the --single-branch option
979 - scalar: implement the `clone` subcommand
720 - - scalar: implement 'scalar list'
721 - - scalar: let 'unregister' handle a deleted enlistment directory gracefully
722 - - scalar: 'unregister' stops background maintenance
723 - - scalar: 'register' sets recommended config and starts maintenance
724 - - scalar: create test infrastructure
725 - - scalar: start documenting the command
726 - - scalar: create a rudimentary executable
727 -
728 - Add pieces from "scalar" to contrib/.
729 -
730 -
731 -* ps/update-ref-batch-flush (2021-09-15) 2 commits
732 - (merged to 'next' on 2021-09-15 at 39a69141e3)
733 - + t1400: avoid SIGPIPE race condition on fifo
734 - (merged to 'next' on 2021-09-10 at 4ae19a5f34)
735 - + update-ref: fix streaming of status updates
736 -
737 - "git update-ref --stdin" failed to flush its output as needed,
738 - which potentially led the conversation to a deadlock.
739 -
740 - Will merge to 'master'.
741 -
742 -
743 -* ab/tr2-leaks-and-fixes (2021-09-07) 6 commits
744 - (merged to 'next' on 2021-09-10 at 14f0dd5580)
745 - + tr2: log N parent process names on Linux
746 - + tr2: do compiler enum check in trace2_collect_process_info()
747 - + tr2: leave the parent list empty upon failure & don't leak memory
748 - + tr2: stop leaking "thread_name" memory
749 - + tr2: clarify TRACE2_PROCESS_INFO_EXIT comment under Linux
750 - + tr2: remove NEEDSWORK comment for "non-procfs" implementations
751 -
752 - The tracing of process ancestry information has been enhanced.
980 + - scalar: implement 'scalar list'
981 + - scalar: let 'unregister' handle a deleted enlistment directory gracefully
982 + - scalar: 'unregister' stops background maintenance
983 + - scalar: 'register' sets recommended config and starts maintenance
984 + - scalar: create test infrastructure
985 + - scalar: start documenting the command
986 + - scalar: create a rudimentary executable
987
754 - Will merge to 'master'.
988 + Add pieces from "scalar" to contrib/.
989
990
757 -* tb/pack-finalize-ordering (2021-09-09) 9 commits
758 - (merged to 'next' on 2021-09-10 at 7b39c39e31)
759 - + pack-objects: rename .idx files into place after .bitmap files
760 - + pack-write: split up finish_tmp_packfile() function
761 - + builtin/index-pack.c: move `.idx` files into place last
762 - + index-pack: refactor renaming in final()
763 - + builtin/repack.c: move `.idx` files into place last
764 - + pack-write.c: rename `.idx` files after `*.rev`
765 - + pack-write: refactor renaming in finish_tmp_packfile()
766 - + bulk-checkin.c: store checksum directly
767 - + pack.h: line-wrap the definition of finish_tmp_packfile()
991 +* ps/update-ref-batch-flush (2021-09-15) 2 commits
992 + (merged to 'next' on 2021-09-15 at 39a69141e3)
993 + + t1400: avoid SIGPIPE race condition on fifo
994 + (merged to 'next' on 2021-09-10 at 4ae19a5f34)
995 + + update-ref: fix streaming of status updates
996
769 - The order in which various files that make up a single (conceptual)
770 - packfile has been reevaluated and straightened up. This matters in
771 - correctness, as an incomplete set of files must not be shown to a
772 - running Git.
997 + "git update-ref --stdin" failed to flush its output as needed,
998 + which potentially led the conversation to a deadlock.
999
1000 Will merge to 'master'.
1001
1002
777 -* ab/sanitize-leak-ci (2021-09-16) 2 commits
1003 +* ab/sanitize-leak-ci (2021-09-20) 2 commits
1004 - tests: add a test mode for SANITIZE=leak, run it in CI
1005 - Makefile: add SANITIZE=leak flag to GIT-BUILD-OPTIONS
1006
@@ -845,7 +1071,6 @@ Release tarballs are available at:
1071 - t1600-index: don't run git commands upstream of a pipe
1072 - t1600-index: remove unnecessary redirection
1073 - Merge branch 'ds/sparse-index-ignored-files' into sg/test-split-index-fix
848 - (this branch uses ds/sparse-index-ignored-files.)
1074
1075 Test updates.
1076
@@ -862,126 +1087,6 @@ Release tarballs are available at:
1087 The "remainder" of hn/refs-errno-cleanup topic.
1088
1089
865 -* jv/pkt-line-batch (2021-09-01) 2 commits
866 - (merged to 'next' on 2021-09-10 at c31d871c9a)
867 - + upload-pack: use stdio in send_ref callbacks
868 - + pkt-line: add stdio packet write functions
869 -
870 - Reduce number of write(2) system calls while sending the
871 - ref advertisement.
872 -
873 - Will merge to 'master'.
874 -
875 -
876 -* ab/unbundle-progress (2021-09-07) 4 commits
877 - (merged to 'next' on 2021-09-12 at d7bacb391e)
878 - + bundle: show progress on "unbundle"
879 - + index-pack: add --progress-title option
880 - + bundle API: change "flags" to be "extra_index_pack_args"
881 - + bundle API: start writing API documentation
882 -
883 - Add progress display to "git bundle unbundle".
884 -
885 - Will merge to 'master'.
886 -
887 -
888 -* lh/systemd-timers (2021-09-07) 3 commits
889 - (merged to 'next' on 2021-09-10 at b27d72031a)
890 - + maintenance: add support for systemd timers on Linux
891 - + maintenance: `git maintenance run` learned `--scheduler=<scheduler>`
892 - + cache.h: Introduce a generic "xdg_config_home_for(…)" function
893 -
894 - "git maintenance" scheduler learned to use systemd timers as a
895 - possible backend.
896 -
897 - Will merge to 'master'.
898 -
899 -
900 -* ps/fetch-optim (2021-09-01) 7 commits
901 - (merged to 'next' on 2021-09-08 at 99f865125d)
902 - + fetch: avoid second connectivity check if we already have all objects
903 - + fetch: merge fetching and consuming refs
904 - + fetch: refactor fetch refs to be more extendable
905 - + fetch-pack: optimize loading of refs via commit graph
906 - + connected: refactor iterator to return next object ID directly
907 - + fetch: avoid unpacking headers in object existence check
908 - + fetch: speed up lookup of want refs via commit-graph
909 -
910 - Optimize code that handles large number of refs in the "git fetch"
911 - code path.
912 -
913 - Will merge to 'master'.
914 -
915 -
916 -* ar/submodule-run-update-procedure (2021-08-24) 1 commit
917 - (merged to 'next' on 2021-09-12 at fbe417715d)
918 - + submodule--helper: run update procedures from C
919 -
920 - Reimplementation of parts of "git submodule" in C continues.
921 -
922 - Will merge to 'master'.
923 -
924 -
925 -* ds/sparse-index-ignored-files (2021-09-07) 10 commits
926 - (merged to 'next' on 2021-09-12 at 6993c73000)
927 - + sparse-checkout: clear tracked sparse dirs
928 - + sparse-index: add SPARSE_INDEX_MEMORY_ONLY flag
929 - + attr: be careful about sparse directories
930 - + sparse-checkout: create helper methods
931 - + sparse-index: use WRITE_TREE_MISSING_OK
932 - + sparse-index: silently return when cache tree fails
933 - + unpack-trees: fix nested sparse-dir search
934 - + sparse-index: silently return when not using cone-mode patterns
935 - + t7519: rewrite sparse index test
936 - + Merge branch 'ds/add-with-sparse-index' into ds/sparse-index-ignored-files
937 - (this branch is used by ds/add-rm-with-sparse-index, ds/mergies-with-sparse-index and sg/test-split-index-fix.)
938 -
939 - In cone mode, the sparse-index codepath learned to remove ignored
940 - files (like build artifacts) outside the sparse cone, allowing the
941 - entire directory outside the sparse cone to be removed, which is
942 - especially useful when the sparse patterns change.
943 -
944 - Will merge to 'master'.
945 -
946 -
947 -* jt/grep-wo-submodule-odb-as-alternate (2021-09-08) 8 commits
948 - (merged to 'next' on 2021-09-08 at 67612d0b7f)
949 - + t7814: show lack of alternate ODB-adding
950 - + submodule-config: pass repo upon blob config read
951 - + grep: add repository to OID grep sources
952 - + grep: allocate subrepos on heap
953 - + grep: read submodule entry with explicit repo
954 - + grep: typesafe versions of grep_source_init
955 - + grep: use submodule-ODB-as-alternate lazy-addition
956 - + submodule: lazily add submodule ODBs as alternates
957 - (this branch is used by jt/add-submodule-odb-clean-up.)
958 -
959 - The code to make "git grep" recurse into submodules has been
960 - updated to migrate away from the "add submodule's object store as
961 - an alternate object store" mechanism (which is suboptimal).
962 -
963 - Will merge to 'master'.
964 -
965 -
966 -* ar/submodule-add-more (2021-08-10) 10 commits
967 - (merged to 'next' on 2021-09-12 at efebf6dad3)
968 - + submodule--helper: rename compute_submodule_clone_url()
969 - + submodule--helper: remove resolve-relative-url subcommand
970 - + submodule--helper: remove add-config subcommand
971 - + submodule--helper: remove add-clone subcommand
972 - + submodule--helper: convert the bulk of cmd_add() to C
973 - + dir: libify and export helper functions from clone.c
974 - + submodule--helper: remove repeated code in sync_submodule()
975 - + submodule--helper: refactor resolve_relative_url() helper
976 - + submodule--helper: add options for compute_submodule_clone_url()
977 - + Merge branch 'ar/submodule-add-config' into ar/submodule-add
978 - (this branch uses ar/submodule-add-config.)
979 -
980 - More parts of "git submodule add" has been rewritten in C.
981 -
982 - Will merge to 'master'.
983 -
984 -
1090 * ab/lib-subtest (2021-08-05) 11 commits
1091 - test-lib tests: assert 1 exit code, not non-zero
1092 - test-lib tests: refactor common part of check_sub_test_lib_test*()
@@ -1014,40 +1119,6 @@ Release tarballs are available at:
1119 cf. <20210901050406.GB76263@szeder.dev>
1120
1121
1017 -* ab/progress-users-adjust-counters (2021-09-09) 2 commits
1018 - (merged to 'next' on 2021-09-10 at b50c37aa44)
1019 - + entry: show finer-grained counter in "Filtering content" progress line
1020 - + commit-graph: fix bogus counter in "Scanning merged commits" progress line
1021 -
1022 - The code to show progress indicator in a few codepaths did not
1023 - cover between 0-100%, which has been corrected.
1024 -
1025 - Will merge to 'master'.
1026 -
1027 -
1028 -* ar/submodule-add-config (2021-08-10) 1 commit
1029 - (merged to 'next' on 2021-09-12 at fdabb4f0fc)
1030 - + submodule--helper: introduce add-config subcommand
1031 - (this branch is used by ar/submodule-add-more.)
1032 -
1033 - Large part of "git submodule add" gets rewritten in C.
1034 -
1035 - Will merge to 'master'.
1036 -
1037 -
1038 -* dt/submodule-diff-fixes (2021-08-31) 3 commits
1039 - (merged to 'next' on 2021-09-10 at 21b773f4fe)
1040 - + diff --submodule=diff: don't print failure message twice
1041 - + diff --submodule=diff: do not fail on ever-initialied deleted submodules
1042 - + t4060: remove unused variable
1043 -
1044 - "git diff --submodule=diff" showed failure from run_command() when
1045 - trying to run diff inside a submodule, when the user manually
1046 - removes the submodule directory.
1047 -
1048 - Will merge to 'master'.
1049 -
1050 -
1122 * fs/ssh-signing (2021-09-10) 9 commits
1123 - ssh signing: test that gpg fails for unknown keys
1124 - ssh signing: tests for logs, tags & push certs
@@ -1076,60 +1147,6 @@ Release tarballs are available at:
1147 cf. <xmqqsg0ri5mq.fsf@gitster.g>
1148
1149
1079 -* ab/make-tags-cleanup (2021-08-05) 5 commits
1080 - (merged to 'next' on 2021-09-12 at 79584f3c60)
1081 - + Makefile: normalize clobbering & xargs for tags targets
1082 - + Makefile: remove "cscope.out", not "cscope*" in cscope.out target
1083 - + Makefile: don't use "FORCE" for tags targets
1084 - + Makefile: add QUIET_GEN to "cscope" target
1085 - + Makefile: move ".PHONY: cscope" near its target
1086 -
1087 - Build clean-up for "make tags" and friends.
1088 -
1089 - Will merge to 'master'.
1090 -
1091 -
1092 -* tb/multi-pack-bitmaps (2021-09-09) 29 commits
1093 - (merged to 'next' on 2021-09-10 at 71559ef435)
1094 - + pack-bitmap: drop bitmap_index argument from try_partial_reuse()
1095 - + pack-bitmap: drop repository argument from prepare_midx_bitmap_git()
1096 - (merged to 'next' on 2021-09-08 at f2b7415bd8)
1097 - + p5326: perf tests for MIDX bitmaps
1098 - + p5310: extract full and partial bitmap tests
1099 - + midx: respect 'GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAP'
1100 - + t7700: update to work with MIDX bitmap test knob
1101 - + t5319: don't write MIDX bitmaps in t5319
1102 - + t5310: disable GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAP
1103 - + t0410: disable GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAP
1104 - + t5326: test multi-pack bitmap behavior
1105 - + t/helper/test-read-midx.c: add --checksum mode
1106 - + t5310: move some tests to lib-bitmap.sh
1107 - + pack-bitmap: write multi-pack bitmaps
1108 - + pack-bitmap: read multi-pack bitmaps
1109 - + pack-bitmap.c: avoid redundant calls to try_partial_reuse
1110 - + pack-bitmap.c: introduce 'bitmap_is_preferred_refname()'
1111 - + pack-bitmap.c: introduce 'nth_bitmap_object_oid()'
1112 - + pack-bitmap.c: introduce 'bitmap_num_objects()'
1113 - + midx: avoid opening multiple MIDXs when writing
1114 - + midx: close linked MIDXs, avoid leaking memory
1115 - + midx: infer preferred pack when not given one
1116 - + midx: reject empty `--preferred-pack`'s
1117 - + midx: clear auxiliary .rev after replacing the MIDX
1118 - + midx: fix `*.rev` cleanups with `--object-dir`
1119 - + midx: disallow running outside of a repository
1120 - + Documentation: describe MIDX-based bitmaps
1121 - + pack-bitmap-write.c: free existing bitmaps
1122 - + pack-bitmap-write.c: gracefully fail to write non-closed bitmaps
1123 - + pack-bitmap.c: harden 'test_bitmap_walk()' to check type bitmaps
1124 - (this branch is used by tb/midx-write-propagate-namehash and tb/repack-write-midx.)
1125 -
1126 - The reachability bitmap file used to be generated only for a single
1127 - pack, but now we've learned to generate bitmaps for history that
1128 - span across multiple packfiles.
1129 -
1130 - Will merge to 'master'.
1131 -
1132 -
1150 * ab/config-based-hooks-base (2021-09-09) 36 commits
1151 - hooks: fix a TOCTOU in "did we run a hook?" heuristic
1152 - receive-pack: convert receive hooks to hook.h
@@ -1176,25 +1193,6 @@ Release tarballs are available at:
1193 Waiting for reviews.
1194
1195
1179 -* ab/serve-cleanup (2021-08-05) 10 commits
1180 - (merged to 'next' on 2021-09-12 at ea87ede873)
1181 - + upload-pack: document and rename --advertise-refs
1182 - + serve.[ch]: remove "serve_options", split up --advertise-refs code
1183 - + {upload,receive}-pack tests: add --advertise-refs tests
1184 - + serve.c: move version line to advertise_capabilities()
1185 - + serve: move transfer.advertiseSID check into session_id_advertise()
1186 - + serve.[ch]: don't pass "struct strvec *keys" to commands
1187 - + serve: use designated initializers
1188 - + transport: use designated initializers
1189 - + transport: rename "fetch" in transport_vtable to "fetch_refs"
1190 - + serve: mark has_capability() as static
1191 - (this branch is used by jk/reduce-malloc-in-v2-servers.)
1192 -
1193 - Code clean-up around "git serve".
1194 -
1195 - Will merge to 'master'.
1196 -
1197 -
1196 * pw/diff-color-moved-fix (2021-08-05) 13 commits
1197 - diff: drop unused options parameter from cmp_in_block_with_wsd()
1198 - diff --color-moved: intern strings