diff --git a/whats-cooking.txt b/whats-cooking.txt
index 4ffda65..3385260 100644
--- a/whats-cooking.txt
+++ b/whats-cooking.txt
@@ -1,10 +1,10 @@
 To: git@vger.kernel.org
 Bcc: lwn@lwn.net
-Subject: What's cooking in git.git (Nov 2020, #02; Mon, 9)
-X-master-at: e4d83eee9239207622e2b1cc43967da5051c189c
-X-next-at: ecc2c50aac43ae8229607396347f6663b03b4deb
+Subject: What's cooking in git.git (Nov 2020, #03; Wed, 11)
+X-master-at: e31aba42fb12bdeb0f850829e008e1e3f43af500
+X-next-at: 0fa62a7daddba87a59a9564aaffb6655a191a679
 
-What's cooking in git.git (Nov 2020, #02; Mon, 9)
+What's cooking in git.git (Nov 2020, #03; Wed, 11)
 --------------------------------------------------
 
 Here are the topics that have been cooking.  Commits prefixed with '-' are
@@ -12,9 +12,7 @@
 with '+' are in 'next'.  The ones marked with '.' do not appear in any of
 the integration branches, but I am still holding onto them.
 
-The third and fourth batches of topics in this cycle are in 'master' now,
-including some microprojects by candidates for the Outreachy
-program.
+The fifth batch of topics have been merged to 'master'.
 
 Copies of the source code to Git live in many repositories, and the
 following is a list of the ones I push into.  Some repositories have
@@ -46,356 +44,12 @@
 --------------------------------------------------
 [Graduated to 'master']
 
