What's cooking (2021/02 #02)

Junio C Hamano committed Feb 10, 2021 at 15:30 UTC 1861aa482a38ae84f597cede48167ab43e7e50a3
1 file changed +597 -528
whats-cooking.txt
+597 -528
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Feb 2021, #01; Wed, 3)
4 -X-master-at: 30b29f044a2b30f0667eb21559959e03eb1bd04f
5 -X-next-at: 56c4b15f3c4368f5acb44fe2072b22963b46480f
3 +Subject: What's cooking in git.git (Feb 2021, #02; Wed, 10)
4 +X-master-at: f9f2520108bab26a750bcbb00518dc27672cf0a2
5 +X-next-at: 12f37433bd80c76d67aa57b8e233c31bae0a769d
6
7 -What's cooking in git.git (Feb 2021, #01; Wed, 3)
7 +What's cooking in git.git (Feb 2021, #02; Wed, 10)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with '-' are
@@ -12,14 +12,9 @@ only in 'seen' (formerly 'pu'---proposed updates) while commits prefixed
12 with '+' are in 'next'. The ones marked with '.' do not appear in any of
13 the integration branches, but I am still holding onto them.
14
15 -A bit more topics are on 'master' now. Also for those of us who are
16 -on 'next', Derrick's fixes on top of the corrected commit date
17 -series may help incremental commit-graph updates. Testing is
18 -appreciated. I have been shooting for parking any non-trivial topic
19 -that has been reviewed positively in 'next' for about 7 calendar
20 -days, which may have been a bit too aggressive (on the other hand,
21 -trivial topofixes, clean-ups and doc updates do not have to wait all
22 -that long).
15 +The seventh batch of topics are in 'master'. On the 'maint' front,
16 +bunch of fixes that have already been in 'master' were merged there
17 +and the result has been tagged as Git 2.30.1.
18
19 Copies of the source code to Git live in many repositories, and the
20 following is a list of the ones I push into or their mirrors. Some
@@ -52,195 +47,448 @@ Release tarballs are available at:
47 --------------------------------------------------
48 [Graduated to 'master']
49
55 -* ab/fsck-doc-fix (2021-01-20) 1 commit
56 - (merged to 'next' on 2021-01-25 at e3db0fe96f)
57 - + fsck doc: remove ancient out-of-date diagnostics
50 +* ab/detox-gettext-tests (2021-01-21) 3 commits
51 + (merged to 'next' on 2021-02-01 at 5573b4913c)
52 + + tests: remove uses of GIT_TEST_GETTEXT_POISON=false
53 + + tests: remove support for GIT_TEST_GETTEXT_POISON
54 + + ci: remove GETTEXT_POISON jobs
55 +
56 + Get rid of "GETTEXT_POISON" support altogether, which may or may
57 + not be controversial.
58 +
59 +
60 +* ab/grep-pcre-invalid-utf8 (2021-01-24) 2 commits
61 + (merged to 'next' on 2021-02-01 at 60be521876)
62 + + grep/pcre2: better support invalid UTF-8 haystacks
63 + + grep/pcre2 tests: don't rely on invalid UTF-8 data test
64 +
65 + Update support for invalid UTF-8 in PCRE2.
66 +
67 +
68 +* ab/lose-grep-debug (2021-01-26) 1 commit
69 + (merged to 'next' on 2021-01-31 at 9b7548efce)
70 + + grep/log: remove hidden --debug and --grep-debug options
71 +
72 + Lose the debugging aid that may have been useful in the past, but
73 + no longer is, in the "grep" codepaths.
74 +
75 +
76 +* ab/retire-pcre1 (2021-01-23) 2 commits
77 + (merged to 'next' on 2021-02-01 at 532a0a8228)
78 + + Remove support for v1 of the PCRE library
79 + + config.mak.uname: remove redundant NO_LIBPCRE1_JIT flag
80 +
81 + The support for deprecated PCRE1 library has been dropped.
82 +
83 +
84 +* ds/cache-tree-basics (2021-01-15) 10 commits
85 + (merged to 'next' on 2021-01-25 at 29ee74df7b)
86 + + cache-tree: speed up consecutive path comparisons
87 + + cache-tree: use ce_namelen() instead of strlen()
88 + + index-format: discuss recursion of cache-tree better
89 + + index-format: update preamble to cache tree extension
90 + + index-format: use 'cache tree' over 'cached tree'
91 + + cache-tree: trace regions for prime_cache_tree
92 + + cache-tree: trace regions for I/O
93 + + cache-tree: use trace2 in cache_tree_update()
94 + + unpack-trees: add trace2 regions
95 + + tree-walk: report recursion counts
96 + (this branch is used by ds/more-index-cleanups.)
97 +
98 + Document, clean-up and optimize the code around the cache-tree
99 + extension in the index.
100 +
101 +
102 +* ds/more-index-cleanups (2021-01-23) 9 commits
103 + (merged to 'next' on 2021-02-01 at bcdfa11e73)
104 + + t1092: test interesting sparse-checkout scenarios
105 + + test-lib: test_region looks for trace2 regions
106 + + sparse-checkout: load sparse-checkout patterns
107 + + name-hash: use trace2 regions for init
108 + + repository: add repo reference to index_state
109 + + fsmonitor: de-duplicate BUG()s around dirty bits
110 + + cache-tree: extract subtree_pos()
111 + + cache-tree: simplify verify_cache() prototype
112 + + cache-tree: clean up cache_tree_update()
113 +
114 + Cleaning various codepaths up.
115 +
116 +
117 +* en/ort-conflict-handling (2021-01-04) 10 commits
118 + (merged to 'next' on 2021-01-25 at 369c1516c4)
119 + + merge-ort: add handling for different types of files at same path
120 + + merge-ort: copy find_first_merges() implementation from merge-recursive.c
121 + + merge-ort: implement format_commit()
122 + + merge-ort: copy and adapt merge_submodule() from merge-recursive.c
123 + + merge-ort: copy and adapt merge_3way() from merge-recursive.c
124 + + merge-ort: flesh out implementation of handle_content_merge()
125 + + merge-ort: handle book-keeping around two- and three-way content merge
126 + + merge-ort: implement unique_path() helper
127 + + merge-ort: handle directory/file conflicts that remain
128 + + merge-ort: handle D/F conflict where directory disappears due to merge
129 + (this branch is used by en/merge-ort-perf.)
130 +
131 + ORT merge strategy learns more support for merge conflicts.
132 +
133 +
134 +* jk/p5303-sed-portability-fix (2021-01-29) 1 commit
135 + (merged to 'next' on 2021-01-31 at 5f2957e738)
136 + + p5303: avoid sed GNU-ism
137 +
138 + A perf script was made more portable.
139 +
140 +
141 +* jk/pretty-lazy-load-commit (2021-01-28) 1 commit
142 + (merged to 'next' on 2021-02-01 at acf7353a32)
143 + + pretty: lazy-load commit data when expanding user-format
144 +
145 + Some pretty-format specifiers do not need the data in commit object
146 + (e.g. "%H"), but we were over-eager to load and parse it, which has
147 + been made even lazier.
148 +
149 +
150 +* jk/t0000-cleanups (2021-01-28) 4 commits
151 + (merged to 'next' on 2021-01-31 at 357f8fe097)
152 + + t0000: consistently use single quotes for outer tests
153 + + t0000: run cleaning test inside sub-test
154 + + t0000: run prereq tests inside sub-test
155 + + t0000: keep clean-up tests together
156 +
157 + Code clean-up.
158 +
159 +
160 +* jk/use-oid-pos (2021-01-28) 6 commits
161 + (merged to 'next' on 2021-01-31 at 10ccafb739)
162 + + oid_pos(): access table through const pointers
163 + + hash_pos(): convert to oid_pos()
164 + + rerere: use strmap to store rerere directories
165 + + rerere: tighten rr-cache dirname check
166 + + rerere: check dirname format while iterating rr_cache directory
167 + + commit_graft_pos(): take an oid instead of a bare hash
168 +
169 + Code clean-up to ensure our use of hashtables using object names as
170 + keys use the "struct object_id" objects, not the raw hash values.
171 +
172 +
173 +* jk/weather-balloon-require-variadic-macro (2021-01-27) 1 commit
174 + (merged to 'next' on 2021-01-31 at 8d5207bd85)
175 + + git-compat-util: always enable variadic macros
176 +
177 + We've carried compatibility codepaths for compilers without
178 + variadic macros for quite some time, but the world may be ready for
179 + them to be removed. Force compilation failure on exotic platforms
180 + where variadic macros are not available to find out who screams in
181 + such a way that we can easily revert if it turns out that the world
182 + is not yet ready.
183 +
184 +
185 +* js/rebase-i-commit-cleanup-fix (2021-01-28) 1 commit
186 + (merged to 'next' on 2021-01-31 at 358f562e1f)
187 + + rebase -i: do leave commit message intact in fixup! chains
188 +
189 + When "git rebase -i" processes "fixup" insn, there is no reason to
190 + clean up the commit log message, but we did the usual stripspace
191 + processing. This has been corrected.
192 +
193 +
194 +* jv/pack-objects-narrower-ref-iteration (2021-01-22) 1 commit
195 + (merged to 'next' on 2021-01-26 at 8a0d178c01)
196 + + builtin/pack-objects.c: avoid iterating all refs
197 +
198 + The "pack-objects" command needs to iterate over all the tags when
199 + automatic tag following is enabled, but it actually iterated over
200 + all refs and then discarded everything outside "refs/tags/"
201 + hierarchy, which was quite wasteful.
202 +
203 +
204 +* pb/blame-funcname-range-userdiff (2021-01-30) 1 commit
205 + (merged to 'next' on 2021-01-31 at 107d10fe4f)
206 + + annotate-tests: quote variable expansions containing path names
207 +
208 + Test fix.
209
59 - Documentation for "git fsck" lost stale bits that has become
60 - incorrect.
210
211 +* pb/ci-matrix-wo-shortcut (2021-01-27) 1 commit
212 + (merged to 'next' on 2021-01-31 at 2384693758)
213 + + ci: do not cancel all jobs of a matrix if one fails
214 +
215 + Our setting of GitHub CI test jobs were a bit too eager to give up
216 + once there is even one failure found. Tweak the knob to allow
217 + other jobs keep running even when we see a failure, so that we can
218 + find more failures in a single run.
219 +
220 +
221 +* ph/use-delete-refs (2021-01-21) 1 commit
222 + (merged to 'next' on 2021-01-26 at e03486152e)
223 + + use delete_refs when deleting tags or branches
224 +
225 + When removing many branches and tags, the code used to do so one
226 + ref at a time. There is another API it can use to delete multiple
227 + refs, and it makes quite a lot of performance difference when the
228 + refs are packed.
229
63 -* ds/maintenance-prefetch-cleanup (2021-01-20) 2 commits
64 - (merged to 'next' on 2021-01-26 at 23efa6ebc3)
65 - + t7900: clean up some broken refs
66 - + maintenance: set log.excludeDecoration durin prefetch
230
68 - Test clean-up plus UI improvement by hiding extra refs that
69 - the prefetch task uses from "log --decorate" output.
231 +* rs/worktree-list-verbose (2021-01-30) 7 commits
232 + (merged to 'next' on 2021-02-01 at b57a6ce4c6)
233 + + worktree: teach `list` verbose mode
234 + + worktree: teach `list` to annotate prunable worktree
235 + + worktree: teach `list --porcelain` to annotate locked worktree
236 + + t2402: ensure locked worktree is properly cleaned up
237 + + worktree: teach worktree_lock_reason() to gently handle main worktree
238 + + worktree: teach worktree to lazy-load "prunable" reason
239 + + worktree: libify should_prune_worktree()
240
241 + `git worktree list` now annotates worktrees as prunable, shows
242 + locked and prunable attributes in --porcelain mode, and gained
243 + a --verbose option.
244 + cf. <CAPig+cTt-TyOR8kc6YvBVLpf-bgFdJ+FVYA2NvG_Vvn7tMbBkQ@mail.gmail.com>
245
72 -* jk/peel-iterated-oid (2021-01-21) 1 commit
73 - (merged to 'next' on 2021-01-26 at 023758f4ee)
74 - + refs: switch peel_ref() to peel_iterated_oid()
246
76 - The peel_ref() API has been replaced with peel_iterated_oid().
247 +* sg/t7800-difftool-robustify (2021-01-09) 1 commit
248 + (merged to 'next' on 2021-01-31 at fb72af8200)
249 + + t7800-difftool: don't accidentally match tmp dirs
250
251 + Test fix.
252
79 -* jk/run-command-use-shell-doc (2021-01-22) 1 commit
80 - (merged to 'next' on 2021-01-26 at f9df80d861)
81 - + run-command: document use_shell option
253
83 - The .use_shell flag in struct child_process that is passed to
84 - run_command() API has been clarified with a bit more documentation.
254 +* sg/test-stress-jobs (2021-01-26) 1 commit
255 + (merged to 'next' on 2021-02-01 at 0b7aae84e3)
256 + + test-lib: prevent '--stress-jobs=X' from being ignored
257
258 + Test framework fix.
259
87 -* js/skip-dashed-built-ins-from-config-mak (2021-01-21) 1 commit
88 - (merged to 'next' on 2021-01-26 at 2d727a37f9)
89 - + SKIP_DASHED_BUILT_INS: respect `config.mak`
260
91 - Build fix.
261 +* so/log-diff-merge (2020-12-21) 32 commits
262 + (merged to 'next' on 2021-01-25 at 63977ef287)
263 + + t4013: add tests for --diff-merges=first-parent
264 + + doc/git-show: include --diff-merges description
265 + + doc/rev-list-options: document --first-parent changes merges format
266 + + doc/diff-generate-patch: mention new --diff-merges option
267 + + doc/git-log: describe new --diff-merges options
268 + + diff-merges: add '--diff-merges=1' as synonym for 'first-parent'
269 + + diff-merges: add old mnemonic counterparts to --diff-merges
270 + + diff-merges: let new options enable diff without -p
271 + + diff-merges: do not imply -p for new options
272 + + diff-merges: implement new values for --diff-merges
273 + + diff-merges: make -m/-c/--cc explicitly mutually exclusive
274 + + diff-merges: refactor opt settings into separate functions
275 + + diff-merges: get rid of now empty diff_merges_init_revs()
276 + + diff-merges: group diff-merge flags next to each other inside 'rev_info'
277 + + diff-merges: split 'ignore_merges' field
278 + + diff-merges: fix -m to properly override -c/--cc
279 + + t4013: add tests for -m failing to override -c/--cc
280 + + t4013: support test_expect_failure through ':failure' magic
281 + + diff-merges: revise revs->diff flag handling
282 + + diff-merges: handle imply -p on -c/--cc logic for log.c
283 + + diff-merges: introduce revs->first_parent_merges flag
284 + + diff-merges: new function diff_merges_set_dense_combined_if_unset()
285 + + diff-merges: new function diff_merges_suppress()
286 + + diff-merges: re-arrange functions to match the order they are called in
287 + + diff-merges: rename diff_merges_default_to_enable() to match semantics
288 + + diff-merges: move checks for first_parent_only out of the module
289 + + diff-merges: rename all functions to have common prefix
290 + + revision: move diff merges functions to its own diff-merges.c
291 + + revision: provide implementation for diff merges tweaks
292 + + revision: factor out initialization of diff-merge related settings
293 + + revision: factor out setup of diff-merge related settings
294 + + revision: factor out parsing of diff-merge related options
295
296 + "git log" learned a new "--diff-merges=<how>" option.
297
94 -* jt/packfile-as-uri-doc (2021-01-20) 1 commit
95 - (merged to 'next' on 2021-01-26 at 50500a8982)
96 - + Doc: clarify contents of packfile sent as URI
298
98 - Doc fix for packfile URI feature.
299 +* tb/ls-refs-optim (2021-01-22) 3 commits
300 + (merged to 'next' on 2021-01-26 at 09edbf7d9a)
301 + + ls-refs.c: traverse prefixes of disjoint "ref-prefix" sets
302 + + ls-refs.c: initialize 'prefixes' before using it
303 + + refs: expose 'for_each_fullref_in_prefixes'
304 +
305 + The ls-refs protocol operation has been optimized to narrow the
306 + sub-hierarchy of refs/ it walks to produce response.
307 +
308 +
309 +* zh/ls-files-deduplicate (2021-01-23) 3 commits
310 + (merged to 'next' on 2021-01-26 at af7522d2cf)
311 + + ls-files.c: add --deduplicate option
312 + + ls_files.c: consolidate two for loops into one
313 + + ls_files.c: bugfix for --deleted and --modified
314 +
315 + "git ls-files" can and does show multiple entries when the index is
316 + unmerged, which is a source for confusion unless -s/-u option is in
317 + use. A new option --deduplicate has been introduced.
318
319 --------------------------------------------------
320 [New Topics]
321
103 -* ab/make-cleanup (2021-02-01) 6 commits
104 - - Makefile: add {program,xdiff,test,git}-objs & objects targets
105 - - Makefile: split OBJECTS into OBJECTS and GIT_OBJS
106 - - Makefile: sort OBJECTS assignment for subsequent change
107 - - Makefile: split up long OBJECTS line
108 - - Makefile: guard against TEST_OBJS in the environment
109 - - Makefile: remove "all" on "$(FUZZ_OBJS)"
322 +* js/range-diff-one-side-only (2021-02-06) 6 commits
323 + (merged to 'next' on 2021-02-08 at 8c35ed8523)
324 + + range-diff: offer --left-only/--right-only options
325 + + range-diff: move the diffopt initialization down one layer
326 + + range-diff: combine all options in a single data structure
327 + + range-diff: simplify code spawning `git log`
328 + + range-diff: libify the read_patches() function again
329 + + range-diff: avoid leaking memory in two error code paths
330
111 - Reorganize Makefile to allow building git.o and other essential
112 - objects without extra stuff needed only for testing.
331 + The "git range-diff" command learned "--(left|right)-only" option
332 + to show only one side of the compared range.
333
334 + Will merge to 'master'.
335
115 -* ds/commit-graph-genno-fix (2021-02-01) 6 commits
116 - (merged to 'next' on 2021-02-03 at b3a9e11efb)
117 - + commit-graph: prepare commit graph
118 - + commit-graph: be extra careful about mixed generations
119 - + commit-graph: compute generations separately
120 - + commit-graph: validate layers for generation data
121 - + commit-graph: always parse before commit_graph_data_at()
122 - + commit-graph: use repo_parse_commit
123 - (this branch uses ak/corrected-commit-date; is tangled with ds/chunked-file-api and ds/merge-base-independent.)
336
125 - Fix incremental update of commit-graph file around corrected commit
126 - date data.
337 +* cm/rebase-i-updates (2021-02-10) 11 commits
338 + - doc/rebase -i: fix typo in the documentation of 'fixup' command
339 + - t/t3437: fixup the test 'multiple fixup -c opens editor once'
340 + - t/t3437: use named commits in the tests
341 + - t/t3437: simplify and document the test helpers
342 + - t/t3437: check the author date of fixed up commit
343 + - t/t3437: remove the dependency of 'expected-message' file from tests
344 + - t/t3437: fixup here-docs in the 'setup' test
345 + - t/lib-rebase: update the documentation of FAKE_LINES
346 + - rebase -i: clarify and fix 'fixup -c' rebase-todo help
347 + - sequencer: rename a few functions
348 + - sequencer: fixup the datatype of the 'flag' argument
349 + (this branch uses cm/rebase-i.)
350
128 - Will merge to 'master'.
351 + Follow-up fixes to "cm/rebase-i" topic.
352
353 + Will merge to 'next' after waiting for a few more days for comments.
354
131 -* jh/simple-ipc (2021-02-01) 13 commits
132 - - simple-ipc: add Unix domain socket implementation
133 - - unix-socket: do not call die in unix_stream_connect()
134 - - unix-socket: add no-chdir option to unix_stream_listen()
135 - - unix-socket: add options to unix_stream_listen()
136 - - unix-socket: elimiate static unix_stream_socket() helper function
137 - - simple-ipc: add t/helper/test-simple-ipc and t0052
138 - - simple-ipc: add win32 implementation
139 - - simple-ipc: design documentation for new IPC mechanism
140 - - pkt-line: accept additional options in read_packetized_to_strbuf()
141 - - pkt-line: (optionally) libify the packet readers
142 - - pkt-line: optionally skip the flush packet in write_packetized_from_buf()
143 - - pkt-line: add write_packetized_from_buf2() that takes scratch buffer
144 - - pkt-line: promote static buffer in packet_write_gently() to callers
355
146 - A simple IPC interface gets introduced to build services like
147 - fsmonitor on top.
356 +* cw/pack-vs-bigfilethreashold (2021-02-09) 2 commits
357 + - fixup! doc: mention bigFileThreshold for packing
358 + - doc: mention bigFileThreshold for packing
359
360 + Doc update.
361
150 -* ab/pager-exit-log (2021-02-01) 4 commits
151 - - pager: properly log pager exit code when signalled
152 - - run-command: add braces for "if" block in wait_or_whine()
153 - - pager: test for exit code with and without SIGPIPE
154 - - pager: refactor wait_for_pager() function
362 + Expecting a reroll.
363 + cf. <F63929A8-7BC9-43A7-9E7B-118433F62588@gmx.ch>
364
156 - When a pager spawned by us exited, the trace log did not record its
157 - exit status correctly, which has been corrected.
365
366 +* ds/maintenance-pack-refs (2021-02-09) 2 commits
367 + - maintenance: incremental strategy runs pack-refs weekly
368 + - maintenance: add pack-refs task
369
160 -* jk/complete-branch-force-delete (2021-02-03) 3 commits
161 - (merged to 'next' on 2021-02-03 at 6454bb89b5)
162 - + doc/git-branch: fix awkward wording for "-c"
163 - + completion: handle other variants of "branch -m"
164 - + completion: treat "branch -D" the same way as "branch -d"
370 + "git maintenance" tool learned a new "pack-refs" maintenance task.
371
166 - The command line completion (in contrib/) completed "git branch -d"
167 - with branch names, but "git branch -D" offered tagnames in addition,
168 - which has been corrected. "git branch -M" had the same problem.
372 + Will merge to 'next' after waiting for a few more days for comments.
373 +
374 +
375 +
376 +* jk/mailmap-only-at-root (2021-02-10) 1 commit
377 + - mailmap: only look for .mailmap in work tree
378 +
379 + The .mailmap is documented to be read only from the root level of a
380 + working tree, but a stray file in a bare repository also was read
381 + by accident, which has been corrected.
382 +
383 + Will merge to 'next'.
384 +
385 +
386 +* jk/rev-list-disk-usage (2021-02-09) 3 commits
387 + - fixup! rev-list: add --disk-usage option for calculating disk usage
388 + - rev-list: add --disk-usage option for calculating disk usage
389 + - t: add --no-tag option to test_commit
390 +
391 + "git rev-list" command learned "--disk-usage" option.
392 +
393 +
394 +* jt/trace2-BUG (2021-02-09) 1 commit
395 + (merged to 'next' on 2021-02-09 at 94911ad676)
396 + + usage: trace2 BUG() invocations
397 +
398 + Even though invocations of "die()" were logged to the trace2
399 + system, "BUG()"s were not, which has been corrected.
400
401 Will merge to 'master'.
402
403
173 -* ta/hash-function-transition-doc (2021-02-02) 6 commits
174 - - doc: use https links
175 - - doc hash-function-transition: move rationale upwards
176 - - doc hash-function-transition: fix incomplete sentence
177 - - doc hash-function-transition: use upper case consistently
178 - - doc hash-function-transition: use SHA-1 and SHA-256 consistently
179 - - doc hash-function-transition: fix asciidoc output
404 +* mt/checkout-index-corner-cases (2021-02-09) 2 commits
405 + - checkout-index: omit entries with no tempname from --temp output
406 + - write_entry(): fix misuses of `path` in error messages
407
181 - Update formatting and grammar of the hash transition plan
182 - documentation, plus some updates.
408 + The error codepath around the "--temp/--prefix" feature of "git
409 + checkout-index" has been improved.
410
184 - Except for [5/6] these look good.
411 + Expecting additional tests.
412
186 ---------------------------------------------------
187 -[Stalled]
413
189 -* fc/bash-completion-post-2.29 (2020-12-23) 4 commits
190 - . completion: bash: add correct suffix in variables
191 - . completion: bash: fix for multiple dash commands
192 - . completion: bash: fix for suboptions with value
193 - . completion: bash: fix prefix detection in branch.*
414 +* mt/grep-cached-untracked (2021-02-09) 1 commit
415 + - grep: error out if --untracked is used with --cached
416
195 - Seems to break tests on Windows
417 + "git grep --untracked" is meant to be "let's ALSO find in these
418 + files on the filesystem" when looking for matches in the working
419 + tree files, and does not make any sense if the primary search is
420 + done against the index, or the tree objects. The "--cached" and
421 + "--untracked" options have been marked as mutually incompatible.
422
423 + Will merge to 'next'.
424
198 -* ss/submodule-add-in-c (2020-12-15) 3 commits
199 - . t7400: add test to check 'submodule add' for tracked paths
200 - . submodule: port submodule subcommand 'add' from shell to C
201 - . dir: change the scope of function 'directory_exists_in_index()'
425
203 - "git submodule add" being rewritten in C.
426 +* tb/ci-run-cocci-with-18.04 (2021-02-08) 1 commit
427 + (merged to 'next' on 2021-02-09 at c50bc53527)
428 + + .github/workflows/main.yml: run static-analysis on bionic
429
205 - Expecting a reroll.
206 - The patches are split incorrectly; part of 1/3 belongs to 2/3
207 - cf. <nycvar.QRO.7.76.6.2012190104140.56@tvgsbejvaqbjf.bet>
208 - It seems to introduce a segfault on 'seen'.
209 - cf. <xmqqft3xflw7.fsf@gitster.c.googlers.com>
430 + The version of Ubuntu Linux used by default at GitHub Actions CI
431 + has been updated to one that lack coccinelle; until it gets fixed,
432 + work it around by sticking to the previous release (18.04).
433
434 + Will merge to 'master'.
435
212 -* mt/grep-sparse-checkout (2020-12-06) 10 commits
213 - - t7817: do not depend on any specific default branch name
214 - - config: add setting to ignore sparsity patterns in some cmds
215 - - grep: honor sparse checkout patterns
216 - - config: correctly read worktree configs in submodules
217 - - config: make do_git_config_sequence receive a 'struct repository'
218 - - t/helper/test-config: unify exit labels
219 - - t/helper/test-config: diagnose missing arguments
220 - - t/helper/test-config: be consistent with exit codes
221 - - t1308-config-set: avoid false positives when using test-config
222 - - doc: grep: unify info on configuration variables
223 - (this branch is used by mt/rm-sparse-checkout.)
436
225 - "git grep" has been tweaked to be limited to the sparse checkout
226 - paths.
437 +* ab/test-lib (2021-02-10) 12 commits
438 + - test-lib-functions: split out {debug,path,text} helpers
439 + - test-lib-functions: assert correct parameter count
440 + - test-lib-functions: remove bug-inducing "diagnostics" helper param
441 + - test libs: rename "diff-lib" to "lib-diff"
442 + - t/.gitattributes: sort lines
443 + - test-lib-functions: move function to lib-bitmap.sh
444 + - test libs: rename gitweb-lib.sh to lib-gitweb.sh
445 + - test libs: rename bundle helper to "lib-bundle.sh"
446 + - test-lib-functions: remove generate_zero_bytes() wrapper
447 + - test-lib-functions: move test_set_index_version() to its user
448 + - test lib: change "error" to "BUG" as appropriate
449 + - test-lib: remove check_var_migration
450
228 - Break out and fast-track bugfix from the remainder of the topic.
229 - cf. <CABPp-BFkACtF6LHkFJNt9dTOmwfQbf8ZO=BTrPYwPSmbqc9+hg@mail.gmail.com>
451 + Test framework clean-up.
452
453
232 -* mt/rm-sparse-checkout (2020-12-08) 1 commit
233 - - rm: honor sparse checkout patterns
234 - (this branch uses mt/grep-sparse-checkout.)
454 +* dl/stash-cleanup (2021-02-09) 7 commits
455 + - stash: declare ref_stash as an array
456 + - t3905: use test_cmp() to check file contents
457 + - t3905: replace test -s with test_file_not_empty
458 + - t3905: remove nested git in command substitution
459 + - t3905: move all commands into test cases
460 + - t3905: remove spaces after redirect operators
461 + - git-stash.txt: be explicit about subcommand options
462
236 - "git rm" follows suit to "git grep" to ignore paths outside the
237 - sparsity pattern when the sparse checkout feature is in use.
463 + Documentation, code and test clean-up around "git stash".
464
239 - Need to wait for how these fit in larger picture.
240 - cf. <CABPp-BGMX3wb7LiS1HkJpGveoW3J1oR0vVHbKTF5+qYLRF+59g@mail.gmail.com>
241 - cf. <CABPp-BFkACtF6LHkFJNt9dTOmwfQbf8ZO=BTrPYwPSmbqc9+hg@mail.gmail.com>
465 + Will merge to 'next' and to 'master' soonish.
466 + This is an early part of a topic that added a new feature to the
467 + command, but the implementation is expected to need a handful of
468 + iterations; I split the preparatory part up to fast-track it.
469 +
470 +
471 +* ew/rev-parse-since-test (2021-02-10) 1 commit
472 + - t1500: ensure current --since= behavior remains
473 +
474 + Test to make sure "git rev-parse one-thing one-thing" gives
475 + the same thing twice (when one-thing is --since=X).
476 +
477 + Will merge to 'next'.
478
479
480 +* js/fsck-name-objects-fix (2021-02-10) 2 commits
481 + - fsck --name-objects: be more careful parsing generation numbers
482 + - t1450: robustify `remove_object()`
483 +
484 + Fix "git fsck --name-objects" which apparently has not been used by
485 + anybody who is motivated enough to report breakage.
486 +
487 + Will merge to 'next'.
488 +
489 +--------------------------------------------------
490 +[Stalled]
491 +
492 * jk/symlinked-dotgitx-files (2020-10-23) 9 commits
493 - docs: document symlink restrictions for .git* files
494 - fsck: complain when .gitattributes or .gitignore is a symlink
@@ -276,25 +524,6 @@ Release tarballs are available at:
524 cf. <CAM4o00eefXK2CJ_FxwwVPpBKL01JsJANf+SdjCtw_0NVV82L+Q@mail.gmail.com>
525
526
279 -* sv/t7001-modernize (2020-09-25) 11 commits
280 - - t7001: move cleanup code from outside the tests into them
281 - - t7001: use `test` rather than `[`
282 - - t7001: use here-docs instead of echo
283 - - t7001: put each command on a separate line
284 - - t7001: use ': >' rather than 'touch'
285 - - t7001: change (cd <path> && git foo) to (git -C <path> foo)
286 - - t7001: remove whitespace after redirect operators
287 - - t7001: change the style for cd according to subshell
288 - - t7001: remove unnecessary blank lines
289 - - t7001: use TAB instead of spaces
290 - - t7001: convert tests from the old style to the current style
291 -
292 - Test script modernization.
293 -
294 - Expecting a reroll.
295 - cf. <20200925170256.11490-1-shubhunic@gmail.com>
296 -
297 -
527 * ar/fetch-transfer-ipversion (2020-09-16) 1 commit
528 - config: option transfer.ipversion to set transport protocol version for network fetches
529
@@ -344,26 +573,116 @@ Release tarballs are available at:
573 --------------------------------------------------
574 [Cooking]
575
347 -* sg/t7800-difftool-robustify (2021-01-09) 1 commit
348 - (merged to 'next' on 2021-01-31 at fb72af8200)
349 - + t7800-difftool: don't accidentally match tmp dirs
576 +* sv/t7001-modernize (2021-02-09) 10 commits
577 + - t7001: use `test` rather than `[`
578 + - t7001: use here-docs instead of echo
579 + - t7001: put each command on a separate line
580 + - t7001: use '>' rather than 'touch'
581 + - t7001: avoid using `cd` outside of subshells
582 + - t7001: remove whitespace after redirect operators
583 + - t7001: modernize subshell formatting
584 + - t7001: remove unnecessary blank lines
585 + - t7001: indent with TABs instead of spaces
586 + - t7001: modernize test formatting
587
351 - Test fix.
588 + Test script modernization.
589 +
590 +
591 +* mt/grep-sparse-checkout (2021-02-09) 1 commit
592 + - grep: honor sparse-checkout on working tree searches
593 +
594 + "git grep" has been tweaked to be limited to the sparse checkout
595 + paths.
596 +
597 + Break out and fast-track bugfix from the remainder of the topic.
598 + cf. <CABPp-BFkACtF6LHkFJNt9dTOmwfQbf8ZO=BTrPYwPSmbqc9+hg@mail.gmail.com>
599 +
600 +
601 +* ab/make-cleanup (2021-02-01) 6 commits
602 + - Makefile: add {program,xdiff,test,git}-objs & objects targets
603 + - Makefile: split OBJECTS into OBJECTS and GIT_OBJS
604 + - Makefile: sort OBJECTS assignment for subsequent change
605 + - Makefile: split up long OBJECTS line
606 + - Makefile: guard against TEST_OBJS in the environment
607 + - Makefile: remove "all" on "$(FUZZ_OBJS)"
608 +
609 + Reorganize Makefile to allow building git.o and other essential
610 + objects without extra stuff needed only for testing.
611 +
612 +
613 +* ds/commit-graph-genno-fix (2021-02-01) 6 commits
614 + (merged to 'next' on 2021-02-03 at b3a9e11efb)
615 + + commit-graph: prepare commit graph
616 + + commit-graph: be extra careful about mixed generations
617 + + commit-graph: compute generations separately
618 + + commit-graph: validate layers for generation data
619 + + commit-graph: always parse before commit_graph_data_at()
620 + + commit-graph: use repo_parse_commit
621 + (this branch uses ak/corrected-commit-date; is tangled with ds/chunked-file-api and ds/merge-base-independent.)
622 +
623 + Fix incremental update of commit-graph file around corrected commit
624 + date data.
625
626 Will merge to 'master'.
627
628
356 -* ab/lose-grep-debug (2021-01-26) 1 commit
357 - (merged to 'next' on 2021-01-31 at 9b7548efce)
358 - + grep/log: remove hidden --debug and --grep-debug options
629 +* jh/simple-ipc (2021-02-01) 13 commits
630 + - simple-ipc: add Unix domain socket implementation
631 + - unix-socket: do not call die in unix_stream_connect()
632 + - unix-socket: add no-chdir option to unix_stream_listen()
633 + - unix-socket: add options to unix_stream_listen()
634 + - unix-socket: elimiate static unix_stream_socket() helper function
635 + - simple-ipc: add t/helper/test-simple-ipc and t0052
636 + - simple-ipc: add win32 implementation
637 + - simple-ipc: design documentation for new IPC mechanism
638 + - pkt-line: accept additional options in read_packetized_to_strbuf()
639 + - pkt-line: (optionally) libify the packet readers
640 + - pkt-line: optionally skip the flush packet in write_packetized_from_buf()
641 + - pkt-line: add write_packetized_from_buf2() that takes scratch buffer
642 + - pkt-line: promote static buffer in packet_write_gently() to callers
643
360 - Lose the debugging aid that may have been useful in the past, but
361 - no longer is, in the "grep" codepaths.
644 + A simple IPC interface gets introduced to build services like
645 + fsmonitor on top.
646 +
647 +
648 +* ab/pager-exit-log (2021-02-01) 4 commits
649 + - pager: properly log pager exit code when signalled
650 + - run-command: add braces for "if" block in wait_or_whine()
651 + - pager: test for exit code with and without SIGPIPE
652 + - pager: refactor wait_for_pager() function
653 +
654 + When a pager spawned by us exited, the trace log did not record its
655 + exit status correctly, which has been corrected.
656 +
657 +
658 +* jk/complete-branch-force-delete (2021-02-03) 3 commits
659 + (merged to 'next' on 2021-02-03 at 6454bb89b5)
660 + + doc/git-branch: fix awkward wording for "-c"
661 + + completion: handle other variants of "branch -m"
662 + + completion: treat "branch -D" the same way as "branch -d"
663 +
664 + The command line completion (in contrib/) completed "git branch -d"
665 + with branch names, but "git branch -D" offered tagnames in addition,
666 + which has been corrected. "git branch -M" had the same problem.
667
668 Will merge to 'master'.
669
670
366 -* ds/chunked-file-api (2021-01-27) 17 commits
671 +* ta/hash-function-transition-doc (2021-02-05) 6 commits
672 + - doc: use https links
673 + - doc hash-function-transition: move rationale upwards
674 + - doc hash-function-transition: fix incomplete sentence
675 + - doc hash-function-transition: use upper case consistently
676 + - doc hash-function-transition: use SHA-1 and SHA-256 consistently
677 + - doc hash-function-transition: fix asciidoc output
678 +
679 + Update formatting and grammar of the hash transition plan
680 + documentation, plus some updates.
681 +
682 + Will merge to 'next' after waiting for comments for a few days.
683 +
684 +
685 +* ds/chunked-file-api (2021-02-05) 17 commits
686 - chunk-format: add technical docs
687 - chunk-format: restore duplicate chunk checks
688 - midx: use 64-bit multiplication for chunk sizes
@@ -383,6 +702,12 @@ Release tarballs are available at:
702 - commit-graph: anonymize data in chunk_write_fn
703 (this branch uses ak/corrected-commit-date; is tangled with ds/commit-graph-genno-fix and ds/merge-base-independent.)
704
705 + The common code to deal with "chunked file format" that is shared
706 + by the multi-pack-index and commit-graph files have been factored
707 + out, to help codepaths for both filetypes to become more rebust.
708 +
709 + Will merge to 'next' after waiting for a few days.
710 +
711
712 * ds/merge-base-independent (2021-02-01) 5 commits
713 - commit-reach: stale commits may prune generation further
@@ -396,127 +721,34 @@ Release tarballs are available at:
721 done and was kept from the very beginning of the feature.
722
723
399 -* jk/pretty-lazy-load-commit (2021-01-28) 1 commit
400 - (merged to 'next' on 2021-02-01 at acf7353a32)
401 - + pretty: lazy-load commit data when expanding user-format
402 -
403 - Some pretty-format specifiers do not need the data in commit object
404 - (e.g. "%H"), but we were over-eager to load and parse it, which has
405 - been made even lazier.
406 -
407 - Will merge to 'master'.
408 -
409 -
410 -* jk/t0000-cleanups (2021-01-28) 4 commits
411 - (merged to 'next' on 2021-01-31 at 357f8fe097)
412 - + t0000: consistently use single quotes for outer tests
413 - + t0000: run cleaning test inside sub-test
414 - + t0000: run prereq tests inside sub-test
415 - + t0000: keep clean-up tests together
416 -
417 - Code clean-up.
418 -
419 - Will merge to 'master'.
420 -
421 -
422 -* jk/use-oid-pos (2021-01-28) 6 commits
423 - (merged to 'next' on 2021-01-31 at 10ccafb739)
424 - + oid_pos(): access table through const pointers
425 - + hash_pos(): convert to oid_pos()
426 - + rerere: use strmap to store rerere directories
427 - + rerere: tighten rr-cache dirname check
428 - + rerere: check dirname format while iterating rr_cache directory
429 - + commit_graft_pos(): take an oid instead of a bare hash
430 -
431 - Code clean-up to ensure our use of hashtables using object names as
432 - keys use the "struct object_id" objects, not the raw hash values.
433 -
434 - Will merge to 'master'.
435 -
436 -
437 -* jk/weather-balloon-require-variadic-macro (2021-01-27) 1 commit
438 - (merged to 'next' on 2021-01-31 at 8d5207bd85)
439 - + git-compat-util: always enable variadic macros
440 -
441 - We've carried compatibility codepaths for compilers without
442 - variadic macros for quite some time, but the world may be ready for
443 - them to be removed. Force compilation failure on exotic platforms
444 - where variadic macros are not available to find out who screams in
445 - such a way that we can easily revert if it turns out that the world
446 - is not yet ready.
447 -
448 - Will merge to 'master'.
449 -
450 -
451 -* pb/ci-matrix-wo-shortcut (2021-01-27) 1 commit
452 - (merged to 'next' on 2021-01-31 at 2384693758)
453 - + ci: do not cancel all jobs of a matrix if one fails
454 -
455 - Our setting of GitHub CI test jobs were a bit too eager to give up
456 - once there is even one failure found. Tweak the knob to allow
457 - other jobs keep running even when we see a failure, so that we can
458 - find more failures in a single run.
459 -
460 - Will merge to 'master'.
461 -
462 -
463 -* sg/test-stress-jobs (2021-01-26) 1 commit
464 - (merged to 'next' on 2021-02-01 at 0b7aae84e3)
465 - + test-lib: prevent '--stress-jobs=X' from being ignored
466 -
467 - Test framework fix.
468 -
469 - Will merge to 'master'.
470 -
471 -
472 -* hv/trailer-formatting (2021-01-30) 5 commits
473 - - SQUASH???
474 - - SQUASH: fix sparse error
475 - - ref-filter: use pretty.c logic for trailers
476 - - pretty.c: capture invalid trailer argument
477 - - pretty.c: refactor trailer logic to `format_set_trailers_options()`
478 -
479 - The logic to handle "trailer" related placeholders in the
480 - "--format=" mechanisms in the "log" family and "for-each-ref"
481 - family is getting unified.
482 -
483 - Expecting further work.
484 -
485 -
486 -* jk/p5303-sed-portability-fix (2021-01-29) 1 commit
487 - (merged to 'next' on 2021-01-31 at 5f2957e738)
488 - + p5303: avoid sed GNU-ism
489 -
490 - A perf script was made more portable.
491 -
492 - Will merge to 'master'.
493 -
494 -
495 -* pb/blame-funcname-range-userdiff (2021-01-30) 1 commit
496 - (merged to 'next' on 2021-01-31 at 107d10fe4f)
497 - + annotate-tests: quote variable expansions containing path names
498 -
499 - Test fix.
500 -
501 - Will merge to 'master'.
724 +* hv/trailer-formatting (2021-02-06) 3 commits
725 + - ref-filter: use pretty.c logic for trailers
726 + - pretty.c: capture invalid trailer argument
727 + - pretty.c: refactor trailer logic to `format_set_trailers_options()`
728 +
729 + The logic to handle "trailer" related placeholders in the
730 + "--format=" mechanisms in the "log" family and "for-each-ref"
731 + family is getting unified.
732 +
733 + Ready for 'next'?
734
735
504 -* sh/mergetool-hideresolved (2021-01-29) 3 commits
505 - - mergetool: add per-tool support and overrides for the hideResolved flag
506 - - mergetool: break setup_tool out into separate initialization function
507 - - mergetool: add hideResolved configuration
736 +* sh/mergetool-hideresolved (2021-02-09) 3 commits
737 + (merged to 'next' on 2021-02-09 at c3ed19b2ec)
738 + + mergetool: add per-tool support and overrides for the hideResolved flag
739 + + mergetool: break setup_tool out into separate initialization function
740 + + mergetool: add hideResolved configuration
741
742 "git mergetool" feeds three versions (base, local and remote) of
743 a conflicted path unmodified. The command learned to optionally
744 prepare these files with unconflicted parts already resolved.
745
513 - Getting there.
514 -
515 - The interaction between configuration variables look somewhat iffy.
746 + Will merge to 'master'.
747
748
749 * tb/precompose-prefix-too (2021-02-03) 1 commit
519 - - MacOS: precompose_argv_prefix()
750 + (merged to 'next' on 2021-02-05 at 1dd43136b1)
751 + + MacOS: precompose_argv_prefix()
752
753 When commands are started from a subdirectory, they may have to
754 compare the path to the subdirectory (called prefix and found out
@@ -526,7 +758,7 @@ Release tarballs are available at:
758 has been fixed by taking the same approach used to normalize the
759 command line arguments.
760
529 - Will merge to 'next'.
761 + Will merge to 'master'.
762
763
764 * cm/rebase-i (2021-01-29) 9 commits
@@ -540,80 +772,28 @@ Release tarballs are available at:
772 + rebase -i: comment out squash!/fixup! subjects from squash message
773 + sequencer: factor out code to append squash message
774 + rebase -i: only write fixup-message when it's needed
775 + (this branch is used by cm/rebase-i-updates.)
776
777 "rebase -i" is getting cleaned up and also enhanced.
778
546 - Will merge to 'master'.
547 -
548 -
549 -* ds/more-index-cleanups (2021-01-23) 9 commits
550 - (merged to 'next' on 2021-02-01 at bcdfa11e73)
551 - + t1092: test interesting sparse-checkout scenarios
552 - + test-lib: test_region looks for trace2 regions
553 - + sparse-checkout: load sparse-checkout patterns
554 - + name-hash: use trace2 regions for init
555 - + repository: add repo reference to index_state
556 - + fsmonitor: de-duplicate BUG()s around dirty bits
557 - + cache-tree: extract subtree_pos()
558 - + cache-tree: simplify verify_cache() prototype
559 - + cache-tree: clean up cache_tree_update()
560 - (this branch uses ds/cache-tree-basics.)
561 -
562 - Cleaning various codepaths up.
563 -
564 - Will merge to 'master'.
565 -
566 -
567 -* rs/worktree-list-verbose (2021-01-30) 7 commits
568 - (merged to 'next' on 2021-02-01 at b57a6ce4c6)
569 - + worktree: teach `list` verbose mode
570 - + worktree: teach `list` to annotate prunable worktree
571 - + worktree: teach `list --porcelain` to annotate locked worktree
572 - + t2402: ensure locked worktree is properly cleaned up
573 - + worktree: teach worktree_lock_reason() to gently handle main worktree
574 - + worktree: teach worktree to lazy-load "prunable" reason
575 - + worktree: libify should_prune_worktree()
576 -
577 - `git worktree list` now annotates worktrees as prunable, shows
578 - locked and prunable attributes in --porcelain mode, and gained
579 - a --verbose option.
580 -
581 - Will merge to 'master'.
582 - cf. <CAPig+cTt-TyOR8kc6YvBVLpf-bgFdJ+FVYA2NvG_Vvn7tMbBkQ@mail.gmail.com>
779 + Will cook in 'next' while waiting for the 'updates' topic.
780
781
585 -* tb/geometric-repack (2021-01-20) 10 commits
586 - . builtin/repack.c: add '--geometric' option
587 - . builtin/repack.c: extract loose object handling
588 - . builtin/pack-objects.c: teach '--keep-pack-stdin'
589 - . packfile: add kept-pack cache for find_kept_pack_entry()
590 - . pack-objects: rewrite honor-pack-keep logic
591 - . p5303: measure time to repack with keep
592 - . p5303: add missing &&-chains
593 - . builtin/pack-objects.c: learn '--assume-kept-packs-closed'
594 - . revision: learn '--no-kept-objects'
595 - . packfile: introduce 'find_kept_pack_entry()'
782 +* tb/geometric-repack (2021-02-03) 8 commits
783 + - builtin/repack.c: add '--geometric' option
784 + - packfile: add kept-pack cache for find_kept_pack_entry()
785 + - builtin/pack-objects.c: rewrite honor-pack-keep logic
786 + - p5303: measure time to repack with keep
787 + - p5303: add missing &&-chains
788 + - builtin/pack-objects.c: add '--stdin-packs' option
789 + - revision: learn '--no-kept-objects'
790 + - packfile: introduce 'find_kept_pack_entry()'
791
792 "git repack" so far has been only capable of repacking everything
793 under the sun into a single pack (or split by size). A cleverer
794 strategy to reduce the cost of repacking a repository has been
795 introduced.
796
602 - Expecting further work.
603 -
604 -
605 -* zh/ls-files-deduplicate (2021-01-23) 3 commits
606 - (merged to 'next' on 2021-01-26 at af7522d2cf)
607 - + ls-files.c: add --deduplicate option
608 - + ls_files.c: consolidate two for loops into one
609 - + ls_files.c: bugfix for --deleted and --modified
610 -
611 - "git ls-files" can and does show multiple entries when the index is
612 - unmerged, which is a source for confusion unless -s/-u option is in
613 - use. A new option --deduplicate has been introduced.
614 -
615 - Will merge to 'master'.
616 -
797
798 * ah/rebase-no-fork-point-config (2021-01-21) 1 commit
799 - rebase: add a config option for --no-fork-point
@@ -626,17 +806,17 @@ Release tarballs are available at:
806 cf. <CAMMLpeTDNLUz9UVnL3aVK=J7X50Sq8L-OVGaoEsT5AY6EQON-g@mail.gmail.com>
807
808
629 -* js/range-diff-wo-dotdot (2021-01-27) 3 commits
630 - - range-diff(docs): explain how to specify commit ranges
631 - - range-diff/format-patch: handle commit ranges other than A..B
632 - - range-diff/format-patch: refactor check for commit range
809 +* js/range-diff-wo-dotdot (2021-02-06) 3 commits
810 + (merged to 'next' on 2021-02-08 at 9ae8b46d99)
811 + + range-diff(docs): explain how to specify commit ranges
812 + + range-diff/format-patch: handle commit ranges other than A..B
813 + + range-diff/format-patch: refactor check for commit range
814
815 There are other ways than ".." for a single token to denote a
816 "commit range", namely "<rev>^!" and "<rev>^-<n>", but "git
817 range-diff" did not understand them.
818
638 - Getting there.
639 - cf. <pull.841.v3.git.1611765444.gitgitgadget@gmail.com>
819 + Will merge to 'master'.
820
821
822 * jx/t5411-unique-filenames (2021-01-22) 2 commits
@@ -647,50 +827,6 @@ Release tarballs are available at:
827 by forcing them to use separate output files during the test.
828
829
650 -* ph/use-delete-refs (2021-01-21) 1 commit
651 - (merged to 'next' on 2021-01-26 at e03486152e)
652 - + use delete_refs when deleting tags or branches
653 -
654 - When removing many branches and tags, the code used to do so one
655 - ref at a time. There is another API it can use to delete multiple
656 - refs, and it makes quite a lot of performance difference when the
657 - refs are packed.
658 -
659 - Will merge to 'master'.
660 -
661 -
662 -* tb/ls-refs-optim (2021-01-22) 3 commits
663 - (merged to 'next' on 2021-01-26 at 09edbf7d9a)
664 - + ls-refs.c: traverse prefixes of disjoint "ref-prefix" sets
665 - + ls-refs.c: initialize 'prefixes' before using it
666 - + refs: expose 'for_each_fullref_in_prefixes'
667 -
668 - The ls-refs protocol operation has been optimized to narrow the
669 - sub-hierarchy of refs/ it walks to produce response.
670 -
671 - Will merge to 'master'.
672 -
673 -
674 -* ab/grep-pcre-invalid-utf8 (2021-01-24) 2 commits
675 - (merged to 'next' on 2021-02-01 at 60be521876)
676 - + grep/pcre2: better support invalid UTF-8 haystacks
677 - + grep/pcre2 tests: don't rely on invalid UTF-8 data test
678 -
679 - Update support for invalid UTF-8 in PCRE2.
680 -
681 - Will merge to 'master'.
682 -
683 -
684 -* ab/retire-pcre1 (2021-01-23) 2 commits
685 - (merged to 'next' on 2021-02-01 at 532a0a8228)
686 - + Remove support for v1 of the PCRE library
687 - + config.mak.uname: remove redundant NO_LIBPCRE1_JIT flag
688 -
689 - The support for deprecated PCRE1 library has been dropped.
690 -
691 - Will merge to 'master'.
692 -
693 -
830 * jt/transfer-fsck-across-packs (2021-01-25) 5 commits
831 - SQUASH??? test fix
832 - fetch-pack: print and use dangling .gitmodules
@@ -709,18 +845,6 @@ Release tarballs are available at:
845 "fetch-pack" process.
846
847
712 -* jv/pack-objects-narrower-ref-iteration (2021-01-22) 1 commit
713 - (merged to 'next' on 2021-01-26 at 8a0d178c01)
714 - + builtin/pack-objects.c: avoid iterating all refs
715 -
716 - The "pack-objects" command needs to iterate over all the tags when
717 - automatic tag following is enabled, but it actually iterated over
718 - all refs and then discarded everything outside "refs/tags/"
719 - hierarchy, which was quite wasteful.
720 -
721 - Will merge to 'master'.
722 -
723 -
848 * jv/upload-pack-filter-spec-quotefix (2021-02-02) 2 commits
849 (merged to 'next' on 2021-02-03 at 2e34f74e3a)
850 + t5544: clarify 'hook works with partial clone' test
@@ -779,19 +903,8 @@ Release tarballs are available at:
903 Will merge to 'master'.
904
905
782 -* ab/detox-gettext-tests (2021-01-21) 3 commits
783 - (merged to 'next' on 2021-02-01 at 5573b4913c)
784 - + tests: remove uses of GIT_TEST_GETTEXT_POISON=false
785 - + tests: remove support for GIT_TEST_GETTEXT_POISON
786 - + ci: remove GETTEXT_POISON jobs
787 -
788 - Get rid of "GETTEXT_POISON" support altogether, which may or may
789 - not be controversial.
790 -
791 - Will merge to 'master'.
792 -
793 -
794 -* bc/signed-objects-with-both-hashes (2021-01-18) 6 commits
906 +* bc/signed-objects-with-both-hashes (2021-02-09) 7 commits
907 + - SQUASH???
908 - gpg-interface: remove other signature headers before verifying
909 - ref-filter: hoist signature parsing
910 - commit: allow parsing arbitrary buffers with headers
@@ -806,17 +919,6 @@ Release tarballs are available at:
919 Looking good.
920
921
809 -* js/rebase-i-commit-cleanup-fix (2021-01-28) 1 commit
810 - (merged to 'next' on 2021-01-31 at 358f562e1f)
811 - + rebase -i: do leave commit message intact in fixup! chains
812 -
813 - When "git rebase -i" processes "fixup" insn, there is no reason to
814 - clean up the commit log message, but we did the usual stripspace
815 - processing. This has been corrected.
816 -
817 - Will merge to 'master'.
818 -
819 -
922 * tb/pack-revindex-on-disk (2021-01-28) 10 commits
923 (merged to 'next' on 2021-02-01 at bd6a780213)
924 + t5325: check both on-disk and in-memory reverse index
@@ -844,52 +946,13 @@ Release tarballs are available at:
946 + Merge branch 'en/ort-directory-rename' into en/merge-ort-perf
947 + Merge branch 'en/ort-conflict-handling' into en/merge-ort-perf
948 + Merge branch 'en/diffcore-rename' into en/merge-ort-perf
847 - (this branch uses en/ort-conflict-handling and en/ort-directory-rename.)
949 + (this branch uses en/ort-directory-rename.)
950
951 The "ort" merge strategy.
952
953 Will merge to 'master'.
954
955
854 -* ds/cache-tree-basics (2021-01-15) 10 commits
855 - (merged to 'next' on 2021-01-25 at 29ee74df7b)
856 - + cache-tree: speed up consecutive path comparisons
857 - + cache-tree: use ce_namelen() instead of strlen()
858 - + index-format: discuss recursion of cache-tree better
859 - + index-format: update preamble to cache tree extension
860 - + index-format: use 'cache tree' over 'cached tree'
861 - + cache-tree: trace regions for prime_cache_tree
862 - + cache-tree: trace regions for I/O
863 - + cache-tree: use trace2 in cache_tree_update()
864 - + unpack-trees: add trace2 regions
865 - + tree-walk: report recursion counts
866 - (this branch is used by ds/more-index-cleanups.)
867 -
868 - Document, clean-up and optimize the code around the cache-tree
869 - extension in the index.
870 -
871 - Will merge to 'master'.
872 -
873 -
874 -* en/ort-conflict-handling (2021-01-04) 10 commits
875 - (merged to 'next' on 2021-01-25 at 369c1516c4)
876 - + merge-ort: add handling for different types of files at same path
877 - + merge-ort: copy find_first_merges() implementation from merge-recursive.c
878 - + merge-ort: implement format_commit()
879 - + merge-ort: copy and adapt merge_submodule() from merge-recursive.c
880 - + merge-ort: copy and adapt merge_3way() from merge-recursive.c
881 - + merge-ort: flesh out implementation of handle_content_merge()
882 - + merge-ort: handle book-keeping around two- and three-way content merge
883 - + merge-ort: implement unique_path() helper
884 - + merge-ort: handle directory/file conflicts that remain
885 - + merge-ort: handle D/F conflict where directory disappears due to merge
886 - (this branch is used by en/merge-ort-perf.)
887 -
888 - ORT merge strategy learns more support for merge conflicts.
889 -
890 - Will merge to 'master'.
891 -
892 -
956 * ak/corrected-commit-date (2021-01-18) 11 commits
957 (merged to 'next' on 2021-01-26 at deae33ec7d)
958 + doc: add corrected commit date info
@@ -908,34 +971,36 @@ Release tarballs are available at:
971 The commit-graph learned to use corrected commit dates instead of
972 the generation number to help topological revision traversal.
973
911 - Will merge to 'master'.
974 + Will merge to 'master' together with ds/commit-graph-genno-fix.
975
976
977 * mr/bisect-in-c-4 (2021-02-03) 7 commits
915 - - bisect--helper: retire `--check-and-set-terms` subcommand
916 - - bisect--helper: reimplement `bisect_skip` shell function in C
917 - - bisect--helper: retire `--bisect-auto-next` subcommand
918 - - bisect--helper: use `res` instead of return in BISECT_RESET case option
919 - - bisect--helper: retire `--bisect-write` subcommand
920 - - bisect--helper: reimplement `bisect_replay` shell function in C
921 - - bisect--helper: reimplement `bisect_log` shell function in C
978 + (merged to 'next' on 2021-02-05 at ea18026619)
979 + + bisect--helper: retire `--check-and-set-terms` subcommand
980 + + bisect--helper: reimplement `bisect_skip` shell function in C
981 + + bisect--helper: retire `--bisect-auto-next` subcommand
982 + + bisect--helper: use `res` instead of return in BISECT_RESET case option
983 + + bisect--helper: retire `--bisect-write` subcommand
984 + + bisect--helper: reimplement `bisect_replay` shell function in C
985 + + bisect--helper: reimplement `bisect_log` shell function in C
986
987 Piecemeal of rewrite of "git bisect" in C continues.
988
925 - Will merge to 'next'.
989 + Will merge to 'master'.
990
991
928 -* jt/clone-unborn-head (2021-02-01) 3 commits
929 - - clone: respect remote unborn HEAD
930 - - connect, transport: encapsulate arg in struct
931 - - ls-refs: report unborn targets of symrefs
992 +* jt/clone-unborn-head (2021-02-05) 3 commits
993 + (merged to 'next' on 2021-02-08 at 3ba9f80e7f)
994 + + clone: respect remote unborn HEAD
995 + + connect, transport: encapsulate arg in struct
996 + + ls-refs: report unborn targets of symrefs
997
998 "git clone" tries to locally check out the branch pointed at by
999 HEAD of the remote repository after it is done, but the protocol
1000 did not convey the information necessary to do so when copying an
1001 empty repository. The protocol v2 learned how to do so.
1002
938 - Looking good, modulo some minor documentation nits.
1003 + Will merge to 'master'.
1004
1005
1006 * mt/parallel-checkout-part-1 (2020-12-16) 9 commits
@@ -954,46 +1019,6 @@ Release tarballs are available at:
1019 Looking good.
1020
1021
957 -* so/log-diff-merge (2020-12-21) 32 commits
958 - (merged to 'next' on 2021-01-25 at 63977ef287)
959 - + t4013: add tests for --diff-merges=first-parent
960 - + doc/git-show: include --diff-merges description
961 - + doc/rev-list-options: document --first-parent changes merges format
962 - + doc/diff-generate-patch: mention new --diff-merges option
963 - + doc/git-log: describe new --diff-merges options
964 - + diff-merges: add '--diff-merges=1' as synonym for 'first-parent'
965 - + diff-merges: add old mnemonic counterparts to --diff-merges
966 - + diff-merges: let new options enable diff without -p
967 - + diff-merges: do not imply -p for new options
968 - + diff-merges: implement new values for --diff-merges
969 - + diff-merges: make -m/-c/--cc explicitly mutually exclusive
970 - + diff-merges: refactor opt settings into separate functions
971 - + diff-merges: get rid of now empty diff_merges_init_revs()
972 - + diff-merges: group diff-merge flags next to each other inside 'rev_info'
973 - + diff-merges: split 'ignore_merges' field
974 - + diff-merges: fix -m to properly override -c/--cc
975 - + t4013: add tests for -m failing to override -c/--cc
976 - + t4013: support test_expect_failure through ':failure' magic
977 - + diff-merges: revise revs->diff flag handling
978 - + diff-merges: handle imply -p on -c/--cc logic for log.c
979 - + diff-merges: introduce revs->first_parent_merges flag
980 - + diff-merges: new function diff_merges_set_dense_combined_if_unset()
981 - + diff-merges: new function diff_merges_suppress()
982 - + diff-merges: re-arrange functions to match the order they are called in
983 - + diff-merges: rename diff_merges_default_to_enable() to match semantics
984 - + diff-merges: move checks for first_parent_only out of the module
985 - + diff-merges: rename all functions to have common prefix
986 - + revision: move diff merges functions to its own diff-merges.c
987 - + revision: provide implementation for diff merges tweaks
988 - + revision: factor out initialization of diff-merge related settings
989 - + revision: factor out setup of diff-merge related settings
990 - + revision: factor out parsing of diff-merge related options
991 -
992 - "git log" learned a new "--diff-merges=<how>" option.
993 -
994 - Will merge to 'master'.
995 -
996 -
1022 * es/config-hooks (2020-12-21) 34 commits
1023 - run-command: stop thinking about hooks
1024 - receive-pack: convert receive hooks to hook.h
@@ -1098,3 +1123,47 @@ Release tarballs are available at:
1123 prepare these files with unconflicted parts already resolved.
1124
1125 Superseded by the sh/mergetool-hideresolved topic.
1126 +
1127 +
1128 +* mt/rm-sparse-checkout (2020-12-08) 11 commits
1129 + . rm: honor sparse checkout patterns
1130 + . t7817: do not depend on any specific default branch name
1131 + . config: add setting to ignore sparsity patterns in some cmds
1132 + . grep: honor sparse checkout patterns
1133 + . config: correctly read worktree configs in submodules
1134 + . config: make do_git_config_sequence receive a 'struct repository'
1135 + . t/helper/test-config: unify exit labels
1136 + . t/helper/test-config: diagnose missing arguments
1137 + . t/helper/test-config: be consistent with exit codes
1138 + . t1308-config-set: avoid false positives when using test-config
1139 + . doc: grep: unify info on configuration variables
1140 +
1141 + "git rm" follows suit to "git grep" to ignore paths outside the
1142 + sparsity pattern when the sparse checkout feature is in use.
1143 +
1144 + Discarded for now, as it depends on an old iteration of
1145 + mt/grep-sparse-checkout topic.
1146 +
1147 +
1148 +* fc/bash-completion-post-2.29 (2020-12-23) 4 commits
1149 + . completion: bash: add correct suffix in variables
1150 + . completion: bash: fix for multiple dash commands
1151 + . completion: bash: fix for suboptions with value
1152 + . completion: bash: fix prefix detection in branch.*
1153 +
1154 + Stalled for too long with breakage.
1155 + Seems to break tests on Windows
1156 +
1157 +
1158 +* ss/submodule-add-in-c (2020-12-15) 3 commits
1159 + . t7400: add test to check 'submodule add' for tracked paths
1160 + . submodule: port submodule subcommand 'add' from shell to C
1161 + . dir: change the scope of function 'directory_exists_in_index()'
1162 +
1163 + "git submodule add" being rewritten in C.
1164 +
1165 + Stalled for too long with breakage.
1166 + The patches are split incorrectly; part of 1/3 belongs to 2/3
1167 + cf. <nycvar.QRO.7.76.6.2012190104140.56@tvgsbejvaqbjf.bet>
1168 + It seems to introduce a segfault on 'seen'.
1169 + cf. <xmqqft3xflw7.fsf@gitster.c.googlers.com>