What's cooking (2021/10 #03)

Junio C Hamano committed Oct 11, 2021 at 12:55 UTC a06ef406ad8ba7f9e2f0c5ed8b4443426ce54dd5
1 file changed +373 -546
whats-cooking.txt
+373 -546
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Oct 2021, #02; Wed, 6)
4 -X-master-at: 106298f7f9cca4158a980de149ef217751e1f943
5 -X-next-at: 6e70778dc91e2139466c15ff15a02a22a2ada2d1
3 +Subject: What's cooking in git.git (Oct 2021, #03; Mon, 11)
4 +X-master-at: 2a97289ad8b103625d3a1a12f66c27f50df822ce
5 +X-next-at: b88fcb3f61432d526395a9937acaea0c67ee1aaf
6
7 -What's cooking in git.git (Oct 2021, #02; Wed, 6)
7 +What's cooking in git.git (Oct 2021, #03; Mon, 11)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking in my tree. Commits
@@ -18,7 +18,8 @@ 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 eleventh batch is in.
21 +The eleventh and twelfth batches of topics are in the 'master'
22 +branch, and quite a many topics started cooking in 'next'.
23
24 Copies of the source code to Git live in many repositories, and the
25 following is a list of the ones I push into or their mirrors. Some
@@ -51,161 +52,294 @@ Release tarballs are available at:
52 --------------------------------------------------
53 [Graduated to 'master']
54
54 -* ab/repo-settings-cleanup (2021-09-22) 5 commits
55 - (merged to 'next' on 2021-09-28 at 43d70c31e1)
56 - + repository.h: don't use a mix of int and bitfields
57 - + repo-settings.c: simplify the setup
58 - + read-cache & fetch-negotiator: check "enum" values in switch()
59 - + environment.c: remove test-specific "ignore_untracked..." variable
60 - + wrapper.c: add x{un,}setenv(), and use xsetenv() in environment.c
55 +* ab/designated-initializers (2021-09-27) 5 commits
56 + (merged to 'next' on 2021-10-03 at 179f652de6)
57 + + cbtree.h: define cb_init() in terms of CBTREE_INIT
58 + + *.h: move some *_INIT to designated initializers
59 + + *.h _INIT macros: don't specify fields equal to 0
60 + + *.[ch] *_INIT macros: use { 0 } for a "zero out" idiom
61 + + submodule-config.h: remove unused SUBMODULE_INIT macro
62 + (this branch is used by ab/designated-initializers-more.)
63
62 - Code cleanup.
64 + Code clean-up.
65
66
65 -* ab/retire-decl-of-missing-unused-funcs (2021-10-01) 4 commits
66 - (merged to 'next' on 2021-10-03 at a49287eaa9)
67 - + config.h: remove unused git_config_get_untracked_cache() declaration
68 - + log-tree.h: remove unused function declarations
69 - + grep.h: remove unused grep_threads_ok() declaration
70 - + builtin.h: remove cmd_tar_tree() declaration
67 +* ab/http-pinned-public-key-mismatch (2021-09-27) 1 commit
68 + (merged to 'next' on 2021-10-03 at cd67328eed)
69 + + http: check CURLE_SSL_PINNEDPUBKEYNOTMATCH when emitting errors
70
72 - Remove external declaration of functions that no longer exist.
71 + HTTPS error handling updates.
72
73
75 -* ab/retire-refs-unused-funcs (2021-09-28) 5 commits
76 - (merged to 'next' on 2021-10-03 at f91e74fa7d)
77 - + refs/ref-cache.[ch]: remove "incomplete" from create_dir_entry()
78 - + refs/ref-cache.c: remove "mkdir" parameter from find_containing_dir()
79 - + refs/ref-cache.[ch]: remove unused add_ref_entry()
80 - + refs/ref-cache.[ch]: remove unused remove_entry_from_dir()
81 - + refs.[ch]: remove unused ref_storage_backend_exists()
74 +* ab/retire-git-config-key-is-valid (2021-09-28) 1 commit
75 + (merged to 'next' on 2021-10-03 at fc7a0a55d1)
76 + + config.c: remove unused git_config_key_is_valid()
77
78 Code cleanup.
79
80
86 -* ab/retire-string-list-init (2021-09-28) 1 commit
87 - (merged to 'next' on 2021-10-03 at 4834949cc3)
88 - + string-list.[ch]: remove string_list_init() compatibility function
81 +* ab/sanitize-leak-ci (2021-09-23) 2 commits
82 + (merged to 'next' on 2021-10-03 at dcd62a3fc6)
83 + + tests: add a test mode for SANITIZE=leak, run it in CI
84 + + Makefile: add SANITIZE=leak flag to GIT-BUILD-OPTIONS
85 + (this branch is used by ab/mark-leak-free-tests, ab/mark-leak-free-tests-more and ab/unpack-trees-leakfix.)
86
90 - Code cleanup.
87 + CI learns to run the leak sanitizer builds.
88
89
93 -* ew/midx-doc-update (2021-09-24) 1 commit
94 - (merged to 'next' on 2021-09-28 at f2cbe598eb)
95 - + doc/technical: update note about core.multiPackIndex
90 +* da/difftool (2021-09-30) 6 commits
91 + (merged to 'next' on 2021-10-03 at 3ba0335e4e)
92 + + difftool: add a missing space to the run_dir_diff() comments
93 + + difftool: remove an unnecessary call to strbuf_release()
94 + + difftool: refactor dir-diff to write files using helper functions
95 + + difftool: create a tmpdir path without repeated slashes
96 + + Merge branch 'da/difftool-dir-diff-symlink-fix' into da/difftool
97 + + Merge branch 'ab/retire-option-argument' into da/difftool
98
97 - Doc tweak.
99 + Code clean-up in "git difftool".
100
101
100 -* gc/doc-first-contribution-reroll (2021-09-22) 1 commit
101 - (merged to 'next' on 2021-09-29 at b7dea55eae)
102 - + MyFirstContribution: Document --range-diff option when writing v2
102 +* jk/ref-paranoia (2021-09-27) 16 commits
103 + (merged to 'next' on 2021-10-03 at 8c2cb6a3a6)
104 + + refs: drop "broken" flag from for_each_fullref_in()
105 + + ref-filter: drop broken-ref code entirely
106 + + ref-filter: stop setting FILTER_REFS_INCLUDE_BROKEN
107 + + repack, prune: drop GIT_REF_PARANOIA settings
108 + + refs: turn on GIT_REF_PARANOIA by default
109 + + refs: omit dangling symrefs when using GIT_REF_PARANOIA
110 + + refs: add DO_FOR_EACH_OMIT_DANGLING_SYMREFS flag
111 + + refs-internal.h: reorganize DO_FOR_EACH_* flag documentation
112 + + refs-internal.h: move DO_FOR_EACH_* flags next to each other
113 + + t5312: be more assertive about command failure
114 + + t5312: test non-destructive repack
115 + + t5312: create bogus ref as necessary
116 + + t5312: drop "verbose" helper
117 + + t5600: provide detached HEAD for corruption failures
118 + + t5516: don't use HEAD ref for invalid ref-deletion tests
119 + + t7900: clean up some more broken refs
120 + (this branch is used by jt/no-abuse-alternate-odb-for-submodules.)
121
104 - Doc update.
122 + The ref iteration code used to optionally allow dangling refs to be
123 + shown, which has been tightened up.
124
125
107 -* jk/grep-haystack-is-read-only (2021-09-22) 5 commits
108 - (merged to 'next' on 2021-09-28 at 1660a6be89)
109 - + grep: store grep_source buffer as const
110 - + grep: mark "haystack" buffers as const
111 - + grep: stop modifying buffer in grep_source_1()
112 - + grep: stop modifying buffer in show_line()
113 - + grep: stop modifying buffer in strip_timestamp
114 - (this branch is used by hm/paint-hits-in-log-grep.)
126 +* js/win-lazyload-buildfix (2021-09-28) 3 commits
127 + (merged to 'next' on 2021-10-03 at 26802e5d73)
128 + + Makefile: restrict -Wpedantic and -Wno-pedantic-ms-format better
129 + + lazyload.h: use an even more generic function pointer than FARPROC
130 + + lazyload.h: fix warnings about mismatching function pointer types
131
116 - Code clean-up in the "grep" machinery.
132 + Compilation fix.
133
134
119 -* jt/add-submodule-odb-clean-up (2021-09-09) 3 commits
120 - (merged to 'next' on 2021-09-28 at 4d843448be)
121 - + revision: remove "submodule" from opt struct
122 - + repository: support unabsorbed in repo_submodule_init
123 - + submodule: remove unnecessary unabsorbed fallback
124 - (this branch is used by jt/no-abuse-alternate-odb-for-submodules.)
135 +* mr/bisect-in-c-4 (2021-10-01) 1 commit
136 + (merged to 'next' on 2021-10-06 at c13c14238d)
137 + + bisect--helper: add space between colon and following sentence
138
126 - More code paths that use the hack to add submodule's object
127 - database to the set of alternate object store have been cleaned up.
139 + Message fix.
140
141
130 -* lh/systemd-timers (2021-09-27) 1 commit
131 - (merged to 'next' on 2021-10-03 at 81834609ea)
132 - + maintenance: fix test t7900-maintenance.sh
142 +* rs/p3400-lose-tac (2021-10-03) 1 commit
143 + (merged to 'next' on 2021-10-06 at 688dc7137c)
144 + + p3400: stop using tac(1)
145
134 - Testfix.
146 + Test portability update.
147
148
137 -* os/status-docfix (2021-09-28) 1 commit
138 - (merged to 'next' on 2021-10-03 at a13019916a)
139 - + doc: fix capitalization in "git status --porcelain=v2" description
149 +* sg/test-split-index-fix (2021-09-07) 7 commits
150 + (merged to 'next' on 2021-09-29 at 661ae75778)
151 + + read-cache: fix GIT_TEST_SPLIT_INDEX
152 + + tests: disable GIT_TEST_SPLIT_INDEX for sparse index tests
153 + + read-cache: look for shared index files next to the index, too
154 + + t1600-index: disable GIT_TEST_SPLIT_INDEX
155 + + t1600-index: don't run git commands upstream of a pipe
156 + + t1600-index: remove unnecessary redirection
157 + + Merge branch 'ds/sparse-index-ignored-files' into sg/test-split-index-fix
158 +
159 + Test updates.
160
141 - Docfix.
161
162 +* tb/aggregate-ignore-leading-whitespaces (2021-10-04) 1 commit
163 + (merged to 'next' on 2021-10-06 at 619a7db2d4)
164 + + t/perf/aggregate.perl: tolerate leading spaces
165 +
166 + Test portability update.
167
144 -* pw/rebase-of-a-tag-fix (2021-09-22) 10 commits
145 - (merged to 'next' on 2021-09-28 at 980add2a67)
146 - + rebase: dereference tags
147 - + rebase: use lookup_commit_reference_by_name()
148 - + rebase: use our standard error return value
149 - + t3407: rework rebase --quit tests
150 - + t3407: strengthen rebase --abort tests
151 - + t3407: use test_path_is_missing
152 - + t3407: rename a variable
153 - + t3407: use test_cmp_rev
154 - + t3407: use test_commit
155 - + t3407: run tests in $TEST_DIRECTORY
156 - (this branch is used by pw/fix-some-issues-in-reset-head.)
168
158 - "git rebase <upstream> <tag>" failed when aborted in the middle, as
159 - it mistakenly tried to write the tag object instead of peeling it
160 - to HEAD.
169 +* tb/midx-write-propagate-namehash (2021-09-17) 7 commits
170 + (merged to 'next' on 2021-09-29 at 24732fcfc8)
171 + + t5326: test propagating hashcache values
172 + + p5326: generate pack bitmaps before writing the MIDX bitmap
173 + + p5326: don't set core.multiPackIndex unnecessarily
174 + + p5326: create missing 'perf-tag' tag
175 + + midx.c: respect 'pack.writeBitmapHashcache' when writing bitmaps
176 + + pack-bitmap.c: propagate namehash values from existing bitmaps
177 + + t/helper/test-bitmap.c: add 'dump-hashes' mode
178
179 + "git multi-pack-index write --bitmap" learns to propagate the
180 + hashcache from original bitmap to resulting bitmap.
181
163 -* pw/rebase-reread-todo-after-editing (2021-09-24) 2 commits
164 - (merged to 'next' on 2021-09-28 at c67d5e383e)
165 - + rebase: fix todo-list rereading
166 - + sequencer.c: factor out a function
182 +--------------------------------------------------
183 +[New Topics]
184
168 - The code to re-read the edited todo list in "git rebase -i" was
169 - made more robust.
185 +* ab/mark-leak-free-tests (2021-10-07) 11 commits
186 + - leak tests: mark some misc tests as passing with SANITIZE=leak
187 + - leak tests: mark various "generic" tests as passing with SANITIZE=leak
188 + - leak tests: mark some read-tree tests as passing with SANITIZE=leak
189 + - leak tests: mark some ls-files tests as passing with SANITIZE=leak
190 + - leak tests: mark all checkout-index tests as passing with SANITIZE=leak
191 + - leak tests: mark all trace2 tests as passing with SANITIZE=leak
192 + - leak tests: mark all ls-tree tests as passing with SANITIZE=leak
193 + - leak tests: mark t0000-init.sh as passing with SANITIZE=leak
194 + - leak tests: run various "test-tool" tests in t00*.sh SANITIZE=leak
195 + - leak tests: run various built-in tests in t00*.sh SANITIZE=leak
196 + - Merge branch 'ab/sanitize-leak-ci' into ab/mark-leak-free-tests
197 +
198 + Bunch of tests are marked as "passing leak check".
199
200 + Expecting a reroll.
201 + cf. <xmqqmtnko3zn.fsf@gitster.g>
202
172 -* tb/commit-graph-usage-fix (2021-09-22) 2 commits
173 - (merged to 'next' on 2021-09-28 at f021339c39)
174 - + builtin/multi-pack-index.c: disable top-level --[no-]progress
175 - + builtin/commit-graph.c: don't accept common --[no-]progress
203
177 - Regression in "git commit-graph" command line parsing has been
178 - corrected.
204 +* ab/mark-leak-free-tests-more (2021-10-07) 8 commits
205 + - merge: add missing strbuf_release()
206 + - ls-files: add missing string_list_clear()
207 + - ls-files: fix a trivial dir_clear() leak
208 + - tests: fix test-oid-array leak, test in SANITIZE=leak
209 + - tests: fix a memory leak in test-oidtree.c
210 + - tests: fix a memory leak in test-parse-options.c
211 + - tests: fix a memory leak in test-prio-queue.c
212 + - Merge branch 'ab/sanitize-leak-ci' into ab/mark-leak-free-tests-more
213
214 + Bunch of tests are marked as "passing leak check".
215
181 -* ws/refer-to-forkpoint-config-in-rebase-doc (2021-09-20) 1 commit
182 - (merged to 'next' on 2021-09-29 at 49181eaafb)
183 - + Document `rebase.forkpoint` in rebase man page
216 + Will merge to 'next'?
217
185 - Doc update.
218
187 ---------------------------------------------------
188 -[New Topics]
219 +* ab/unpack-trees-leakfix (2021-10-07) 2 commits
220 + - unpack-trees: don't leak memory in verify_clean_subdirectory()
221 + - Merge branch 'ab/sanitize-leak-ci' into ab/unpack-trees-leakfix
222
190 -* gc/use-repo-settings (2021-10-04) 3 commits
191 - - gc: perform incremental repack when implictly enabled
192 - - fsck: verify multi-pack-index when implictly enabled
193 - - fsck: verify commit graph when implicitly enabled
223 + Leakfix.
224
195 - It is wrong to read some settings directly from the config
196 - subsystem, as things like feature.experimental can affect their
197 - default values.
225 + Will merge to 'next'?
226 +
227 +
228 +* jk/cat-file-batch-all-wo-replace (2021-10-08) 5 commits
229 + (merged to 'next' on 2021-10-11 at 9415f7c43a)
230 + + cat-file: use packed_object_info() for --batch-all-objects
231 + + cat-file: split ordered/unordered batch-all-objects callbacks
232 + + cat-file: disable refs/replace with --batch-all-objects
233 + + cat-file: mention --unordered along with --batch-all-objects
234 + + t1006: clean up broken objects
235 +
236 + "git cat-file --batch" with the "--batch-all-objects" option is
237 + supposed to iterate over all the objects found in a repository, but
238 + it used to translate these object names using the replace mechanism,
239 + which defeats the point of enumerating all objects in the repository.
240 + This has been corrected.
241 +
242 + Will merge to 'master'.
243 +
244 +
245 +* js/userdiff-cpp (2021-10-10) 6 commits
246 + - userdiff-cpp: learn the C++ spaceship operator
247 + - userdiff-cpp: permit the digit-separating single-quote in numbers
248 + - userdiff-cpp: prepare test cases with yet unsupported features
249 + - userdiff-cpp: tighten word regex
250 + - t4034: add tests showing problematic cpp tokenizations
251 + - t4034/cpp: actually test that operator tokens are not split
252 +
253 + Userdiff patterns for the C++ language has been updated.
254 +
255 + Will merge to 'next'?
256 +
257 +
258 +* mp/absorb-submodule-git-dir-upon-deinit (2021-10-07) 1 commit
259 + - submodule: absorb git dir instead of dying on deinit
260 +
261 + "git submodule deinit" for a submodule whose .git metadata
262 + directory is embedded in its working tree refused to work, until
263 + the submodule gets converted to use the "absorbed" form where the
264 + metadata directory is stored in superproject, and a gitfile at the
265 + top-level of the working tree of the submodule points at it. The
266 + command is taught to convert such submodules to the absorbed form
267 + as needed.
268
269 Under review.
200 - cf. <70aca052-716f-40ed-47c4-1882fdbd221e@gmail.com>
270 + cf. <xmqqwnmopqqk.fsf@gitster.g>
271
272
203 -* jh/perf-remove-test-times (2021-10-04) 1 commit
204 - - t/perf/perf-lib.sh: remove test_times.* at the end test_perf_()
273 +* ns/remerge-diff (2021-10-08) 8 commits
274 + - doc/diff-options: explain the new --remerge-diff option
275 + - show, log: adapt Elijah Newren's changes to common tmp-objdir API
276 + - show, log: provide a --remerge-diff capability
277 + - merge-ort: capture and print ll-merge warnings in our preferred fashion
278 + - ll-merge: add API for capturing warnings in a strbuf instead of stderr
279 + - merge-ort: add ability to record conflict messages in a file
280 + - merge-ort: mark a few more conflict messages as omittable
281 + - Merge branch 'ns/tmp-objdir' into ns/remerge-diff
282 + (this branch uses ns/tmp-objdir.)
283
206 - Perf test fix.
284 + A new presentation for two-parent merge "--remerge-diff" can be
285 + used to show the difference between mechanical (and possibly
286 + conflicted) merge results and the recorded resolution.
287 +
288 + On hold.
289 + This is Elijah's remerge-diff rebased on ns/tmp-objdir to share the
290 + "create objects temporarily, only to discard without committing
291 + them to longer-term storage" infrastructure with another topic.
292
208 - Will merge to 'next'.
293 +
294 +* ns/tmp-objdir (2021-10-04) 2 commits
295 + - tmp-objdir: disable ref updates when replacing the primary odb
296 + - tmp-objdir: new API for creating temporary writable databases
297 + (this branch is used by ns/batched-fsync and ns/remerge-diff.)
298 +
299 + New interface into the tmp-objdir API to help in-core use of the
300 + quarantine feature.
301 +
302 + Will merge to 'next'?
303 +
304 +
305 +* pw/sparse-cache-tree-verify-fix (2021-10-07) 1 commit
306 + (merged to 'next' on 2021-10-11 at 2f90c87850)
307 + + sparse index: fix use-after-free bug in cache_tree_verify()
308 +
309 + Recent sparse-index addition, namely any use of index_name_pos(),
310 + can expand sparse index entries and breaks any code that walks
311 + cache-tree or existing index entries. One such instance of such a
312 + breakage has been corrected.
313 +
314 + Will merge to 'master'.
315 +
316 +
317 +* rs/make-verify-path-really-verify-again (2021-10-07) 3 commits
318 + (merged to 'next' on 2021-10-11 at 6b4358876f)
319 + + read-cache: let verify_path() reject trailing dir separators again
320 + + read-cache: add verify_path_internal()
321 + + t3905: show failure to ignore sub-repo
322 +
323 + Recent sparse-index work broke safety against attempts to add paths
324 + with trailing slashes to the index, which has been corrected.
325 +
326 + Will merge to 'master'.
327 +
328 +
329 +* vd/sparse-reset (2021-10-07) 8 commits
330 + - unpack-trees: improve performance of next_cache_entry
331 + - reset: make --mixed sparse-aware
332 + - reset: make sparse-aware (except --mixed)
333 + - reset: integrate with sparse index
334 + - reset: expand test coverage for sparse checkouts
335 + - update-index: add --force-full-index option for expand/collapse test
336 + - reset: preserve skip-worktree bit in mixed reset
337 + - reset: rename is_missing to !is_in_reset_tree
338 +
339 + Various operating modes of "git reset" have been made to work
340 + better with the sparse index.
341 +
342 + Needs review.
343
344 --------------------------------------------------
345 [Stalled]
@@ -225,11 +359,65 @@ Release tarballs are available at:
359 Kicked out of 'seen' to make room for es/superproject-aware-submodules
360 which is among the topics this topic stomps on.
361
362 +
363 +* pw/diff-color-moved-fix (2021-08-05) 13 commits
364 + - diff: drop unused options parameter from cmp_in_block_with_wsd()
365 + - diff --color-moved: intern strings
366 + - diff: use designated initializers for emitted_diff_symbol
367 + - diff --color-moved-ws=allow-indentation-change: improve hash lookups
368 + - diff --color-moved: stop clearing potential moved blocks
369 + - diff --color-moved: shrink potential moved blocks as we go
370 + - diff --color-moved: unify moved block growth functions
371 + - diff --color-moved: call comparison function directly
372 + - diff --color-moved-ws=allow-indentation-change: simplify and optimize
373 + - diff: simplify allow-indentation-change delta calculation
374 + - diff --color-moved: avoid false short line matches and bad zerba coloring
375 + - diff --color-moved=zebra: fix alternate coloring
376 + - diff --color-moved: add perf tests
377 +
378 + Originally merged to 'next' on 2021-08-05
379 +
380 + Long-overdue correctness and performance update to "diff
381 + --color-moved" feature.
382 +
383 + Expecting a reroll.
384 + cf. <8bec1a6d-5052-50c3-4100-e6348289d581@gmail.com>
385 +
386 +
387 +* cf/fetch-set-upstream-while-detached (2021-07-06) 1 commit
388 + - fetch: fix segfault on --set-upstream while on a detached HEAD
389 +
390 + "git fetch --set-upstream" while on detached HEAD segfaulted
391 + instead of noticing that such an operation did not make sense.
392 +
393 + Expecting a reroll.
394 + cf. <xmqqsg0ri5mq.fsf@gitster.g>
395 +
396 --------------------------------------------------
397 [Cooking]
398
231 -* pw/fix-some-issues-in-reset-head (2021-10-06) 13 commits
232 - - sparse index: fix use-after-free bug in cache_tree_verify()
399 +* gc/use-repo-settings (2021-10-04) 3 commits
400 + - gc: perform incremental repack when implictly enabled
401 + - fsck: verify multi-pack-index when implictly enabled
402 + - fsck: verify commit graph when implicitly enabled
403 +
404 + It is wrong to read some settings directly from the config
405 + subsystem, as things like feature.experimental can affect their
406 + default values.
407 +
408 + Under review.
409 + cf. <70aca052-716f-40ed-47c4-1882fdbd221e@gmail.com>
410 +
411 +
412 +* jh/perf-remove-test-times (2021-10-04) 1 commit
413 + - t/perf/perf-lib.sh: remove test_times.* at the end test_perf_()
414 +
415 + Perf test fix.
416 +
417 + Will merge to 'next'.
418 +
419 +
420 +* pw/fix-some-issues-in-reset-head (2021-10-01) 12 commits
421 - rebase -m: don't fork git checkout
422 - rebase --apply: set ORIG_HEAD correctly
423 - rebase --apply: fix reflog
@@ -251,7 +439,9 @@ Release tarballs are available at:
439 protect the fixes.
440
441
254 -* rs/mergesort (2021-10-01) 9 commits
442 +* rs/mergesort (2021-10-08) 10 commits
443 + (merged to 'next' on 2021-10-08 at 2e83706316)
444 + + test-mergesort: use repeatable random numbers
445 (merged to 'next' on 2021-10-03 at 29a672574f)
446 + mergesort: use ranks stack
447 + p0071: test performance of llist_mergesort()
@@ -269,44 +459,27 @@ Release tarballs are available at:
459 Will merge to 'master'.
460
461
272 -* bs/doc-blame-color-lines (2021-10-01) 2 commits
273 - - blame: document --color-* options
274 - - blame: describe default output format
462 +* bs/doc-blame-color-lines (2021-10-08) 2 commits
463 + (merged to 'next' on 2021-10-11 at a2cb7768b6)
464 + + blame: document --color-* options
465 + + blame: describe default output format
466
467 The "--color-lines" and "--color-by-age" options of "git blame"
468 have been missing, which are now documented.
469
279 - Expecting a reroll.
280 - cf. <CAPig+cSWutBRQK+Qy=nkaDZRvy4trVNPuo+cF-quC2rBwNe2fw@mail.gmail.com>
281 -
282 -
283 -* mr/bisect-in-c-4 (2021-10-01) 1 commit
284 - (merged to 'next' on 2021-10-06 at c13c14238d)
285 - + bisect--helper: add space between colon and following sentence
286 -
287 - Message fix.
288 -
470 Will merge to 'master'.
471
472
473 * cm/save-restore-terminal (2021-10-06) 2 commits
293 - - editor: save and reset terminal after calling EDITOR
294 - - terminal: teach git how to save/restore its terminal settings
474 + (merged to 'next' on 2021-10-11 at 962bb3e75b)
475 + + editor: save and reset terminal after calling EDITOR
476 + + terminal: teach git how to save/restore its terminal settings
477
478 An editor session launched during a Git operation (e.g. during 'git
479 commit') can leave the terminal in a funny state. The code path
480 has updated to save the terminal state before, and restore it
481 after, it spawns an editor.
482
301 - Will merge to 'next'.
302 -
303 -
304 -* rs/p3400-lose-tac (2021-10-03) 1 commit
305 - (merged to 'next' on 2021-10-06 at 688dc7137c)
306 - + p3400: stop using tac(1)
307 -
308 - Test portability update.
309 -
483 Will merge to 'master'.
484
485
@@ -322,51 +495,27 @@ Release tarballs are available at:
495 Will merge to 'master'.
496
497
325 -* tb/aggregate-ignore-leading-whitespaces (2021-10-04) 1 commit
326 - (merged to 'next' on 2021-10-06 at 619a7db2d4)
327 - + t/perf/aggregate.perl: tolerate leading spaces
328 -
329 - Test portability update.
330 -
331 - Will merge to 'master'.
332 -
333 -
334 -* ab/designated-initializers (2021-09-27) 5 commits
335 - (merged to 'next' on 2021-10-03 at 179f652de6)
336 - + cbtree.h: define cb_init() in terms of CBTREE_INIT
337 - + *.h: move some *_INIT to designated initializers
338 - + *.h _INIT macros: don't specify fields equal to 0
339 - + *.[ch] *_INIT macros: use { 0 } for a "zero out" idiom
340 - + submodule-config.h: remove unused SUBMODULE_INIT macro
341 - (this branch is used by ab/designated-initializers-more.)
342 -
343 - Code clean-up.
344 -
345 - Will merge to 'master'.
346 -
347 -
498 * ab/designated-initializers-more (2021-10-01) 6 commits
349 - - builtin/remote.c: add and use SHOW_INFO_INIT
350 - - builtin/remote.c: add and use a REF_STATES_INIT
351 - - urlmatch.[ch]: add and use URLMATCH_CONFIG_INIT
352 - - builtin/blame.c: refactor commit_info_init() to COMMIT_INFO_INIT macro
353 - - daemon.c: refactor hostinfo_init() to HOSTINFO_INIT macro
354 - - Merge branch 'ab/designated-initializers' into ab/designated-initializers-more
355 - (this branch uses ab/designated-initializers.)
499 + (merged to 'next' on 2021-10-11 at 9b9836c3df)
500 + + builtin/remote.c: add and use SHOW_INFO_INIT
501 + + builtin/remote.c: add and use a REF_STATES_INIT
502 + + urlmatch.[ch]: add and use URLMATCH_CONFIG_INIT
503 + + builtin/blame.c: refactor commit_info_init() to COMMIT_INFO_INIT macro
504 + + daemon.c: refactor hostinfo_init() to HOSTINFO_INIT macro
505 + + Merge branch 'ab/designated-initializers' into ab/designated-initializers-more
506
507 Code clean-up.
508
359 - Will merge to 'next'.
509 + Will merge to 'master'.
510
511
362 -* ab/parse-options-cleanup (2021-10-01) 11 commits
512 +* ab/parse-options-cleanup (2021-10-08) 10 commits
513 - parse-options: change OPT_{SHORT,UNSET} to an enum
514 - parse-options tests: test optname() output
515 - parse-options.[ch]: make opt{bug,name}() "static"
516 - commit-graph: stop using optname()
517 - parse-options.c: move optname() earlier in the file
518 - parse-options.h: make the "flags" in "struct option" an enum
369 - - parse-options.c: use exhaustive "case" arms for "enum parse_opt_type"
519 - parse-options.c: use exhaustive "case" arms for "enum parse_opt_result"
520 - parse-options.[ch]: consistently use "enum parse_opt_result"
521 - parse-options.[ch]: consistently use "enum parse_opt_flags"
@@ -377,15 +526,6 @@ Release tarballs are available at:
526 Will merge to 'next'?
527
528
380 -* ab/retire-git-config-key-is-valid (2021-09-28) 1 commit
381 - (merged to 'next' on 2021-10-03 at fc7a0a55d1)
382 - + config.c: remove unused git_config_key_is_valid()
383 -
384 - Code cleanup.
385 -
386 - Will merge to 'master'.
387 -
388 -
529 * mt/grep-submodule-textconv (2021-09-29) 1 commit
530 (merged to 'next' on 2021-10-06 at 1950944b8c)
531 + grep: demonstrate bug with textconv attributes and submodules
@@ -454,52 +594,6 @@ Release tarballs are available at:
594 Will merge to 'master'.
595
596
457 -* ab/http-pinned-public-key-mismatch (2021-09-27) 1 commit
458 - (merged to 'next' on 2021-10-03 at cd67328eed)
459 - + http: check CURLE_SSL_PINNEDPUBKEYNOTMATCH when emitting errors
460 -
461 - HTTPS error handling updates.
462 -
463 - Will merge to 'master'.
464 -
465 -
466 -* jk/ref-paranoia (2021-09-27) 16 commits
467 - (merged to 'next' on 2021-10-03 at 8c2cb6a3a6)
468 - + refs: drop "broken" flag from for_each_fullref_in()
469 - + ref-filter: drop broken-ref code entirely
470 - + ref-filter: stop setting FILTER_REFS_INCLUDE_BROKEN
471 - + repack, prune: drop GIT_REF_PARANOIA settings
472 - + refs: turn on GIT_REF_PARANOIA by default
473 - + refs: omit dangling symrefs when using GIT_REF_PARANOIA
474 - + refs: add DO_FOR_EACH_OMIT_DANGLING_SYMREFS flag
475 - + refs-internal.h: reorganize DO_FOR_EACH_* flag documentation
476 - + refs-internal.h: move DO_FOR_EACH_* flags next to each other
477 - + t5312: be more assertive about command failure
478 - + t5312: test non-destructive repack
479 - + t5312: create bogus ref as necessary
480 - + t5312: drop "verbose" helper
481 - + t5600: provide detached HEAD for corruption failures
482 - + t5516: don't use HEAD ref for invalid ref-deletion tests
483 - + t7900: clean up some more broken refs
484 - (this branch is used by jt/no-abuse-alternate-odb-for-submodules.)
485 -
486 - The ref iteration code used to optionally allow dangling refs to be
487 - shown, which has been tightened up.
488 -
489 - Will merge to 'master'.
490 -
491 -
492 -* js/win-lazyload-buildfix (2021-09-28) 3 commits
493 - (merged to 'next' on 2021-10-03 at 26802e5d73)
494 - + Makefile: restrict -Wpedantic and -Wno-pedantic-ms-format better
495 - + lazyload.h: use an even more generic function pointer than FARPROC
496 - + lazyload.h: fix warnings about mismatching function pointer types
497 -
498 - Compilation fix.
499 -
500 - Will merge to 'master'.
501 -
502 -
597 * ab/make-sparse-for-real (2021-09-22) 1 commit
598 (merged to 'next' on 2021-10-06 at 10e3c31d6a)
599 + Makefile: make the "sparse" target non-.PHONY
@@ -510,8 +604,7 @@ Release tarballs are available at:
604 Will merge to 'master'.
605
606
513 -* jt/no-abuse-alternate-odb-for-submodules (2021-10-01) 10 commits
514 - - fixup! refs: plumb repo into ref stores
607 +* jt/no-abuse-alternate-odb-for-submodules (2021-10-08) 9 commits
608 - submodule: trace adding submodule ODB as alternate
609 - submodule: pass repo to check_has_commit()
610 - object-file: only register submodule ODB if needed
@@ -521,28 +614,29 @@ Release tarballs are available at:
614 - refs: plumb repo into ref stores
615 - Merge branch 'jk/ref-paranoia' into jt/no-abuse-alternate-odb-for-submodules
616 - Merge branch 'jt/add-submodule-odb-clean-up' into jt/no-abuse-alternate-odb-for-submodules
524 - (this branch uses jk/ref-paranoia.)
617
618 Follow through the work to use the repo interface to access
619 submodule objects in-process, instead of abusing the alternate
620 object database interface.
621
530 - Expecting a reroll.
622 + Will merge to 'next'?
623
624
533 -* tp/send-email-completion (2021-09-22) 3 commits
625 +* tp/send-email-completion (2021-10-07) 3 commits
626 - send-email docs: add format-patch options
535 - - send-email: move bash completions to core script
627 + - send-email: programmatically generate bash completions
628 - send-email: terminate --git-completion-helper with LF
629
630 The command line complation for "git send-email" options have been
631 tweaked to make it easier to keep it in sync with the command itself.
632
541 - Stalled.
542 - cf. <YU6+BWC+xvGJP3b0@carlos-mbp.lan>
633 + Expecting a reroll.
634 + cf. <87fst7lkjx.fsf@evledraar.gmail.com>
635
636
545 -* hm/paint-hits-in-log-grep (2021-09-29) 3 commits
637 +* hm/paint-hits-in-log-grep (2021-10-08) 5 commits
638 + - SQUASH???
639 + - grep: fix an edge case concerning ascii patterns and UTF-8 data
640 - pretty: colorize pattern matches in commit messages
641 - grep: refactor next_match() and match_one_pattern() for external use
642 - Merge branch 'jk/grep-haystack-is-read-only' into hm/paint-hits-in-log-grep
@@ -551,21 +645,7 @@ Release tarballs are available at:
645 like "git grep string" does.
646
647 Expecting a reroll.
554 - cf. <87v92bju64.fsf@evledraar.gmail.com>
555 -
556 -
557 -* da/difftool (2021-09-30) 6 commits
558 - (merged to 'next' on 2021-10-03 at 3ba0335e4e)
559 - + difftool: add a missing space to the run_dir_diff() comments
560 - + difftool: remove an unnecessary call to strbuf_release()
561 - + difftool: refactor dir-diff to write files using helper functions
562 - + difftool: create a tmpdir path without repeated slashes
563 - + Merge branch 'da/difftool-dir-diff-symlink-fix' into da/difftool
564 - + Merge branch 'ab/retire-option-argument' into da/difftool
565 -
566 - Code clean-up in "git difftool".
567 -
568 - Will merge to 'master'.
648 + cf. <xmqq1r4vjji3.fsf@gitster.g>
649
650
651 * en/removing-untracked-fixes (2021-09-27) 12 commits
@@ -597,24 +677,21 @@ Release tarballs are available at:
677 cf. <m27df9lvm1.fsf@gmail.com>
678
679
600 -* ns/batched-fsync (2021-10-04) 9 commits
601 - . core.fsyncobjectfiles: performance tests for add and stash
602 - . core.fsyncobjectfiles: tests for batch mode
603 - . unpack-objects: use the bulk-checkin infrastructure
604 - . update-index: use the bulk-checkin infrastructure
605 - . core.fsyncobjectfiles: add windows support for batch mode
606 - . core.fsyncobjectfiles: batched disk flushes
607 - . bulk-checkin: rename 'state' variable and separate 'plugged' boolean
608 - . tmp-objdir: disable ref updates when replacing the primary odb
609 - . tmp-objdir: new API for creating temporary writable databases
680 +* ns/batched-fsync (2021-10-08) 8 commits
681 + - core.fsyncobjectfiles: performance tests for add and stash
682 + - core.fsyncobjectfiles: tests for batch mode
683 + - unpack-objects: use the bulk-checkin infrastructure
684 + - update-index: use the bulk-checkin infrastructure
685 + - core.fsyncobjectfiles: add windows support for batch mode
686 + - core.fsyncobjectfiles: batched disk flushes
687 + - bulk-checkin: rename 'state' variable and separate 'plugged' boolean
688 + - Merge branch 'ns/tmp-objdir' into ns/batched-fsync
689 + (this branch uses ns/tmp-objdir.)
690
691 The "core.fsyncobjectfiles" configuration variable can now be set
692 to "batch" for improved performance.
693
614 - Under discussion.
615 -
616 - Handling of temporary object directory is worked out with the
617 - en/remerge-diff topic.
694 + Will merge to 'next'?
695
696
697 * jh/builtin-fsmonitor-part1 (2021-09-20) 7 commits
@@ -664,7 +741,9 @@ Release tarballs are available at:
741 Will merge to 'master'.
742
743
667 -* tb/repack-write-midx (2021-10-01) 9 commits
744 +* tb/repack-write-midx (2021-10-07) 10 commits
745 + (merged to 'next' on 2021-10-08 at ff8fec247e)
746 + + test-read-midx: fix leak of bitmap_index struct
747 (merged to 'next' on 2021-10-06 at ccdd5aaf2a)
748 + builtin/repack.c: pass `--refs-snapshot` when writing bitmaps
749 + builtin/repack.c: make largest pack preferred
@@ -705,22 +784,6 @@ Release tarballs are available at:
784 Will merge to 'master'.
785
786
708 -* tb/midx-write-propagate-namehash (2021-09-17) 7 commits
709 - (merged to 'next' on 2021-09-29 at 24732fcfc8)
710 - + t5326: test propagating hashcache values
711 - + p5326: generate pack bitmaps before writing the MIDX bitmap
712 - + p5326: don't set core.multiPackIndex unnecessarily
713 - + p5326: create missing 'perf-tag' tag
714 - + midx.c: respect 'pack.writeBitmapHashcache' when writing bitmaps
715 - + pack-bitmap.c: propagate namehash values from existing bitmaps
716 - + t/helper/test-bitmap.c: add 'dump-hashes' mode
717 -
718 - "git multi-pack-index write --bitmap" learns to propagate the
719 - hashcache from original bitmap to resulting bitmap.
720 -
721 - Will merge to 'master'.
722 -
723 -
787 * en/zdiff3 (2021-09-20) 2 commits
788 - update documentation for new zdiff3 conflictStyle
789 - xdiff: implement a zealous diff3, or "zdiff3"
@@ -728,7 +791,7 @@ Release tarballs are available at:
791 "Zealous diff3" style of merge conflict presentation has been added.
792
793
731 -* js/scalar (2021-09-14) 15 commits
794 +* js/scalar (2021-10-07) 15 commits
795 - scalar: accept -C and -c options before the subcommand
796 - scalar: implement the `version` command
797 - scalar: implement the `delete` command
@@ -747,19 +810,6 @@ Release tarballs are available at:
810
811 Add pieces from "scalar" to contrib/.
812
750 - Waiting for a response.
751 - cf. <pull.1005.v4.git.1631630356.gitgitgadget@gmail.com>
752 -
753 -
754 -* ab/sanitize-leak-ci (2021-09-23) 2 commits
755 - (merged to 'next' on 2021-10-03 at dcd62a3fc6)
756 - + tests: add a test mode for SANITIZE=leak, run it in CI
757 - + Makefile: add SANITIZE=leak flag to GIT-BUILD-OPTIONS
758 -
759 - CI learns to run the leak sanitizer builds.
760 -
761 - Will merge to 'master'.
762 -
813
814 * ms/customizable-ident-expansion (2021-09-01) 1 commit
815 - keyword expansion: make "$Id$" string configurable
@@ -767,6 +817,8 @@ Release tarballs are available at:
817 Instead of "$Id$", user-specified string (like $FreeBSD$) can be
818 used as an in-blob placeholder for keyword expansion.
819
820 + What's the status of this one? Meh?
821 +
822
823 * js/retire-preserve-merges (2021-09-07) 11 commits
824 (merged to 'next' on 2021-09-10 at f645ffd7a3)
@@ -787,40 +839,6 @@ Release tarballs are available at:
839 Will cook in 'next'.
840
841
790 -* en/remerge-diff (2021-08-31) 7 commits
791 - - doc/diff-options: explain the new --remerge-diff option
792 - - show, log: provide a --remerge-diff capability
793 - - tmp-objdir: new API for creating and removing primary object dirs
794 - - merge-ort: capture and print ll-merge warnings in our preferred fashion
795 - - ll-merge: add API for capturing warnings in a strbuf instead of stderr
796 - - merge-ort: add ability to record conflict messages in a file
797 - - merge-ort: mark a few more conflict messages as omittable
798 -
799 - A new presentation for two-parent merge "--remerge-diff" can be
800 - used to show the difference between mechanical (and possibly
801 - conflicted) merge results and the recorded resolution.
802 -
803 - Expecting a reroll.
804 -
805 - Handling of temporary object directory is worked out with the
806 - ns/batched-fsync topic.
807 -
808 -
809 -* sg/test-split-index-fix (2021-09-07) 7 commits
810 - (merged to 'next' on 2021-09-29 at 661ae75778)
811 - + read-cache: fix GIT_TEST_SPLIT_INDEX
812 - + tests: disable GIT_TEST_SPLIT_INDEX for sparse index tests
813 - + read-cache: look for shared index files next to the index, too
814 - + t1600-index: disable GIT_TEST_SPLIT_INDEX
815 - + t1600-index: don't run git commands upstream of a pipe
816 - + t1600-index: remove unnecessary redirection
817 - + Merge branch 'ds/sparse-index-ignored-files' into sg/test-split-index-fix
818 -
819 - Test updates.
820 -
821 - Will merge to 'master'.
822 -
823 -
842 * ab/refs-errno-cleanup (2021-08-25) 4 commits
843 - refs: make errno output explicit for refs_resolve_ref_unsafe
844 - refs: explicitly return failure_errno from parse_loose_ref_contents
@@ -829,8 +847,6 @@ Release tarballs are available at:
847
848 The "remainder" of hn/refs-errno-cleanup topic.
849
832 - What's the status of this one? Meh?
833 -
850
851 * ab/lib-subtest (2021-09-22) 9 commits
852 (merged to 'next' on 2021-10-06 at e8fa261811)
@@ -861,63 +877,28 @@ Release tarballs are available at:
877
878 Further tweaks on progress API.
879
880 + Under review.
881 + cf. <20211010212949.GC571180@szeder.dev>
882 +
883
884 * fs/ssh-signing (2021-09-10) 9 commits
866 - - ssh signing: test that gpg fails for unknown keys
867 - - ssh signing: tests for logs, tags & push certs
868 - - ssh signing: duplicate t7510 tests for commits
869 - - ssh signing: verify signatures using ssh-keygen
870 - - ssh signing: provide a textual signing_key_id
871 - - ssh signing: retrieve a default key from ssh-agent
872 - - ssh signing: add ssh key format and signing code
873 - - ssh signing: add test prereqs
874 - - ssh signing: preliminary refactoring and clean-up
885 + (merged to 'next' on 2021-10-11 at b456b95672)
886 + + ssh signing: test that gpg fails for unknown keys
887 + + ssh signing: tests for logs, tags & push certs
888 + + ssh signing: duplicate t7510 tests for commits
889 + + ssh signing: verify signatures using ssh-keygen
890 + + ssh signing: provide a textual signing_key_id
891 + + ssh signing: retrieve a default key from ssh-agent
892 + + ssh signing: add ssh key format and signing code
893 + + ssh signing: add test prereqs
894 + + ssh signing: preliminary refactoring and clean-up
895
896 Use ssh public crypto for object and push-cert signing.
897
878 - Will merge to 'next'.
879 -
880 -
881 -* cf/fetch-set-upstream-while-detached (2021-07-06) 1 commit
882 - - fetch: fix segfault on --set-upstream while on a detached HEAD
883 -
884 - "git fetch --set-upstream" while on detached HEAD segfaulted
885 - instead of noticing that such an operation did not make sense.
886 -
887 - Expecting a reroll.
888 - cf. <xmqqsg0ri5mq.fsf@gitster.g>
889 -
890 -
891 -* pw/diff-color-moved-fix (2021-08-05) 13 commits
892 - - diff: drop unused options parameter from cmp_in_block_with_wsd()
893 - - diff --color-moved: intern strings
894 - - diff: use designated initializers for emitted_diff_symbol
895 - - diff --color-moved-ws=allow-indentation-change: improve hash lookups
896 - - diff --color-moved: stop clearing potential moved blocks
897 - - diff --color-moved: shrink potential moved blocks as we go
898 - - diff --color-moved: unify moved block growth functions
899 - - diff --color-moved: call comparison function directly
900 - - diff --color-moved-ws=allow-indentation-change: simplify and optimize
901 - - diff: simplify allow-indentation-change delta calculation
902 - - diff --color-moved: avoid false short line matches and bad zerba coloring
903 - - diff --color-moved=zebra: fix alternate coloring
904 - - diff --color-moved: add perf tests
905 -
906 - Originally merged to 'next' on 2021-08-05
907 -
908 - Long-overdue correctness and performance update to "diff
909 - --color-moved" feature.
910 -
911 - Expecting a reroll.
912 - cf. <8bec1a6d-5052-50c3-4100-e6348289d581@gmail.com>
898 + Will merge to 'master'.
899
900
915 -* hn/reftable (2021-10-01) 24 commits
916 - - reftable: avoid non portable compile time pointer to function
917 - - config.mak.uname: last release and snapshots of Minix still use zlib 1.2.3
918 - - fixup! reftable: implement stack, a mutable database of reftable files.
919 - - fixup! reftable: add a heap-based priority queue for reftable records
920 - - squash! reftable: reading/writing blocks
901 +* hn/reftable (2021-10-08) 19 commits
902 - Add "test-tool dump-reftable" command.
903 - reftable: add dump utility
904 - reftable: implement stack, a mutable database of reftable files.
@@ -935,178 +916,24 @@ Release tarballs are available at:
916 - reftable: add blocksource, an abstraction for random access reads
917 - reftable: utility functions
918 - reftable: add error related functionality
938 - - reftable: RFC: add LICENSE
919 + - reftable: add LICENSE
920 - hash.h: provide constants for the hash IDs
921
922 The "reftable" backend for the refs API, without integrating into
923 the refs subsystem.
924
944 - Expecting a reroll.
945 -
925 --------------------------------------------------
926 [Discarded]
927
949 -* ao/p4-avoid-decoding (2021-04-12) 2 commits
950 - . git-p4: do not decode data from perforce by default
951 - . git-p4: avoid decoding more data from perforce
952 -
953 - "git p4" in Python-2 days used to accept a lot more kinds of data
954 - from Perforce server as uninterrupted byte sequence, but after
955 - switching to Python-3, too many things are expected to be in UTF-8,
956 - which broke traditional use cases.
957 -
958 - Have been stalled for too long.
959 - cf. <20210504220153.1d9f0cb2@ado-tr>
960 -
961 -
962 -* tv/p4-fallback-encoding (2021-04-30) 1 commit
963 - . git-p4: git-p4.fallbackEncoding to specify non UTF-8 charset
964 -
965 - "git p4" learns the fallbackEncoding configuration variable to
966 - safely accept changeset descriptions that aren't written in UTF-8.
967 -
968 - Have been stalled for too long.
969 - cf. <CAKu1iLUaLuAZWqjNK4tfhhR=YaSt4MdQ+90ZY-JcEh_SeHyYCw@mail.gmail.com>
970 -
971 -
972 -* jh/builtin-fsmonitor (2021-09-03) 37 commits
973 - . fixup! fsmonitor--daemon: implement handle_client callback
974 - . SQUASH??? https://github.com/git/git/runs/3438543601?check_suite_focus=true#step:5:136
975 - . BANDAID: sparse fixes
976 - . t7527: test FS event reporing on MacOS WRT case and Unicode
977 - . fsmonitor: handle shortname for .git
978 - . t7527: test status with untracked-cache and fsmonitor--daemon
979 - . fsmonitor: force update index after large responses
980 - . fsmonitor: enhance existing comments
981 - . fsmonitor--daemon: use a cookie file to sync with file system
982 - . fsmonitor--daemon: periodically truncate list of modified files
983 - . t7527: create test for fsmonitor--daemon
984 - . t/perf/p7519: add fsmonitor--daemon test cases
985 - . t/perf: avoid copying builtin fsmonitor files into test repo
986 - . t/perf/p7519: speed up test using "test-tool touch"
987 - . t/helper/test-touch: add helper to touch a series of files
988 - . fsmonitor--daemon: implement handle_client callback
989 - . fsmonitor-fs-listen-macos: implement FSEvent listener on MacOS
990 - . fsmonitor-fs-listen-macos: add macos header files for FSEvent
991 - . fsmonitor-fs-listen-win32: implement FSMonitor backend on Windows
992 - . fsmonitor--daemon: create token-based changed path cache
993 - . fsmonitor--daemon: define token-ids
994 - . fsmonitor--daemon: add pathname classification
995 - . fsmonitor: do not try to operate on bare repos
996 - . fsmonitor--daemon: implement 'start' command
997 - . fsmonitor--daemon: implement 'run' command
998 - . fsmonitor-fs-listen-macos: stub in backend for MacOS
999 - . fsmonitor-fs-listen-win32: stub in backend for Windows
1000 - . t/helper/fsmonitor-client: create IPC client to talk to FSMonitor Daemon
1001 - . fsmonitor--daemon: implement 'stop' and 'status' commands
1002 - . fsmonitor--daemon: add a built-in fsmonitor daemon
1003 - . fsmonitor: use IPC to query the builtin FSMonitor daemon
1004 - . fsmonitor: config settings are repository-specific
1005 - . help: include fsmonitor--daemon feature flag in version info
1006 - . fsmonitor-ipc: create client routines for git-fsmonitor--daemon
1007 - . fsmonitor--daemon: update fsmonitor documentation
1008 - . fsmonitor--daemon: man page
1009 - . simple-ipc: preparations for supporting binary messages.
1010 -
1011 - An attempt to write and ship with a watchman equivalent tailored
1012 - for our use.
1013 -
1014 - Will be rerolled in pieces.
1015 -
1016 -
1017 -* ab/config-based-hooks-base (2021-09-09) 36 commits
1018 - . hooks: fix a TOCTOU in "did we run a hook?" heuristic
1019 - . receive-pack: convert receive hooks to hook.h
1020 - . post-update: use hook.h library
1021 - . receive-pack: convert 'update' hook to hook.h
1022 - . hooks: allow callers to capture output
1023 - . run-command: allow capturing of collated output
1024 - . reference-transaction: use hook.h to run hooks
1025 - . hook tests: use a modern style for "pre-push" tests
1026 - . hook tests: test for exact "pre-push" hook input
1027 - . transport: convert pre-push hook to hook.h
1028 - . hook: convert 'post-rewrite' hook in sequencer.c to hook.h
1029 - . hook: provide stdin by string_list or callback
1030 - . run-command: add stdin callback for parallelization
1031 - . am: convert 'post-rewrite' hook to hook.h
1032 - . hook: support passing stdin to hooks
1033 - . run-command: allow stdin for run_processes_parallel
1034 - . run-command: remove old run_hook_{le,ve}() hook API
1035 - . receive-pack: convert push-to-checkout hook to hook.h
1036 - . read-cache: convert post-index-change to use hook.h
1037 - . commit: convert {pre-commit,prepare-commit-msg} hook to hook.h
1038 - . git-p4: use 'git hook' to run hooks
1039 - . send-email: use 'git hook run' for 'sendemail-validate'
1040 - . git hook run: add an --ignore-missing flag
1041 - . merge: convert post-merge to use hook.h
1042 - . hooks: convert 'post-checkout' hook to hook library
1043 - . am: convert applypatch to use hook.h
1044 - . rebase: convert pre-rebase to use hook.h
1045 - . gc: use hook library for pre-auto-gc hook
1046 - . hook: add 'run' subcommand
1047 - . hook-list.h: add a generated list of hooks, like config-list.h
1048 - . hook.c users: use "hook_exists()" instead of "find_hook()"
1049 - . hook.c: add a hook_exists() wrapper and use it in bugreport.c
1050 - . hook.[ch]: move find_hook() from run-command.c to hook.c
1051 - . Makefile: remove an out-of-date comment
1052 - . Makefile: stop hardcoding {command,config}-list.h
1053 - . Makefile: mark "check" target as .PHONY
1054 - (this branch is used by es/config-based-hooks.)
1055 -
1056 - Restructuring of (a subset of) Emily's config-based-hooks series,
1057 - to demonstrate that a series can be presented as a more logical and
1058 - focused progression.
1059 -
1060 - Will be rerolled in pieces.
1061 -
1062 -
1063 -* es/config-based-hooks (2021-09-09) 6 commits
1064 - . hook: allow out-of-repo 'git hook' invocations
1065 - . hook: include hooks from the config
1066 - . hook: introduce "git hook list"
1067 - . hook: allow parallel hook execution
1068 - . fixup! hook: run a list of hooks instead
1069 - . hook: run a list of hooks instead
1070 - (this branch uses ab/config-based-hooks-base.)
1071 -
1072 - Revamp the hooks subsystem to allow multiple of them to trigger
1073 - upon the same event and control via the configuration variables.
1074 -
1075 -
1076 -* cb/make-compdb-fix (2021-09-22) 1 commit
1077 - . Makefile: avoid breaking compilation database generation with DEVELOPER
1078 -
1079 - Adjust to recent change to use -pedantic for developer builds.
1080 -
1081 - Replaced by the ab/make-compdb-fix topic that uses the same
1082 - approach as the ab/auto-depend-with-pedantic topic.
1083 -
1084 -
1085 -* ab/pack-objects-stdin (2021-07-09) 5 commits
1086 - . pack-objects.c: make use of REV_INFO_STDIN_LINE_PROCESS
1087 - . pack-objects.c: do stdin parsing via revision.c's API
1088 - . revision.[ch]: add a "handle_stdin_line" API
1089 - . revision.h: refactor "disable_stdin" and "read_from_stdin"
1090 - . upload-pack: run is_repository_shallow() before setup_revisions()
1091 -
1092 - Introduce handle_stdin_line callback to revision API and uses it.
1093 -
1094 - Retracted for now.
1095 -
1096 -
1097 -* ah/unleak-revisions (2021-09-20) 2 commits
1098 - . log: UNLEAK original pending objects
1099 - . log: UNLEAK rev to silence a large number of leaks
1100 -
1101 - Mark a few structures with UNLEAK() to help leak detection CI jobs.
1102 -
1103 - Retracted.
1104 - cf. <05754f9c-cd58-30f5-e2d3-58b9221d2770@ahunt.org>
1105 -
1106 -
1107 -* rs/p5311-use-test-file-size (2021-10-03) 1 commit
1108 - . p5311: handle spaces in wc(1) output
1109 -
1110 - Test portability update.
928 +* en/remerge-diff (2021-08-31) 7 commits
929 + . doc/diff-options: explain the new --remerge-diff option
930 + . show, log: provide a --remerge-diff capability
931 + . tmp-objdir: new API for creating and removing primary object dirs
932 + . merge-ort: capture and print ll-merge warnings in our preferred fashion
933 + . ll-merge: add API for capturing warnings in a strbuf instead of stderr
934 + . merge-ort: add ability to record conflict messages in a file
935 + . merge-ort: mark a few more conflict messages as omittable
936
1112 - The tb/aggregate-ignore-leading-whitespaces supersedes this topic.
937 + A new presentation for two-parent merge "--remerge-diff" can be
938 + used to show the difference between mechanical (and possibly
939 + conflicted) merge results and the recorded resolution.