-* ab/git-remote-exit-code (2020-10-27) 1 commit
-  (merged to 'next' on 2020-10-30 at 1fc119404b)
- + remote: add meaningful exit code on missing/existing
-
- Exit codes from "git remote add" etc. were not usable by scripted
- callers.
-
-
-* as/tests-cleanup (2020-10-18) 1 commit
-  (merged to 'next' on 2020-10-28 at fd199beb31)
- + t2200,t9832: avoid using 'git' upstream in a pipe
-
- Micro clean-up of a couple of test scripts.
-
-
-* en/dir-rename-tests (2020-10-16) 4 commits
-  (merged to 'next' on 2020-10-28 at 7bbe123e70)
- + t6423: more involved rules for renaming directories into each other
- + t6423: update directory rename detection tests with new rule
- + t6423: more involved directory rename test
- + directory-rename-detection.txt: update references to regression tests
- (this branch is used by en/merge-tests.)
-
- More preliminary tests have been added to document desired outcome
- of various "directory rename" situations.
-
-
-* fc/zsh-completion (2020-10-28) 29 commits
-  (merged to 'next' on 2020-11-02 at 2c5e3a73ad)
- + zsh: update copyright notices
- + completion: bash: remove old compat wrappers
- + completion: bash: cleanup cygwin check
- + completion: bash: trivial cleanup
- + completion: zsh: add simple version check
- + completion: zsh: trivial simplification
- + completion: zsh: add alias descriptions
- + completion: zsh: improve command tags
- + completion: zsh: refactor command completion
- + completion: zsh: shuffle functions around
- + completion: zsh: simplify file_direct
- + completion: zsh: simplify nl_append
- + completion: zsh: trivial cleanup
- + completion: zsh: simplify direct compadd
- + completion: zsh: simplify compadd functions
- + completion: zsh: fix splitting of words
- + completion: zsh: add missing direct_append
- + completion: fix conflict with bashcomp
- + completion: zsh: fix completion for --no-.. options
- + completion: bash: remove zsh wrapper
- + completion: bash: synchronize zsh wrapper
- + completion: zsh: fix for command aliasing
- + completion: prompt: fix color for Zsh
- + completion: zsh: update slave script locations
- + completion: zsh: fix for directories with spaces
- + completion: zsh: reorganize install instructions
- + completion: zsh: fix bash script extension
- + completion: zsh: fix name due to broken autoloading
- + completion: zsh: fix __gitcomp_direct()
-
- Zsh autocompletion (in contrib/) update.
-
-
-* jk/checkout-index-errors (2020-10-27) 2 commits
-  (merged to 'next' on 2020-10-30 at 77dddffe1b)
- + checkout-index: propagate errors to exit code
- + checkout-index: drop error message from empty --stage=all
- (this branch is used by mt/parallel-checkout-part-1.)
-
- "git checkout-index" did not consistently signal an error with its
- exit status.
-
-
-* jk/committer-date-is-author-date-fix-simplify (2020-10-26) 1 commit
-  (merged to 'next' on 2020-10-30 at 9ba3fad57d)
- + am, sequencer: stop parsing our own committer ident
-
- Code simplification.
-
-
-* jk/perl-warning (2020-10-21) 1 commit
-  (merged to 'next' on 2020-10-28 at 5fcb98f2ff)
- + perl: check for perl warnings while running tests
-
- Dev support.
- cf. <20201022032400.GC1480820@coredump.intra.peff.net>
-
-
-* jk/sideband-more-error-checking (2020-10-29) 1 commit
-  (merged to 'next' on 2020-10-30 at 8131784691)
- + sideband: diagnose more sideband anomalies
-
- The code to detect premature EOF in the sideband demultiplexer has
- been cleaned up.
-
-
-* js/default-branch-name-adjust-t5411 (2020-10-31) 4 commits
-  (merged to 'next' on 2020-11-02 at d625eda73c)
- + t5411: finish preparing for `main` being the default branch name
- + t5411: adjust the remaining support files for init.defaultBranch=main
- + t5411: start adjusting the support files for init.defaultBranch=main
- + t5411: start using the default branch name "main"
-
- Prepare a test script to transition of the default branch name to
- 'main'.
-
-
-* mr/bisect-in-c-3 (2020-10-16) 7 commits
-  (merged to 'next' on 2020-10-28 at 435792b62f)
- + bisect--helper: retire `--bisect-autostart` subcommand
- + bisect--helper: retire `--write-terms` subcommand
- + bisect--helper: retire `--check-expected-revs` subcommand
- + bisect--helper: reimplement `bisect_state` & `bisect_head` shell functions in C
- + bisect--helper: retire `--next-all` subcommand
- + bisect--helper: retire `--bisect-clean-state` subcommand
- + bisect--helper: finish porting `bisect_start()` to C
-
- Rewriting "git bisect" in C continues.
-
-
-* nk/diff-files-vs-fsmonitor (2020-10-20) 7 commits
-  (merged to 'next' on 2020-10-28 at d3af804056)
- + p7519-fsmonitor: add a git add benchmark
- + p7519-fsmonitor: refactor to avoid code duplication
- + perf lint: add make test-lint to perf tests
- + t/perf: add fsmonitor perf test for git diff
- + t/perf/p7519-fsmonitor.sh: warm cache on first git status
- + t/perf/README: elaborate on output format
- + fsmonitor: use fsmonitor data in `git diff`
- (this branch is used by nk/perf-fsmonitor.)
-
- "git diff" and other commands that share the same machinery to
- compare with working tree files have been taught to take advantage
- of the fsmonitor data when available.
-
-
-* pb/ref-filter-with-crlf (2020-10-29) 2 commits
-  (merged to 'next' on 2020-10-30 at 8be77584c5)
- + log, show: add tests for messages containing CRLF
- + ref-filter: handle CRLF at end-of-line more gracefully
-
- A commit and tag object may have CR at the end of each and
- every line (you can create such an object with hash-object or
- using --cleanup=verbatim to decline the default clean-up
- action), but it would make it impossible to have a blank line
- to separate the title from the body of the message.  Be lenient
- and accept a line with lone CR on it as a blank line, too.
-
---------------------------------------------------
-[New Topics]
-
-* dd/upload-pack-stateless-eof (2020-10-30) 1 commit
-  (merged to 'next' on 2020-11-09 at 01a1f1d4fd)
- + upload-pack: allow stateless client EOF just prior to haves
-
- "git fetch --depth=<n>" over the stateless RPC / smart HTTP
- transport handled EOF from the client poorly at the server end.
-
- Will merge to 'master'.
-
-
-* js/trace2-session-id (2020-11-02) 11 commits
- - receive-pack: log received client trace2 SID
- - send-pack: advertise trace2 SID in capabilities
- - upload-pack, serve: log received client trace2 SID
- - fetch-pack: advertise trace2 SID in capabilities
- - transport: log received server trace2 SID
- - serve: advertise trace2 SID in v2 capabilities
- - receive-pack: advertise trace2 SID in v0 capabilities
- - upload-pack: advertise trace2 SID in v0 capabilities
- - trace2: add a public function for getting the SID
- - docs: new trace2.advertiseSID option
- - docs: new capability to advertise trace2 SIDs
-
- The transport layer was taught to optionally exchange the session
- ID assigned by the trace2 subsystem during fetch/push transactions.
-
-
-* so/format-patch-doc-on-default-diff-format (2020-10-31) 1 commit
-  (merged to 'next' on 2020-11-04 at 692e0b2f7a)
- + doc/diff-options: fix out of place mentions of '--patch/-p'
-
- Docfix.
-
- Will merge to 'master'.
-
-
-* jc/sparse-error-for-developer-build (2020-10-31) 1 commit
- - Makefile: enable -Wsparse-error for DEVELOPER build
-
- "make DEVELOPER=1 sparse" used to run sparse and let it emit
- warnings; now such warnings will cause an error.
-
- Will merge to 'next'.
-
-
-* pb/blame-funcname-range-userdiff (2020-11-01) 8 commits
- - blame: simplify 'setup_blame_bloom_data' interface
- - blame: simplify 'setup_scoreboard' interface
- - blame: enable funcname blaming with userdiff driver
- - line-log: mention both modes in 'blame' and 'log' short help
- - doc: add more pointers to gitattributes(5) for userdiff
- - blame-options.txt: also mention 'funcname' in '-L' description
- - doc: line-range: improve formatting
- - doc: log, gitk: move '-L' description to 'line-range-options.txt'
-
- "git blame -L :funcname -- path" did not work well for a path for
- which a userdiff driver is defined.
-
- Will merge to 'next'.
-
-
-* rs/clear-commit-marks-in-repo (2020-10-31) 2 commits
-  (merged to 'next' on 2020-11-04 at cb1e1d73cf)
- + bisect: clear flags in passed repository
- + object: allow clear_commit_marks_all to handle any repo
-
- Code clean-up.
-
- Will merge to 'master'.
-
-
-* rs/pack-write-hashwrite-simplify (2020-11-01) 1 commit
-  (merged to 'next' on 2020-11-04 at 7194d3e811)
- + pack-write: use hashwrite_be32() instead of double-buffering array
-
- Code clean-up.
-
- Will merge to 'master'.
-
-
-* sd/prompt-local-variable (2020-11-01) 1 commit
-  (merged to 'next' on 2020-11-04 at ddc4192867)
- + git-prompt.sh: localize `option` in __git_ps1_show_upstream
-
- Code clean-up.
-
- Will merge to 'master'.
-
-
-* so/log-diff-merge (2020-11-09) 27 commits
- - doc/git-show: include --diff-merges description
- - doc/rev-list-options: document --first-parent implies --diff-merges=first-parent
- - doc/diff-generate-patch: mention new --diff-merges option
- - doc/git-log: describe new --diff-merges options
- - t4013: add test for --diff-merges=first-parent
- - diff-merges: implement new values for --diff-merges
- - diff-merges: make -m/-c/--cc explicitly mutually exclusive
- - diff-merges: refactor opt settings into separate functions
- - diff-merges: get rid of now empty diff_merges_init_revs()
- - diff-merges: group diff-merge flags next to each other inside 'rev_info'
- - diff-merges: split 'ignore_merges' field
- - diff-merges: fix -m to properly override -c/--cc
- - t4013: add tests for -m failing to override -c/--cc
- - t4013: support test_expect_failure through ':failure' magic
- - diff-merges: revise revs->diff flag handling
- - diff-merges: introduce revs->first_parent_merges flag
- - diff-merges: new function diff_merges_set_dense_combined_if_unset()
- - diff-merges: new function diff_merges_suppress()
- - diff-merges: re-arrange functions to match the order they are called in
- - diff-merges: rename diff_merges_default_to_enable() to match semantics
- - diff-merges: move checks for first_parent_only out of the module
- - diff-merges: rename all functions to have common prefix
- - revision: move diff merges functions to its own diff-merges.c
- - revision: provide implementation for diff merges tweaks
- - revision: factor out initialization of diff-merge related settings
- - revision: factor out setup of diff-merge related settings
- - revision: factor out parsing of diff-merge related options
-
- "git log" learned a new "--diff-merges=<how>" option.
-
-
 * cw/ci-ghwf-check-ws-errors (2020-11-03) 1 commit
   (merged to 'next' on 2020-11-04 at dc1121823c)
  + ci: make the whitespace checker more robust
 
  Dev support update.
 
