What's cooking (2020/11 #03)

Junio C Hamano committed Nov 11, 2020 at 14:05 UTC f30bb1958ad789851c67411ee01eca5a394e2b32
1 file changed +398 -459
whats-cooking.txt
+398 -459
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Nov 2020, #02; Mon, 9)
4 -X-master-at: e4d83eee9239207622e2b1cc43967da5051c189c
5 -X-next-at: ecc2c50aac43ae8229607396347f6663b03b4deb
3 +Subject: What's cooking in git.git (Nov 2020, #03; Wed, 11)
4 +X-master-at: e31aba42fb12bdeb0f850829e008e1e3f43af500
5 +X-next-at: 0fa62a7daddba87a59a9564aaffb6655a191a679
6
7 -What's cooking in git.git (Nov 2020, #02; Mon, 9)
7 +What's cooking in git.git (Nov 2020, #03; Wed, 11)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with '-' are
@@ -12,9 +12,7 @@ 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 -The third and fourth batches of topics in this cycle are in 'master' now,
16 -including some microprojects by candidates for the Outreachy
17 -program.
15 +The fifth batch of topics have been merged to 'master'.
16
17 Copies of the source code to Git live in many repositories, and the
18 following is a list of the ones I push into. Some repositories have
@@ -46,216 +44,72 @@ Release tarballs are available at:
44 --------------------------------------------------
45 [Graduated to 'master']
46
49 -* ab/git-remote-exit-code (2020-10-27) 1 commit
50 - (merged to 'next' on 2020-10-30 at 1fc119404b)
51 - + remote: add meaningful exit code on missing/existing
52 -
53 - Exit codes from "git remote add" etc. were not usable by scripted
54 - callers.
55 -
56 -
57 -* as/tests-cleanup (2020-10-18) 1 commit
58 - (merged to 'next' on 2020-10-28 at fd199beb31)
59 - + t2200,t9832: avoid using 'git' upstream in a pipe
60 -
61 - Micro clean-up of a couple of test scripts.
62 -
63 -
64 -* en/dir-rename-tests (2020-10-16) 4 commits
65 - (merged to 'next' on 2020-10-28 at 7bbe123e70)
66 - + t6423: more involved rules for renaming directories into each other
67 - + t6423: update directory rename detection tests with new rule
68 - + t6423: more involved directory rename test
69 - + directory-rename-detection.txt: update references to regression tests
70 - (this branch is used by en/merge-tests.)
71 -
72 - More preliminary tests have been added to document desired outcome
73 - of various "directory rename" situations.
74 -
75 -
76 -* fc/zsh-completion (2020-10-28) 29 commits
77 - (merged to 'next' on 2020-11-02 at 2c5e3a73ad)
78 - + zsh: update copyright notices
79 - + completion: bash: remove old compat wrappers
80 - + completion: bash: cleanup cygwin check
81 - + completion: bash: trivial cleanup
82 - + completion: zsh: add simple version check
83 - + completion: zsh: trivial simplification
84 - + completion: zsh: add alias descriptions
85 - + completion: zsh: improve command tags
86 - + completion: zsh: refactor command completion
87 - + completion: zsh: shuffle functions around
88 - + completion: zsh: simplify file_direct
89 - + completion: zsh: simplify nl_append
90 - + completion: zsh: trivial cleanup
91 - + completion: zsh: simplify direct compadd
92 - + completion: zsh: simplify compadd functions
93 - + completion: zsh: fix splitting of words
94 - + completion: zsh: add missing direct_append
95 - + completion: fix conflict with bashcomp
96 - + completion: zsh: fix completion for --no-.. options
97 - + completion: bash: remove zsh wrapper
98 - + completion: bash: synchronize zsh wrapper
99 - + completion: zsh: fix for command aliasing
100 - + completion: prompt: fix color for Zsh
101 - + completion: zsh: update slave script locations
102 - + completion: zsh: fix for directories with spaces
103 - + completion: zsh: reorganize install instructions
104 - + completion: zsh: fix bash script extension
105 - + completion: zsh: fix name due to broken autoloading
106 - + completion: zsh: fix __gitcomp_direct()
107 -
108 - Zsh autocompletion (in contrib/) update.
109 -
110 -
111 -* jk/checkout-index-errors (2020-10-27) 2 commits
112 - (merged to 'next' on 2020-10-30 at 77dddffe1b)
113 - + checkout-index: propagate errors to exit code
114 - + checkout-index: drop error message from empty --stage=all
115 - (this branch is used by mt/parallel-checkout-part-1.)
116 -
117 - "git checkout-index" did not consistently signal an error with its
118 - exit status.
119 -
120 -
121 -* jk/committer-date-is-author-date-fix-simplify (2020-10-26) 1 commit
122 - (merged to 'next' on 2020-10-30 at 9ba3fad57d)
123 - + am, sequencer: stop parsing our own committer ident
124 -
125 - Code simplification.
126 -
127 -
128 -* jk/perl-warning (2020-10-21) 1 commit
129 - (merged to 'next' on 2020-10-28 at 5fcb98f2ff)
130 - + perl: check for perl warnings while running tests
131 -
132 - Dev support.
133 - cf. <20201022032400.GC1480820@coredump.intra.peff.net>
134 -
135 -
136 -* jk/sideband-more-error-checking (2020-10-29) 1 commit
137 - (merged to 'next' on 2020-10-30 at 8131784691)
138 - + sideband: diagnose more sideband anomalies
139 -
140 - The code to detect premature EOF in the sideband demultiplexer has
141 - been cleaned up.
47 +* cw/ci-ghwf-check-ws-errors (2020-11-03) 1 commit
48 + (merged to 'next' on 2020-11-04 at dc1121823c)
49 + + ci: make the whitespace checker more robust
50
51 + Dev support update.
52
144 -* js/default-branch-name-adjust-t5411 (2020-10-31) 4 commits
145 - (merged to 'next' on 2020-11-02 at d625eda73c)
146 - + t5411: finish preparing for `main` being the default branch name
147 - + t5411: adjust the remaining support files for init.defaultBranch=main
148 - + t5411: start adjusting the support files for init.defaultBranch=main
149 - + t5411: start using the default branch name "main"
53
151 - Prepare a test script to transition of the default branch name to
152 - 'main'.
54 +* jc/abbrev-doc (2020-11-04) 1 commit
55 + (merged to 'next' on 2020-11-09 at 09efe81b8b)
56 + + doc: clarify that --abbrev=<n> is about the minimum length
57
58 + The documentation on the "--abbrev=<n>" option did not say the
59 + output may be longer than "<n>" hexdigits, which has been
60 + clarified.
61
155 -* mr/bisect-in-c-3 (2020-10-16) 7 commits
156 - (merged to 'next' on 2020-10-28 at 435792b62f)
157 - + bisect--helper: retire `--bisect-autostart` subcommand
158 - + bisect--helper: retire `--write-terms` subcommand
159 - + bisect--helper: retire `--check-expected-revs` subcommand
160 - + bisect--helper: reimplement `bisect_state` & `bisect_head` shell functions in C
161 - + bisect--helper: retire `--next-all` subcommand
162 - + bisect--helper: retire `--bisect-clean-state` subcommand
163 - + bisect--helper: finish porting `bisect_start()` to C
62
165 - Rewriting "git bisect" in C continues.
63 +* jc/sequencer-stopped-sha-simplify (2020-10-21) 1 commit
64 + (merged to 'next' on 2020-11-02 at ba3dd9eaf4)
65 + + sequencer: tolerate abbreviated stopped-sha file
66
67 + Recently the format of an internal state file "rebase -i" uses has
68 + been tightened up for consistency, which would hurt those who start
69 + "rebase -i" with old git and then continue with new git. Loosen
70 + the reader side a bit (which we may want to tighten again in a year
71 + or so).
72
168 -* nk/diff-files-vs-fsmonitor (2020-10-20) 7 commits
169 - (merged to 'next' on 2020-10-28 at d3af804056)
170 - + p7519-fsmonitor: add a git add benchmark
171 - + p7519-fsmonitor: refactor to avoid code duplication
172 - + perf lint: add make test-lint to perf tests
173 - + t/perf: add fsmonitor perf test for git diff
174 - + t/perf/p7519-fsmonitor.sh: warm cache on first git status
175 - + t/perf/README: elaborate on output format
176 - + fsmonitor: use fsmonitor data in `git diff`
177 - (this branch is used by nk/perf-fsmonitor.)
73
179 - "git diff" and other commands that share the same machinery to
180 - compare with working tree files have been taught to take advantage
181 - of the fsmonitor data when available.
74 +* js/ci-github-set-env (2020-11-06) 1 commit
75 + (merged to 'next' on 2020-11-09 at c4ce007b4c)
76 + + ci: avoid using the deprecated `set-env` construct
77
78 + CI update.
79
184 -* pb/ref-filter-with-crlf (2020-10-29) 2 commits
185 - (merged to 'next' on 2020-10-30 at 8be77584c5)
186 - + log, show: add tests for messages containing CRLF
187 - + ref-filter: handle CRLF at end-of-line more gracefully
80
189 - A commit and tag object may have CR at the end of each and
190 - every line (you can create such an object with hash-object or
191 - using --cleanup=verbatim to decline the default clean-up
192 - action), but it would make it impossible to have a blank line
193 - to separate the title from the body of the message. Be lenient
194 - and accept a line with lone CR on it as a blank line, too.
81 +* js/p4-default-branch (2020-11-09) 1 commit
82 + (merged to 'next' on 2020-11-09 at a4b08b45da)
83 + + p4: respect init.defaultBranch
84
196 ---------------------------------------------------
197 -[New Topics]
85 + "git p4" now honors init.defaultBranch configuration.
86
199 -* dd/upload-pack-stateless-eof (2020-10-30) 1 commit
200 - (merged to 'next' on 2020-11-09 at 01a1f1d4fd)
201 - + upload-pack: allow stateless client EOF just prior to haves
87
203 - "git fetch --depth=<n>" over the stateless RPC / smart HTTP
204 - transport handled EOF from the client poorly at the server end.
88 +* js/test-file-size (2020-11-06) 1 commit
89 + (merged to 'next' on 2020-11-09 at b3594d0150)
90 + + tests: consolidate the `file_size` function into `test-lib-functions.sh`
91
206 - Will merge to 'master'.
92 + Test clean-up.
93
94
209 -* js/trace2-session-id (2020-11-02) 11 commits
210 - - receive-pack: log received client trace2 SID
211 - - send-pack: advertise trace2 SID in capabilities
212 - - upload-pack, serve: log received client trace2 SID
213 - - fetch-pack: advertise trace2 SID in capabilities
214 - - transport: log received server trace2 SID
215 - - serve: advertise trace2 SID in v2 capabilities
216 - - receive-pack: advertise trace2 SID in v0 capabilities
217 - - upload-pack: advertise trace2 SID in v0 capabilities
218 - - trace2: add a public function for getting the SID
219 - - docs: new trace2.advertiseSID option
220 - - docs: new capability to advertise trace2 SIDs
95 +* js/test-whitespace-fixes (2020-11-09) 6 commits
96 + (merged to 'next' on 2020-11-09 at 383388929a)
97 + + t9603: use tabs for indentation
98 + + t5570: remove trailing padding
99 + + t5400,t5402: consistently indent with tabs, not with spaces
100 + + t3427: adjust stale comment
101 + + t3406: indent with tabs, not spaces
102 + + t1004: insert missing "branch" in a message
103
222 - The transport layer was taught to optionally exchange the session
223 - ID assigned by the trace2 subsystem during fetch/push transactions.
104 + Test code clean-up.
105
106
226 -* so/format-patch-doc-on-default-diff-format (2020-10-31) 1 commit
227 - (merged to 'next' on 2020-11-04 at 692e0b2f7a)
228 - + doc/diff-options: fix out of place mentions of '--patch/-p'
107 +* mc/typofix (2020-11-05) 1 commit
108 + (merged to 'next' on 2020-11-09 at ed6106b6e3)
109 + + doc: fixing two trivial typos in Documentation/
110
111 Docfix.
112
232 - Will merge to 'master'.
233 -
234 -
235 -* jc/sparse-error-for-developer-build (2020-10-31) 1 commit
236 - - Makefile: enable -Wsparse-error for DEVELOPER build
237 -
238 - "make DEVELOPER=1 sparse" used to run sparse and let it emit
239 - warnings; now such warnings will cause an error.
240 -
241 - Will merge to 'next'.
242 -
243 -
244 -* pb/blame-funcname-range-userdiff (2020-11-01) 8 commits
245 - - blame: simplify 'setup_blame_bloom_data' interface
246 - - blame: simplify 'setup_scoreboard' interface
247 - - blame: enable funcname blaming with userdiff driver
248 - - line-log: mention both modes in 'blame' and 'log' short help
249 - - doc: add more pointers to gitattributes(5) for userdiff
250 - - blame-options.txt: also mention 'funcname' in '-L' description
251 - - doc: line-range: improve formatting
252 - - doc: log, gitk: move '-L' description to 'line-range-options.txt'
253 -
254 - "git blame -L :funcname -- path" did not work well for a path for
255 - which a userdiff driver is defined.
256 -
257 - Will merge to 'next'.
258 -
113
114 * rs/clear-commit-marks-in-repo (2020-10-31) 2 commits
115 (merged to 'next' on 2020-11-04 at cb1e1d73cf)
@@ -264,8 +118,6 @@ Release tarballs are available at:
118
119 Code clean-up.
120
267 - Will merge to 'master'.
268 -
121
122 * rs/pack-write-hashwrite-simplify (2020-11-01) 1 commit
123 (merged to 'next' on 2020-11-04 at 7194d3e811)
@@ -273,120 +125,6 @@ Release tarballs are available at:
125
126 Code clean-up.
127
276 - Will merge to 'master'.
277 -
278 -
279 -* sd/prompt-local-variable (2020-11-01) 1 commit
280 - (merged to 'next' on 2020-11-04 at ddc4192867)
281 - + git-prompt.sh: localize `option` in __git_ps1_show_upstream
282 -
283 - Code clean-up.
284 -
285 - Will merge to 'master'.
286 -
287 -
288 -* so/log-diff-merge (2020-11-09) 27 commits
289 - - doc/git-show: include --diff-merges description
290 - - doc/rev-list-options: document --first-parent implies --diff-merges=first-parent
291 - - doc/diff-generate-patch: mention new --diff-merges option
292 - - doc/git-log: describe new --diff-merges options
293 - - t4013: add test for --diff-merges=first-parent
294 - - diff-merges: implement new values for --diff-merges
295 - - diff-merges: make -m/-c/--cc explicitly mutually exclusive
296 - - diff-merges: refactor opt settings into separate functions
297 - - diff-merges: get rid of now empty diff_merges_init_revs()
298 - - diff-merges: group diff-merge flags next to each other inside 'rev_info'
299 - - diff-merges: split 'ignore_merges' field
300 - - diff-merges: fix -m to properly override -c/--cc
301 - - t4013: add tests for -m failing to override -c/--cc
302 - - t4013: support test_expect_failure through ':failure' magic
303 - - diff-merges: revise revs->diff flag handling
304 - - diff-merges: introduce revs->first_parent_merges flag
305 - - diff-merges: new function diff_merges_set_dense_combined_if_unset()
306 - - diff-merges: new function diff_merges_suppress()
307 - - diff-merges: re-arrange functions to match the order they are called in
308 - - diff-merges: rename diff_merges_default_to_enable() to match semantics
309 - - diff-merges: move checks for first_parent_only out of the module
310 - - diff-merges: rename all functions to have common prefix
311 - - revision: move diff merges functions to its own diff-merges.c
312 - - revision: provide implementation for diff merges tweaks
313 - - revision: factor out initialization of diff-merge related settings
314 - - revision: factor out setup of diff-merge related settings
315 - - revision: factor out parsing of diff-merge related options
316 -
317 - "git log" learned a new "--diff-merges=<how>" option.
318 -
319 -
320 -* cw/ci-ghwf-check-ws-errors (2020-11-03) 1 commit
321 - (merged to 'next' on 2020-11-04 at dc1121823c)
322 - + ci: make the whitespace checker more robust
323 -
324 - Dev support update.
325 -
326 - Will merge to 'master'.
327 -
328 -
329 -* ds/maintenance-part-4 (2020-11-04) 4 commits
330 - - maintenance: use Windows scheduled tasks
331 - - maintenance: use launchctl on macOS
332 - - maintenance: include 'cron' details in docs
333 - - maintenance: extract platform-specific scheduling
334 - (this branch uses ds/maintenance-part-3.)
335 -
336 - Follow-up on the "maintenance part-3" which introduced scheduled
337 - maintenance tasks to support platforms whose native scheduling
338 - methods are not 'cron'.
339 -
340 -
341 -* en/merge-ort-impl (2020-11-06) 21 commits
342 - - merge-ort: free data structures in merge_finalize()
343 - - merge-ort: add implementation of record_unmerged_index_entries()
344 - - tree: enable cmp_cache_name_compare() to be used elsewhere
345 - - merge-ort: add implementation of checkout()
346 - - merge-ort: basic outline for merge_switch_to_result()
347 - - merge-ort: step 3 of tree writing -- handling subdirectories as we go
348 - - merge-ort: step 2 of tree writing -- function to create tree object
349 - - merge-ort: step 1 of tree writing -- record basenames, modes, and oids
350 - - merge-ort: have process_entries operate in a defined order
351 - - merge-ort: add a preliminary simple process_entries() implementation
352 - - merge-ort: avoid recursing into identical trees
353 - - merge-ort: record stage and auxiliary info for every path
354 - - merge-ort: compute a few more useful fields for collect_merge_info
355 - - merge-ort: avoid repeating fill_tree_descriptor() on the same tree
356 - - merge-ort: implement a very basic collect_merge_info()
357 - - merge-ort: add an err() function similar to one from merge-recursive
358 - - merge-ort: use histogram diff
359 - - merge-ort: port merge_start() from merge-recursive
360 - - merge-ort: add some high-level algorithm structure
361 - - merge-ort: setup basic internal data structures
362 - - Merge branch 'en/strmap' into en/merge-ort-impl
363 - (this branch uses en/merge-ort-api-null-impl and en/strmap.)
364 -
365 -
366 -* js/default-branch-name-adjust-t5515 (2020-11-02) 4 commits
367 - (merged to 'next' on 2020-11-09 at 568ba5aba5)
368 - + t5515: use `main` as the name of the main branch for testing (conclusion)
369 - + t5515: use `main` as the name of the main branch for testing (part 3)
370 - + t5515: use `main` as the name of the main branch for testing (part 2)
371 - + t5515: use `main` as the name of the main branch for testing (part 1)
372 -
373 - Prepare a test script to transition of the default branch name to
374 - 'main'.
375 -
376 - Will merge to 'master'.
377 -
378 -
379 -* jt/push-with-base (2020-11-02) 5 commits
380 - . SQUASH???
381 - . Doc: push with --base
382 - . remote-curl: teach --base for http(s)://
383 - . push: teach --base for ssh:// and file://
384 - . connect: refactor building of Extra Parameters
385 -
386 - "git push" learns a way to tell an object that it expects the other
387 - side to have and is usable as a common ancestor, which can be used
388 - by the other side to shrink its initial ref advertisement.
389 -
128
129 * rs/worktree-list-show-locked (2020-11-03) 1 commit
130 (merged to 'next' on 2020-11-04 at 5f4fa51a91)
@@ -394,147 +132,124 @@ Release tarballs are available at:
132
133 Typofix.
134
397 - Will merge to 'master'.
398 -
399 -
400 -* jc/abbrev-doc (2020-11-04) 1 commit
401 - (merged to 'next' on 2020-11-09 at 09efe81b8b)
402 - + doc: clarify that --abbrev=<n> is about the minimum length
403 -
404 - The documentation on the "--abbrev=<n>" option did not say the
405 - output may be longer than "<n>" hexdigits, which has been
406 - clarified.
407 -
408 - Will merge to 'master'.
409 -
410 -
411 -* jc/line-log-takes-no-pathspec (2020-11-04) 1 commit
412 - (merged to 'next' on 2020-11-09 at 47c2c88b9d)
413 - + log: diagnose -L used with pathspec as an error
414 -
415 - "git log -L<range>:<path>" is documented to take no pathspec, but
416 - this was not enforced by the command line option parser, which has
417 - been corrected.
418 -
419 - Will merge to 'master'.
420 -
421 -
422 -* jk/format-patch-output (2020-11-04) 3 commits
423 - (merged to 'next' on 2020-11-09 at 1f1bb6ebff)
424 - + format-patch: support --output option
425 - + format-patch: tie file-opening logic to output_directory
426 - + format-patch: refactor output selection
427 -
428 - "git format-patch --output=there" did not work as expected and
429 - instead crashed. The option is now supported.
430 -
431 - Will merge to 'master'.
432 -
433 -
434 -* rs/empty-reflog-check-fix (2020-11-01) 1 commit
435 - (merged to 'next' on 2020-11-09 at 3da6b6fef0)
436 - + stash: simplify reflog emptiness check
437 -
438 - The code to see if "git stash drop" can safely remove refs/stash
439 - has been made more carerful.
440 -
441 - Will merge to 'master'.
442 -
443 -
444 -* mc/typofix (2020-11-05) 1 commit
445 - (merged to 'next' on 2020-11-09 at ed6106b6e3)
446 - + doc: fixing two trivial typos in Documentation/
447 -
448 - Docfix.
449 -
450 - Will merge to 'master'.
451 -
452 -
453 -* jc/format-patch-name-max (2020-11-06) 1 commit
454 - - format-patch: make output filename configurable
455 -
456 - The maximum length of output filenames "git format-patch" creates
457 - has become configurable (used to be capped at 64).
458 -
459 - Will merge to 'next'?
460 -
461 -
462 -* jk/diff-release-filespec-fix (2020-11-06) 1 commit
463 - (merged to 'next' on 2020-11-09 at 6d89b9602d)
464 - + diff: allow passing NULL to diff_free_filespec_data()
465 -
466 - Running "git diff" while allowing external diff in a state with
467 - unmerged paths used to segfault, which has been corrected.
468 -
469 - Will merge to 'master'.
470 -
471 -
472 -* js/ci-github-set-env (2020-11-06) 1 commit
473 - (merged to 'next' on 2020-11-09 at c4ce007b4c)
474 - + ci: avoid using the deprecated `set-env` construct
475 -
476 - CI update.
477 -
478 - Will merge to 'master'.
135
136 +* sd/prompt-local-variable (2020-11-01) 1 commit
137 + (merged to 'next' on 2020-11-04 at ddc4192867)
138 + + git-prompt.sh: localize `option` in __git_ps1_show_upstream
139
481 -* js/test-file-size (2020-11-06) 1 commit
482 - (merged to 'next' on 2020-11-09 at b3594d0150)
483 - + tests: consolidate the `file_size` function into `test-lib-functions.sh`
140 + Code clean-up.
141
485 - Test clean-up.
142
487 - Will merge to 'master'.
143 +* so/format-patch-doc-on-default-diff-format (2020-10-31) 1 commit
144 + (merged to 'next' on 2020-11-04 at 692e0b2f7a)
145 + + doc/diff-options: fix out of place mentions of '--patch/-p'
146
147 + Docfix.
148
490 -* jx/t5411-flake-fix (2020-11-09) 1 commit
491 - . t5411: consistent result for proc-receive broken test
149 +--------------------------------------------------
150 +[New Topics]
151
493 - A flakey test has been cleaned up.
152 +* ps/update-ref-multi-transaction (2020-11-10) 4 commits
153 + - update-ref: disallow "start" for ongoing transactions
154 + - p1400: use `git-update-ref --stdin` to test multiple transactions
155 + - update-ref: allow creation of multiple transactions
156 + - t1400: avoid touching refs on filesystem
157
495 - This merely is sweeping an underlying breakage under the rug.
496 - cf. <20201109231246.GA677345@coredump.intra.peff.net>
158 + "git update-ref --stdin" learns to take multiple transactions in a
159 + single session.
160
161
499 -* dg/bswap-msvc (2020-11-09) 1 commit
500 - (merged to 'next' on 2020-11-09 at 91a67b86f7)
501 - + compat/bswap.h: simplify MSVC endianness detection
162 +* fc/bash-completion-alias-of-alias (2020-11-09) 2 commits
163 + (merged to 'next' on 2020-11-10 at 75f1f2b8a8)
164 + + completion: bash: check for alias loop
165 + + completion: bash: support recursive aliases
166
503 - Code simplification.
167 + The command line completion script (in contrib/) learned to expand
168 + commands that are alias of alias.
169
170 Will merge to 'master'.
171
172
508 -* js/p4-default-branch (2020-11-09) 1 commit
509 - (merged to 'next' on 2020-11-09 at a4b08b45da)
510 - + p4: respect init.defaultBranch
173 +* jc/blame-ignore-fix (2020-11-10) 1 commit
174 + (merged to 'next' on 2020-11-10 at 384ace449d)
175 + + blame: silently ignore invalid ignore file objects
176
512 - "git p4" now honors init.defaultBranch configuration.
177 + "git blame --ignore-revs-file=<file>" learned to ignore a
178 + non-existent object name in the input, instead of complaining.
179
180 Will merge to 'master'.
181
182
517 -* js/test-whitespace-fixes (2020-11-09) 6 commits
518 - (merged to 'next' on 2020-11-09 at 383388929a)
519 - + t9603: use tabs for indentation
520 - + t5570: remove trailing padding
521 - + t5400,t5402: consistently indent with tabs, not with spaces
522 - + t3427: adjust stale comment
523 - + t3406: indent with tabs, not spaces
524 - + t1004: insert missing "branch" in a message
183 +* jk/rev-parse-end-of-options (2020-11-10) 3 commits
184 + (merged to 'next' on 2020-11-11 at 2d517d1608)
185 + + rev-parse: handle --end-of-options
186 + + rev-parse: put all options under the "-" check
187 + + rev-parse: don't accept options after dashdash
188
526 - Test code clean-up.
189 + "git rev-parse" learned the "--end-of-options" to help scripts to
190 + safely take a parameter that is supposed to be a revision, e.g.
191 + "git rev-parse --verify -q --end-of-options $rev".
192
193 Will merge to 'master'.
194
195
531 -* rs/archive-high-compression (2020-11-09) 1 commit
532 - - archive: support compression levels beyond 9
533 -
534 - "git archive" now allows compression level higher than "-9"
535 - when generating tar.gz output.
536 -
537 - Will merge to 'next'?
196 +* fc/bash-completion-post-2.29 (2020-11-10) 26 commits
197 + - completion: bash: shuffle __gitcomp functions
198 + - completion: bash: cleanup __gitcomp* invocations
199 + - completion: bash: add __gitcomp_opts
200 + - completion: bash: improve __gitcomp description
201 + - completion: bash: rename _get_comp_words_by_ref()
202 + - completion: bash: trivial cleanup
203 + - completion: bash: cleanup _get_comp_words_by_ref()
204 + - completion: bash: refactor _get_comp_words_by_ref()
205 + - completion: bash: simplify _get_comp_words_by_ref()
206 + - test: completion: switch __gitcomp_nl prefix test
207 + - completion: bash: simplify config_variable_name
208 + - completion: bash: improve __gitcomp suffix code
209 + - completion: bash: change suffix check in __gitcomp
210 + - completion: bash: simplify __gitcomp
211 + - completion: bash: refactor __gitcomp
212 + - completion: bash: simplify equal suffix check
213 + - completion: bash: factor out check in __gitcomp
214 + - completion: bash: get rid of any non-append code
215 + - completion: bash: get rid of _append() functions
216 + - completion: bash: remove non-append functionality
217 + - test: completion: add run_func() helper
218 + - test: completion: fix currently typed words
219 + - completion: bash: do not modify COMP_WORDBREAKS
220 + - completion: bash: fix for suboptions with value
221 + - completion: bash: add correct suffix in variables
222 + - completion: bash: fix prefix detection in branch.*
223 +
224 +
225 +* js/add-i-color-fix (2020-11-11) 11 commits
226 + - add -i: verify in the tests that colors can be overridden
227 + - add -p: prefer color.diff.context over color.diff.plain
228 + - add -i (Perl version): include indentation in the colored header
229 + - add -i (built-in): use the same indentation as the Perl version
230 + - add -p (built-in): do not color the progress indicator separately
231 + - add -i (built-in): use correct names to load color.diff.* config
232 + - add -i (built-in): prevent the `reset` "color" from being configured
233 + - add -i: use `reset_color` consistently
234 + - add -p (built-in): imitate `xdl_format_hunk_hdr()` generating hunk headers
235 + - add -i (built-in): send error messages to stderr
236 + - add -i (built-in): do show an error message for incorrect inputs
237 +
238 + "git add -i" failed to honor custom colors configured to show
239 + patches, which has been corrected.
240 +
241 + The last step may want to be polished further.
242 + cf. <20201111023549.GB806755@coredump.intra.peff.net>
243 +
244 +
245 +* ab/config-mak-uname-simplify (2020-11-11) 2 commits
246 + - config.mak.uname: remove unused NEEDS_SSL_WITH_CURL flag
247 + - config.mak.uname: remove unused the NO_R_TO_GCC_LINKER flag
248 +
249 +
250 +* pd/mergetool-nvimdiff (2020-11-11) 2 commits
251 + - mergetool: avoid letting `list_tool_variants` break user-defined setups
252 + - mergetools/bc: add `bc4` to the alias list for Beyond Compare
253
254 --------------------------------------------------
255 [Stalled]
@@ -744,6 +459,228 @@ Release tarballs are available at:
459 --------------------------------------------------
460 [Cooking]
461
462 +* dd/upload-pack-stateless-eof (2020-10-30) 1 commit
463 + (merged to 'next' on 2020-11-09 at 01a1f1d4fd)
464 + + upload-pack: allow stateless client EOF just prior to haves
465 +
466 + "git fetch --depth=<n>" over the stateless RPC / smart HTTP
467 + transport handled EOF from the client poorly at the server end.
468 +
469 + Will merge to 'master'.
470 +
471 +
472 +* js/trace2-session-id (2020-11-02) 11 commits
473 + - receive-pack: log received client trace2 SID
474 + - send-pack: advertise trace2 SID in capabilities
475 + - upload-pack, serve: log received client trace2 SID
476 + - fetch-pack: advertise trace2 SID in capabilities
477 + - transport: log received server trace2 SID
478 + - serve: advertise trace2 SID in v2 capabilities
479 + - receive-pack: advertise trace2 SID in v0 capabilities
480 + - upload-pack: advertise trace2 SID in v0 capabilities
481 + - trace2: add a public function for getting the SID
482 + - docs: new trace2.advertiseSID option
483 + - docs: new capability to advertise trace2 SIDs
484 +
485 + The transport layer was taught to optionally exchange the session
486 + ID assigned by the trace2 subsystem during fetch/push transactions.
487 +
488 +
489 +* jc/sparse-error-for-developer-build (2020-10-31) 1 commit
490 + (merged to 'next' on 2020-11-10 at 8cfbe66736)
491 + + Makefile: enable -Wsparse-error for DEVELOPER build
492 +
493 + "make DEVELOPER=1 sparse" used to run sparse and let it emit
494 + warnings; now such warnings will cause an error.
495 +
496 + Will merge to 'master'.
497 +
498 +
499 +* pb/blame-funcname-range-userdiff (2020-11-01) 8 commits
500 + (merged to 'next' on 2020-11-10 at 221bb3f773)
501 + + blame: simplify 'setup_blame_bloom_data' interface
502 + + blame: simplify 'setup_scoreboard' interface
503 + + blame: enable funcname blaming with userdiff driver
504 + + line-log: mention both modes in 'blame' and 'log' short help
505 + + doc: add more pointers to gitattributes(5) for userdiff
506 + + blame-options.txt: also mention 'funcname' in '-L' description
507 + + doc: line-range: improve formatting
508 + + doc: log, gitk: move '-L' description to 'line-range-options.txt'
509 +
510 + "git blame -L :funcname -- path" did not work well for a path for
511 + which a userdiff driver is defined.
512 +
513 + Will merge to 'master'.
514 +
515 +
516 +* so/log-diff-merge (2020-11-09) 27 commits
517 + - doc/git-show: include --diff-merges description
518 + - doc/rev-list-options: document --first-parent implies --diff-merges=first-parent
519 + - doc/diff-generate-patch: mention new --diff-merges option
520 + - doc/git-log: describe new --diff-merges options
521 + - t4013: add test for --diff-merges=first-parent
522 + - diff-merges: implement new values for --diff-merges
523 + - diff-merges: make -m/-c/--cc explicitly mutually exclusive
524 + - diff-merges: refactor opt settings into separate functions
525 + - diff-merges: get rid of now empty diff_merges_init_revs()
526 + - diff-merges: group diff-merge flags next to each other inside 'rev_info'
527 + - diff-merges: split 'ignore_merges' field
528 + - diff-merges: fix -m to properly override -c/--cc
529 + - t4013: add tests for -m failing to override -c/--cc
530 + - t4013: support test_expect_failure through ':failure' magic
531 + - diff-merges: revise revs->diff flag handling
532 + - diff-merges: introduce revs->first_parent_merges flag
533 + - diff-merges: new function diff_merges_set_dense_combined_if_unset()
534 + - diff-merges: new function diff_merges_suppress()
535 + - diff-merges: re-arrange functions to match the order they are called in
536 + - diff-merges: rename diff_merges_default_to_enable() to match semantics
537 + - diff-merges: move checks for first_parent_only out of the module
538 + - diff-merges: rename all functions to have common prefix
539 + - revision: move diff merges functions to its own diff-merges.c
540 + - revision: provide implementation for diff merges tweaks
541 + - revision: factor out initialization of diff-merge related settings
542 + - revision: factor out setup of diff-merge related settings
543 + - revision: factor out parsing of diff-merge related options
544 +
545 + "git log" learned a new "--diff-merges=<how>" option.
546 +
547 +
548 +* ds/maintenance-part-4 (2020-11-04) 4 commits
549 + - maintenance: use Windows scheduled tasks
550 + - maintenance: use launchctl on macOS
551 + - maintenance: include 'cron' details in docs
552 + - maintenance: extract platform-specific scheduling
553 + (this branch uses ds/maintenance-part-3.)
554 +
555 + Follow-up on the "maintenance part-3" which introduced scheduled
556 + maintenance tasks to support platforms whose native scheduling
557 + methods are not 'cron'.
558 +
559 +
560 +* en/merge-ort-impl (2020-11-11) 21 commits
561 + - merge-ort: free data structures in merge_finalize()
562 + - merge-ort: add implementation of record_unmerged_index_entries()
563 + - tree: enable cmp_cache_name_compare() to be used elsewhere
564 + - merge-ort: add implementation of checkout()
565 + - merge-ort: basic outline for merge_switch_to_result()
566 + - merge-ort: step 3 of tree writing -- handling subdirectories as we go
567 + - merge-ort: step 2 of tree writing -- function to create tree object
568 + - merge-ort: step 1 of tree writing -- record basenames, modes, and oids
569 + - merge-ort: have process_entries operate in a defined order
570 + - merge-ort: add a preliminary simple process_entries() implementation
571 + - merge-ort: avoid recursing into identical trees
572 + - merge-ort: record stage and auxiliary info for every path
573 + - merge-ort: compute a few more useful fields for collect_merge_info
574 + - merge-ort: avoid repeating fill_tree_descriptor() on the same tree
575 + - merge-ort: implement a very basic collect_merge_info()
576 + - merge-ort: add an err() function similar to one from merge-recursive
577 + - merge-ort: use histogram diff
578 + - merge-ort: port merge_start() from merge-recursive
579 + - merge-ort: add some high-level algorithm structure
580 + - merge-ort: setup basic internal data structures
581 + - Merge branch 'en/strmap' into en/merge-ort-impl
582 + (this branch uses en/merge-ort-api-null-impl and en/strmap.)
583 +
584 +
585 +* js/default-branch-name-adjust-t5515 (2020-11-02) 4 commits
586 + (merged to 'next' on 2020-11-09 at 568ba5aba5)
587 + + t5515: use `main` as the name of the main branch for testing (conclusion)
588 + + t5515: use `main` as the name of the main branch for testing (part 3)
589 + + t5515: use `main` as the name of the main branch for testing (part 2)
590 + + t5515: use `main` as the name of the main branch for testing (part 1)
591 +
592 + Prepare a test script to transition of the default branch name to
593 + 'main'.
594 +
595 + Will merge to 'master'.
596 +
597 +
598 +* jc/line-log-takes-no-pathspec (2020-11-04) 1 commit
599 + (merged to 'next' on 2020-11-09 at 47c2c88b9d)
600 + + log: diagnose -L used with pathspec as an error
601 +
602 + "git log -L<range>:<path>" is documented to take no pathspec, but
603 + this was not enforced by the command line option parser, which has
604 + been corrected.
605 +
606 + Will merge to 'master'.
607 +
608 +
609 +* jk/format-patch-output (2020-11-04) 3 commits
610 + (merged to 'next' on 2020-11-09 at 1f1bb6ebff)
611 + + format-patch: support --output option
612 + + format-patch: tie file-opening logic to output_directory
613 + + format-patch: refactor output selection
614 +
615 + "git format-patch --output=there" did not work as expected and
616 + instead crashed. The option is now supported.
617 +
618 + Will merge to 'master'.
619 +
620 +
621 +* rs/empty-reflog-check-fix (2020-11-01) 1 commit
622 + (merged to 'next' on 2020-11-09 at 3da6b6fef0)
623 + + stash: simplify reflog emptiness check
624 +
625 + The code to see if "git stash drop" can safely remove refs/stash
626 + has been made more carerful.
627 +
628 + Will merge to 'master'.
629 +
630 +
631 +* jc/format-patch-name-max (2020-11-09) 1 commit
632 + (merged to 'next' on 2020-11-11 at 17e19bb17a)
633 + + format-patch: make output filename configurable
634 +
635 + The maximum length of output filenames "git format-patch" creates
636 + has become configurable (used to be capped at 64).
637 +
638 + Will merge to 'master'.
639 +
640 +
641 +* jk/diff-release-filespec-fix (2020-11-11) 2 commits
642 + - t7800: simplify difftool test
643 + (merged to 'next' on 2020-11-09 at 6d89b9602d)
644 + + diff: allow passing NULL to diff_free_filespec_data()
645 +
646 + Running "git diff" while allowing external diff in a state with
647 + unmerged paths used to segfault, which has been corrected.
648 +
649 + Will merge to 'next'.
650 +
651 +
652 +* jx/t5411-flake-fix (2020-11-11) 3 commits
653 + - receive-pack: use default version 0 for proc-receive
654 + - receive-pack: gently write messages to proc-receive
655 + - t5411: new helper filter_out_user_friendly_and_stable_output
656 +
657 + The exchange between receive-pack and proc-receive hook did not
658 + carefully check for errors.
659 +
660 + Will merge to 'next'?
661 +
662 +
663 +* dg/bswap-msvc (2020-11-11) 2 commits
664 + (merged to 'next' on 2020-11-11 at 6b9e819b17)
665 + + compat/bswap.h: don't assume MSVC is little-endian
666 + (merged to 'next' on 2020-11-09 at 91a67b86f7)
667 + + compat/bswap.h: simplify MSVC endianness detection
668 +
669 + Code simplification.
670 +
671 + Will merge to 'master'.
672 +
673 +
674 +* rs/archive-high-compression (2020-11-09) 1 commit
675 + (merged to 'next' on 2020-11-10 at 9bee80950e)
676 + + archive: support compression levels beyond 9
677 +
678 + "git archive" now allows compression level higher than "-9"
679 + when generating tar.gz output.
680 +
681 + Will merge to 'master'.
682 +
683 +
684 * av/fsmonitor-cleanup (2020-10-21) 2 commits
685 - fsmonitor: make output of test-dump-fsmonitor more concise
686 - fsmonitor: stop inline'ing mark_fsmonitor_valid / _invalid
@@ -755,29 +692,17 @@ Release tarballs are available at:
692 cf. <20201022183822.GA781760@nand.local>
693
694
758 -* jc/sequencer-stopped-sha-simplify (2020-10-21) 1 commit
759 - (merged to 'next' on 2020-11-02 at ba3dd9eaf4)
760 - + sequencer: tolerate abbreviated stopped-sha file
761 -
762 - Recently the format of an internal state file "rebase -i" uses has
763 - been tightened up for consistency, which would hurt those who start
764 - "rebase -i" with old git and then continue with new git. Loosen
765 - the reader side a bit (which we may want to tighten again in a year
766 - or so).
767 -
768 - Will merge to 'master'
769 -
770 -
695 * en/merge-ort-api-null-impl (2020-11-02) 4 commits
772 - - merge,rebase,revert: select ort or recursive by config or environment
773 - - fast-rebase: demonstrate merge-ort's API via new test-tool command
774 - - merge-ort-wrappers: new convience wrappers to mimic the old merge API
775 - - merge-ort: barebones API of new merge strategy with empty implementation
696 + (merged to 'next' on 2020-11-10 at ed9eed1558)
697 + + merge,rebase,revert: select ort or recursive by config or environment
698 + + fast-rebase: demonstrate merge-ort's API via new test-tool command
699 + + merge-ort-wrappers: new convience wrappers to mimic the old merge API
700 + + merge-ort: barebones API of new merge strategy with empty implementation
701 (this branch is used by en/merge-ort-impl.)
702
703 Preparation for a new merge strategy.
704
780 - Will merge to 'next'.
705 + Will merge to 'master'.
706
707
708 * en/merge-tests (2020-10-26) 9 commits
@@ -828,18 +753,19 @@ Release tarballs are available at:
753
754
755 * pw/rebase-i-orig-head (2020-11-04) 4 commits
831 - - rebase -i: simplify get_revision_ranges()
832 - - rebase -i: use struct object_id when writing state
833 - - rebase -i: use struct object_id rather than looking up commit
834 - - rebase -i: stop overwriting ORIG_HEAD buffer
756 + (merged to 'next' on 2020-11-10 at 038a5295f5)
757 + + rebase -i: simplify get_revision_ranges()
758 + + rebase -i: use struct object_id when writing state
759 + + rebase -i: use struct object_id rather than looking up commit
760 + + rebase -i: stop overwriting ORIG_HEAD buffer
761
762 "git rebase -i" did not store ORIG_HEAD correctly.
763
838 - Will merge to 'next'.
764 + Will merge to 'master'.
765 cf. <xmqq7drbbcj5.fsf@gitster.c.googlers.com>
766
767
842 -* en/strmap (2020-11-06) 15 commits
768 +* en/strmap (2020-11-11) 15 commits
769 - shortlog: use strset from strmap.h
770 - Use new HASHMAP_INIT macro to simplify hashmap initialization
771 - strmap: take advantage of FLEXPTR_ALLOC_STR when relevant
@@ -860,7 +786,7 @@ Release tarballs are available at:
786 A speciailization of hashmap that uses a string as key has been
787 introduced. Hopefully it will see wider use over time.
788
863 - Will merge to 'next'?
789 + Will merge to 'next'.
790
791
792 * jk/symlinked-dotgitx-files (2020-10-23) 9 commits
@@ -909,20 +835,21 @@ Release tarballs are available at:
835
836
837 * ds/maintenance-part-3 (2020-10-16) 8 commits
912 - - maintenance: add troubleshooting guide to docs
913 - - maintenance: use 'incremental' strategy by default
914 - - maintenance: create maintenance.strategy config
915 - - maintenance: add start/stop subcommands
916 - - maintenance: add [un]register subcommands
917 - - for-each-repo: run subcommands on configured repos
918 - - maintenance: add --schedule option and config
919 - - maintenance: optionally skip --auto process
838 + (merged to 'next' on 2020-11-10 at fe9475c696)
839 + + maintenance: add troubleshooting guide to docs
840 + + maintenance: use 'incremental' strategy by default
841 + + maintenance: create maintenance.strategy config
842 + + maintenance: add start/stop subcommands
843 + + maintenance: add [un]register subcommands
844 + + for-each-repo: run subcommands on configured repos
845 + + maintenance: add --schedule option and config
846 + + maintenance: optionally skip --auto process
847 (this branch is used by ds/maintenance-part-4.)
848
849 Parts of "git maintenance" to ease writing crontab entries (and
850 other scheduling system configuration) for it.
851
925 - Will merge to 'next'?
852 + Will merge to 'master'.
853
854 --------------------------------------------------
855 [Discarded]
@@ -931,3 +858,15 @@ Release tarballs are available at:
858 . shortlog: drop custom strset implementation
859
860 Now a part of the en/strmap topic.
861 +
862 +
863 +* jt/push-with-base (2020-11-02) 5 commits
864 + . SQUASH???
865 + . Doc: push with --base
866 + . remote-curl: teach --base for http(s)://
867 + . push: teach --base for ssh:// and file://
868 + . connect: refactor building of Extra Parameters
869 +
870 + "git push" learns a way to tell an object that it expects the other
871 + side to have and is usable as a common ancestor, which can be used
872 + by the other side to shrink its initial ref advertisement.