- Will merge to 'master'.
-
-
-* ds/maintenance-part-4 (2020-11-04) 4 commits
- - maintenance: use Windows scheduled tasks
- - maintenance: use launchctl on macOS
- - maintenance: include 'cron' details in docs
- - maintenance: extract platform-specific scheduling
- (this branch uses ds/maintenance-part-3.)
-
- Follow-up on the "maintenance part-3" which introduced scheduled
- maintenance tasks to support platforms whose native scheduling
- methods are not 'cron'.
-
-
-* en/merge-ort-impl (2020-11-06) 21 commits
- - merge-ort: free data structures in merge_finalize()
- - merge-ort: add implementation of record_unmerged_index_entries()
- - tree: enable cmp_cache_name_compare() to be used elsewhere
- - merge-ort: add implementation of checkout()
- - merge-ort: basic outline for merge_switch_to_result()
- - merge-ort: step 3 of tree writing -- handling subdirectories as we go
- - merge-ort: step 2 of tree writing -- function to create tree object
- - merge-ort: step 1 of tree writing -- record basenames, modes, and oids
- - merge-ort: have process_entries operate in a defined order
- - merge-ort: add a preliminary simple process_entries() implementation
- - merge-ort: avoid recursing into identical trees
- - merge-ort: record stage and auxiliary info for every path
- - merge-ort: compute a few more useful fields for collect_merge_info
- - merge-ort: avoid repeating fill_tree_descriptor() on the same tree
- - merge-ort: implement a very basic collect_merge_info()
- - merge-ort: add an err() function similar to one from merge-recursive
- - merge-ort: use histogram diff
- - merge-ort: port merge_start() from merge-recursive
- - merge-ort: add some high-level algorithm structure
- - merge-ort: setup basic internal data structures
- - Merge branch 'en/strmap' into en/merge-ort-impl
- (this branch uses en/merge-ort-api-null-impl and en/strmap.)
-
-
-* js/default-branch-name-adjust-t5515 (2020-11-02) 4 commits
-  (merged to 'next' on 2020-11-09 at 568ba5aba5)
- + t5515: use `main` as the name of the main branch for testing (conclusion)
- + t5515: use `main` as the name of the main branch for testing (part 3)
- + t5515: use `main` as the name of the main branch for testing (part 2)
- + t5515: use `main` as the name of the main branch for testing (part 1)
-
- Prepare a test script to transition of the default branch name to
- 'main'.
-
- Will merge to 'master'.
-
-
-* jt/push-with-base (2020-11-02) 5 commits
- . SQUASH???
- . Doc: push with --base
- . remote-curl: teach --base for http(s)://
- . push: teach --base for ssh:// and file://
- . connect: refactor building of Extra Parameters
-
- "git push" learns a way to tell an object that it expects the other
- side to have and is usable as a common ancestor, which can be used
- by the other side to shrink its initial ref advertisement.
-
-
-* rs/worktree-list-show-locked (2020-11-03) 1 commit
-  (merged to 'next' on 2020-11-04 at 5f4fa51a91)
- + t2402: fix typo
-
- Typofix.
-
- Will merge to 'master'.
-
 
 * jc/abbrev-doc (2020-11-04) 1 commit
   (merged to 'next' on 2020-11-09 at 09efe81b8b)
@@ -405,68 +59,16 @@
  output may be longer than "<n>" hexdigits, which has been
  clarified.
 
- Will merge to 'master'.
 
+* jc/sequencer-stopped-sha-simplify (2020-10-21) 1 commit
+  (merged to 'next' on 2020-11-02 at ba3dd9eaf4)
+ + sequencer: tolerate abbreviated stopped-sha file
 
-* jc/line-log-takes-no-pathspec (2020-11-04) 1 commit
-  (merged to 'next' on 2020-11-09 at 47c2c88b9d)
- + log: diagnose -L used with pathspec as an error
-
- "git log -L<range>:<path>" is documented to take no pathspec, but
- this was not enforced by the command line option parser, which has
- been corrected.
-
- Will merge to 'master'.
-
-
-* jk/format-patch-output (2020-11-04) 3 commits
-  (merged to 'next' on 2020-11-09 at 1f1bb6ebff)
- + format-patch: support --output option
- + format-patch: tie file-opening logic to output_directory
- + format-patch: refactor output selection
-
- "git format-patch --output=there" did not work as expected and
- instead crashed.  The option is now supported.
-
- Will merge to 'master'.
-
-
-* rs/empty-reflog-check-fix (2020-11-01) 1 commit
-  (merged to 'next' on 2020-11-09 at 3da6b6fef0)
- + stash: simplify reflog emptiness check
-
- The code to see if "git stash drop" can safely remove refs/stash
- has been made more carerful.
-
- Will merge to 'master'.
-
-
-* mc/typofix (2020-11-05) 1 commit
-  (merged to 'next' on 2020-11-09 at ed6106b6e3)
- + doc: fixing two trivial typos in Documentation/
-
- Docfix.
-
- Will merge to 'master'.
-
-
-* jc/format-patch-name-max (2020-11-06) 1 commit
- - format-patch: make output filename configurable
-
- The maximum length of output filenames "git format-patch" creates
- has become configurable (used to be capped at 64).
-
- Will merge to 'next'?
-
-
-* jk/diff-release-filespec-fix (2020-11-06) 1 commit
-  (merged to 'next' on 2020-11-09 at 6d89b9602d)
- + diff: allow passing NULL to diff_free_filespec_data()
-
- Running "git diff" while allowing external diff in a state with
- unmerged paths used to segfault, which has been corrected.
-
- Will merge to 'master'.
+ Recently the format of an internal state file "rebase -i" uses has
+ been tightened up for consistency, which would hurt those who start
+ "rebase -i" with old git and then continue with new git.  Loosen
+ the reader side a bit (which we may want to tighten again in a year
+ or so).
 
 
 * js/ci-github-set-env (2020-11-06) 1 commit
@@ -475,35 +77,6 @@
 
  CI update.
 
- Will merge to 'master'.
-
-
-* js/test-file-size (2020-11-06) 1 commit
-  (merged to 'next' on 2020-11-09 at b3594d0150)
- + tests: consolidate the `file_size` function into `test-lib-functions.sh`
-
- Test clean-up.
-
- Will merge to 'master'.
-
-
-* jx/t5411-flake-fix (2020-11-09) 1 commit
- . t5411: consistent result for proc-receive broken test
-
- A flakey test has been cleaned up.
-
- This merely is sweeping an underlying breakage under the rug.
- cf. <20201109231246.GA677345@coredump.intra.peff.net>
-
-
-* dg/bswap-msvc (2020-11-09) 1 commit
-  (merged to 'next' on 2020-11-09 at 91a67b86f7)
- + compat/bswap.h: simplify MSVC endianness detection
-
- Code simplification.
-
- Will merge to 'master'.
-
 
 * js/p4-default-branch (2020-11-09) 1 commit
   (merged to 'next' on 2020-11-09 at a4b08b45da)
@@ -511,7 +84,12 @@
 
  "git p4" now honors init.defaultBranch configuration.
 
- Will merge to 'master'.
+
+* js/test-file-size (2020-11-06) 1 commit
+  (merged to 'next' on 2020-11-09 at b3594d0150)
+ + tests: consolidate the `file_size` function into `test-lib-functions.sh`
+
+ Test clean-up.
 
 
 * js/test-whitespace-fixes (2020-11-09) 6 commits
@@ -525,16 +103,153 @@
 
  Test code clean-up.
 
+
+* mc/typofix (2020-11-05) 1 commit
+  (merged to 'next' on 2020-11-09 at ed6106b6e3)
+ + doc: fixing two trivial typos in Documentation/
+
+ Docfix.
+
+
+* rs/clear-commit-marks-in-repo (2020-10-31) 2 commits
+  (merged to 'next' on 2020-11-04 at cb1e1d73cf)
+ + bisect: clear flags in passed repository
+ + object: allow clear_commit_marks_all to handle any repo
+
+ Code clean-up.
+
+
+* rs/pack-write-hashwrite-simplify (2020-11-01) 1 commit
+  (merged to 'next' on 2020-11-04 at 7194d3e811)
+ + pack-write: use hashwrite_be32() instead of double-buffering array
+
+ Code clean-up.
+
+
+* rs/worktree-list-show-locked (2020-11-03) 1 commit
+  (merged to 'next' on 2020-11-04 at 5f4fa51a91)
+ + t2402: fix typo
+
+ Typofix.
+
+
+* sd/prompt-local-variable (2020-11-01) 1 commit
+  (merged to 'next' on 2020-11-04 at ddc4192867)
+ + git-prompt.sh: localize `option` in __git_ps1_show_upstream
+
+ Code clean-up.
+
+
+* so/format-patch-doc-on-default-diff-format (2020-10-31) 1 commit
+  (merged to 'next' on 2020-11-04 at 692e0b2f7a)
+ + doc/diff-options: fix out of place mentions of '--patch/-p'
+
+ Docfix.
+
+--------------------------------------------------
+[New Topics]
+
+* ps/update-ref-multi-transaction (2020-11-10) 4 commits
+ - update-ref: disallow "start" for ongoing transactions
+ - p1400: use `git-update-ref --stdin` to test multiple transactions
+ - update-ref: allow creation of multiple transactions
+ - t1400: avoid touching refs on filesystem
+
+ "git update-ref --stdin" learns to take multiple transactions in a
+ single session.
+
+
+* fc/bash-completion-alias-of-alias (2020-11-09) 2 commits
+  (merged to 'next' on 2020-11-10 at 75f1f2b8a8)
+ + completion: bash: check for alias loop
+ + completion: bash: support recursive aliases
+
+ The command line completion script (in contrib/) learned to expand
+ commands that are alias of alias.
+
  Will merge to 'master'.
 
 
-* rs/archive-high-compression (2020-11-09) 1 commit
- - archive: support compression levels beyond 9
+* jc/blame-ignore-fix (2020-11-10) 1 commit
+  (merged to 'next' on 2020-11-10 at 384ace449d)
+ + blame: silently ignore invalid ignore file objects
 
- "git archive" now allows compression level higher than "-9"
- when generating tar.gz output.
+ "git blame --ignore-revs-file=<file>" learned to ignore a
+ non-existent object name in the input, instead of complaining.
 
- Will merge to 'next'?
+ Will merge to 'master'.
+
+
+* jk/rev-parse-end-of-options (2020-11-10) 3 commits
+  (merged to 'next' on 2020-11-11 at 2d517d1608)
+ + rev-parse: handle --end-of-options
+ + rev-parse: put all options under the "-" check
+ + rev-parse: don't accept options after dashdash
+
+ "git rev-parse" learned the "--end-of-options" to help scripts to
+ safely take a parameter that is supposed to be a revision, e.g.
+ "git rev-parse --verify -q --end-of-options $rev".
+
+ Will merge to 'master'.
+
+
+* fc/bash-completion-post-2.29 (2020-11-10) 26 commits
+ - completion: bash: shuffle __gitcomp functions
+ - completion: bash: cleanup __gitcomp* invocations
+ - completion: bash: add __gitcomp_opts
+ - completion: bash: improve __gitcomp description
+ - completion: bash: rename _get_comp_words_by_ref()
+ - completion: bash: trivial cleanup
+ - completion: bash: cleanup _get_comp_words_by_ref()
+ - completion: bash: refactor _get_comp_words_by_ref()
+ - completion: bash: simplify _get_comp_words_by_ref()
+ - test: completion: switch __gitcomp_nl prefix test
+ - completion: bash: simplify config_variable_name
+ - completion: bash: improve __gitcomp suffix code
+ - completion: bash: change suffix check in __gitcomp
+ - completion: bash: simplify __gitcomp
+ - completion: bash: refactor __gitcomp
+ - completion: bash: simplify equal suffix check
+ - completion: bash: factor out check in __gitcomp
+ - completion: bash: get rid of any non-append code
+ - completion: bash: get rid of _append() functions
+ - completion: bash: remove non-append functionality
+ - test: completion: add run_func() helper
+ - test: completion: fix currently typed words
+ - completion: bash: do not modify COMP_WORDBREAKS
+ - completion: bash: fix for suboptions with value
+ - completion: bash: add correct suffix in variables
+ - completion: bash: fix prefix detection in branch.*
+
+
+* js/add-i-color-fix (2020-11-11) 11 commits
+ - add -i: verify in the tests that colors can be overridden
+ - add -p: prefer color.diff.context over color.diff.plain
+ - add -i (Perl version): include indentation in the colored header
+ - add -i (built-in): use the same indentation as the Perl version
+ - add -p (built-in): do not color the progress indicator separately
+ - add -i (built-in): use correct names to load color.diff.* config
+ - add -i (built-in): prevent the `reset` "color" from being configured
+ - add -i: use `reset_color` consistently
+ - add -p (built-in): imitate `xdl_format_hunk_hdr()` generating hunk headers
+ - add -i (built-in): send error messages to stderr
+ - add -i (built-in): do show an error message for incorrect inputs
+
+ "git add -i" failed to honor custom colors configured to show
+ patches, which has been corrected.
+
+ The last step may want to be polished further.
+ cf. <20201111023549.GB806755@coredump.intra.peff.net>
+
+
+* ab/config-mak-uname-simplify (2020-11-11) 2 commits
+ - config.mak.uname: remove unused NEEDS_SSL_WITH_CURL flag
+ - config.mak.uname: remove unused the NO_R_TO_GCC_LINKER flag
+
+
+* pd/mergetool-nvimdiff (2020-11-11) 2 commits
+ - mergetool: avoid letting `list_tool_variants` break user-defined setups
+ - mergetools/bc: add `bc4` to the alias list for Beyond Compare
 
 --------------------------------------------------
 [Stalled]
@@ -744,6 +459,228 @@
 --------------------------------------------------
 [Cooking]
 
+* dd/upload-pack-stateless-eof (2020-10-30) 1 commit
+  (merged to 'next' on 2020-11-09 at 01a1f1d4fd)
+ + upload-pack: allow stateless client EOF just prior to haves
+
+ "git fetch --depth=<n>" over the stateless RPC / smart HTTP
+ transport handled EOF from the client poorly at the server end.
+
+ Will merge to 'master'.
+
+
+* js/trace2-session-id (2020-11-02) 11 commits
+ - receive-pack: log received client trace2 SID
+ - send-pack: advertise trace2 SID in capabilities
+ - upload-pack, serve: log received client trace2 SID
+ - fetch-pack: advertise trace2 SID in capabilities
+ - transport: log received server trace2 SID
+ - serve: advertise trace2 SID in v2 capabilities
+ - receive-pack: advertise trace2 SID in v0 capabilities
+ - upload-pack: advertise trace2 SID in v0 capabilities
+ - trace2: add a public function for getting the SID
+ - docs: new trace2.advertiseSID option
+ - docs: new capability to advertise trace2 SIDs
+
+ The transport layer was taught to optionally exchange the session
+ ID assigned by the trace2 subsystem during fetch/push transactions.
+
+
+* jc/sparse-error-for-developer-build (2020-10-31) 1 commit
+  (merged to 'next' on 2020-11-10 at 8cfbe66736)
+ + Makefile: enable -Wsparse-error for DEVELOPER build
+
+ "make DEVELOPER=1 sparse" used to run sparse and let it emit
+ warnings; now such warnings will cause an error.
+
+ Will merge to 'master'.
+
+
+* pb/blame-funcname-range-userdiff (2020-11-01) 8 commits
+  (merged to 'next' on 2020-11-10 at 221bb3f773)
+ + blame: simplify 'setup_blame_bloom_data' interface
+ + blame: simplify 'setup_scoreboard' interface
+ + blame: enable funcname blaming with userdiff driver
+ + line-log: mention both modes in 'blame' and 'log' short help
+ + doc: add more pointers to gitattributes(5) for userdiff
+ + blame-options.txt: also mention 'funcname' in '-L' description
+ + doc: line-range: improve formatting
+ + doc: log, gitk: move '-L' description to 'line-range-options.txt'
+
+ "git blame -L :funcname -- path" did not work well for a path for
+ which a userdiff driver is defined.
+
+ Will merge to 'master'.
+
+
+* so/log-diff-merge (2020-11-09) 27 commits
+ - doc/git-show: include --diff-merges description
+ - doc/rev-list-options: document --first-parent implies --diff-merges=first-parent
+ - doc/diff-generate-patch: mention new --diff-merges option
+ - doc/git-log: describe new --diff-merges options
+ - t4013: add test for --diff-merges=first-parent
+ - diff-merges: implement new values for --diff-merges
+ - diff-merges: make -m/-c/--cc explicitly mutually exclusive
+ - diff-merges: refactor opt settings into separate functions
+ - diff-merges: get rid of now empty diff_merges_init_revs()
+ - diff-merges: group diff-merge flags next to each other inside 'rev_info'
+ - diff-merges: split 'ignore_merges' field
+ - diff-merges: fix -m to properly override -c/--cc
+ - t4013: add tests for -m failing to override -c/--cc
+ - t4013: support test_expect_failure through ':failure' magic
+ - diff-merges: revise revs->diff flag handling
+ - diff-merges: introduce revs->first_parent_merges flag
+ - diff-merges: new function diff_merges_set_dense_combined_if_unset()
+ - diff-merges: new function diff_merges_suppress()
+ - diff-merges: re-arrange functions to match the order they are called in
+ - diff-merges: rename diff_merges_default_to_enable() to match semantics
+ - diff-merges: move checks for first_parent_only out of the module
+ - diff-merges: rename all functions to have common prefix
+ - revision: move diff merges functions to its own diff-merges.c
+ - revision: provide implementation for diff merges tweaks
+ - revision: factor out initialization of diff-merge related settings
+ - revision: factor out setup of diff-merge related settings
+ - revision: factor out parsing of diff-merge related options
+
+ "git log" learned a new "--diff-merges=<how>" option.
+
+
+* ds/maintenance-part-4 (2020-11-04) 4 commits
+ - maintenance: use Windows scheduled tasks
+ - maintenance: use launchctl on macOS
+ - maintenance: include 'cron' details in docs
+ - maintenance: extract platform-specific scheduling
+ (this branch uses ds/maintenance-part-3.)
+
+ Follow-up on the "maintenance part-3" which introduced scheduled
+ maintenance tasks to support platforms whose native scheduling
+ methods are not 'cron'.
+
+
+* en/merge-ort-impl (2020-11-11) 21 commits
+ - merge-ort: free data structures in merge_finalize()
+ - merge-ort: add implementation of record_unmerged_index_entries()
+ - tree: enable cmp_cache_name_compare() to be used elsewhere
+ - merge-ort: add implementation of checkout()
+ - merge-ort: basic outline for merge_switch_to_result()
+ - merge-ort: step 3 of tree writing -- handling subdirectories as we go
+ - merge-ort: step 2 of tree writing -- function to create tree object
+ - merge-ort: step 1 of tree writing -- record basenames, modes, and oids
+ - merge-ort: have process_entries operate in a defined order
+ - merge-ort: add a preliminary simple process_entries() implementation
+ - merge-ort: avoid recursing into identical trees
+ - merge-ort: record stage and auxiliary info for every path
+ - merge-ort: compute a few more useful fields for collect_merge_info
+ - merge-ort: avoid repeating fill_tree_descriptor() on the same tree
+ - merge-ort: implement a very basic collect_merge_info()
+ - merge-ort: add an err() function similar to one from merge-recursive
+ - merge-ort: use histogram diff
+ - merge-ort: port merge_start() from merge-recursive
+ - merge-ort: add some high-level algorithm structure
+ - merge-ort: setup basic internal data structures
+ - Merge branch 'en/strmap' into en/merge-ort-impl
+ (this branch uses en/merge-ort-api-null-impl and en/strmap.)
+
+
+* js/default-branch-name-adjust-t5515 (2020-11-02) 4 commits
+  (merged to 'next' on 2020-11-09 at 568ba5aba5)
+ + t5515: use `main` as the name of the main branch for testing (conclusion)
+ + t5515: use `main` as the name of the main branch for testing (part 3)
+ + t5515: use `main` as the name of the main branch for testing (part 2)
+ + t5515: use `main` as the name of the main branch for testing (part 1)
+
+ Prepare a test script to transition of the default branch name to
+ 'main'.
+
+ Will merge to 'master'.
+
+
+* jc/line-log-takes-no-pathspec (2020-11-04) 1 commit
+  (merged to 'next' on 2020-11-09 at 47c2c88b9d)
+ + log: diagnose -L used with pathspec as an error
+
+ "git log -L<range>:<path>" is documented to take no pathspec, but
+ this was not enforced by the command line option parser, which has
+ been corrected.
+
+ Will merge to 'master'.
+
+
+* jk/format-patch-output (2020-11-04) 3 commits
+  (merged to 'next' on 2020-11-09 at 1f1bb6ebff)
+ + format-patch: support --output option
+ + format-patch: tie file-opening logic to output_directory
+ + format-patch: refactor output selection
+
+ "git format-patch --output=there" did not work as expected and
+ instead crashed.  The option is now supported.
+
+ Will merge to 'master'.
+
+
+* rs/empty-reflog-check-fix (2020-11-01) 1 commit
+  (merged to 'next' on 2020-11-09 at 3da6b6fef0)
+ + stash: simplify reflog emptiness check
+
+ The code to see if "git stash drop" can safely remove refs/stash
+ has been made more carerful.
+
+ Will merge to 'master'.
+
+
+* jc/format-patch-name-max (2020-11-09) 1 commit
+  (merged to 'next' on 2020-11-11 at 17e19bb17a)
+ + format-patch: make output filename configurable
+
+ The maximum length of output filenames "git format-patch" creates
+ has become configurable (used to be capped at 64).
+
+ Will merge to 'master'.
+
+
+* jk/diff-release-filespec-fix (2020-11-11) 2 commits
+ - t7800: simplify difftool test
+  (merged to 'next' on 2020-11-09 at 6d89b9602d)
+ + diff: allow passing NULL to diff_free_filespec_data()
+
+ Running "git diff" while allowing external diff in a state with
+ unmerged paths used to segfault, which has been corrected.
+
+ Will merge to 'next'.
+
+
+* jx/t5411-flake-fix (2020-11-11) 3 commits
+ - receive-pack: use default version 0 for proc-receive
+ - receive-pack: gently write messages to proc-receive
+ - t5411: new helper filter_out_user_friendly_and_stable_output
+
+ The exchange between receive-pack and proc-receive hook did not
+ carefully check for errors.
+
+ Will merge to 'next'?
+
+
+* dg/bswap-msvc (2020-11-11) 2 commits
+  (merged to 'next' on 2020-11-11 at 6b9e819b17)
+ + compat/bswap.h: don't assume MSVC is little-endian
+  (merged to 'next' on 2020-11-09 at 91a67b86f7)
+ + compat/bswap.h: simplify MSVC endianness detection
+
+ Code simplification.
+
+ Will merge to 'master'.
+
+
+* rs/archive-high-compression (2020-11-09) 1 commit
+  (merged to 'next' on 2020-11-10 at 9bee80950e)
+ + archive: support compression levels beyond 9
+
+ "git archive" now allows compression level higher than "-9"
+ when generating tar.gz output.
+
+ Will merge to 'master'.
+
+
 * av/fsmonitor-cleanup (2020-10-21) 2 commits
  - fsmonitor: make output of test-dump-fsmonitor more concise
  - fsmonitor: stop inline'ing mark_fsmonitor_valid / _invalid
@@ -755,29 +692,17 @@
  cf. <20201022183822.GA781760@nand.local>
 
 
-* jc/sequencer-stopped-sha-simplify (2020-10-21) 1 commit
-  (merged to 'next' on 2020-11-02 at ba3dd9eaf4)
- + sequencer: tolerate abbreviated stopped-sha file
-
- Recently the format of an internal state file "rebase -i" uses has
- been tightened up for consistency, which would hurt those who start
- "rebase -i" with old git and then continue with new git.  Loosen
- the reader side a bit (which we may want to tighten again in a year
- or so).
-
- Will merge to 'master'
-
-
 * en/merge-ort-api-null-impl (2020-11-02) 4 commits
- - merge,rebase,revert: select ort or recursive by config or environment
- - fast-rebase: demonstrate merge-ort's API via new test-tool command
- - merge-ort-wrappers: new convience wrappers to mimic the old merge API
- - merge-ort: barebones API of new merge strategy with empty implementation
+  (merged to 'next' on 2020-11-10 at ed9eed1558)
+ + merge,rebase,revert: select ort or recursive by config or environment
+ + fast-rebase: demonstrate merge-ort's API via new test-tool command
+ + merge-ort-wrappers: new convience wrappers to mimic the old merge API
+ + merge-ort: barebones API of new merge strategy with empty implementation
  (this branch is used by en/merge-ort-impl.)
 
  Preparation for a new merge strategy.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
 * en/merge-tests (2020-10-26) 9 commits
@@ -828,18 +753,19 @@
 
 
 * pw/rebase-i-orig-head (2020-11-04) 4 commits
- - rebase -i: simplify get_revision_ranges()
- - rebase -i: use struct object_id when writing state
- - rebase -i: use struct object_id rather than looking up commit
- - rebase -i: stop overwriting ORIG_HEAD buffer
+  (merged to 'next' on 2020-11-10 at 038a5295f5)
+ + rebase -i: simplify get_revision_ranges()
+ + rebase -i: use struct object_id when writing state
+ + rebase -i: use struct object_id rather than looking up commit
+ + rebase -i: stop overwriting ORIG_HEAD buffer
 
  "git rebase -i" did not store ORIG_HEAD correctly.
 
- Will merge to 'next'.
+ Will merge to 'master'.
  cf. <xmqq7drbbcj5.fsf@gitster.c.googlers.com>
 
 
-* en/strmap (2020-11-06) 15 commits
+* en/strmap (2020-11-11) 15 commits
  - shortlog: use strset from strmap.h
  - Use new HASHMAP_INIT macro to simplify hashmap initialization
  - strmap: take advantage of FLEXPTR_ALLOC_STR when relevant
@@ -860,7 +786,7 @@
  A speciailization of hashmap that uses a string as key has been
  introduced.  Hopefully it will see wider use over time.
 
- Will merge to 'next'?
+ Will merge to 'next'.
 
 
 * jk/symlinked-dotgitx-files (2020-10-23) 9 commits
@@ -909,20 +835,21 @@
 
 
 * ds/maintenance-part-3 (2020-10-16) 8 commits
- - maintenance: add troubleshooting guide to docs
- - maintenance: use 'incremental' strategy by default
- - maintenance: create maintenance.strategy config
- - maintenance: add start/stop subcommands
- - maintenance: add [un]register subcommands
- - for-each-repo: run subcommands on configured repos
- - maintenance: add --schedule option and config
- - maintenance: optionally skip --auto process
+  (merged to 'next' on 2020-11-10 at fe9475c696)
+ + maintenance: add troubleshooting guide to docs
+ + maintenance: use 'incremental' strategy by default
+ + maintenance: create maintenance.strategy config
+ + maintenance: add start/stop subcommands
+ + maintenance: add [un]register subcommands
+ + for-each-repo: run subcommands on configured repos
+ + maintenance: add --schedule option and config
+ + maintenance: optionally skip --auto process
  (this branch is used by ds/maintenance-part-4.)
 
  Parts of "git maintenance" to ease writing crontab entries (and
  other scheduling system configuration) for it.
 
- Will merge to 'next'?
+ Will merge to 'master'.
 
 --------------------------------------------------
 [Discarded]
@@ -931,3 +858,15 @@
  . shortlog: drop custom strset implementation
 
  Now a part of the en/strmap topic.
+
+
+* jt/push-with-base (2020-11-02) 5 commits
+ . SQUASH???
+ . Doc: push with --base
+ . remote-curl: teach --base for http(s)://
+ . push: teach --base for ssh:// and file://
+ . connect: refactor building of Extra Parameters
+
+ "git push" learns a way to tell an object that it expects the other
+ side to have and is usable as a common ancestor, which can be used
+ by the other side to shrink its initial ref advertisement.
