What's cooking (2020/02 #03)
diff --git a/whats-cooking.txt b/whats-cooking.txt
index 0cdc0c7..4bb393d 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 (Feb 2020, #02; Mon, 10)
-X-master-at: de93cc14ab7e8db7645d8dbe4fd2603f76d5851f
-X-next-at: 5c85173df499e49e5e4dc041fb5d5e4a8594563e
+Subject: What's cooking in git.git (Feb 2020, #03; Wed, 12)
+X-master-at: d8437c57fa0752716dde2d3747e7c22bf7ce2e41
+X-next-at: cffb4d697ea3219afa675b81c08f1fe6006a74d1
 
-What's cooking in git.git (Feb 2020, #02; Mon, 10)
+What's cooking in git.git (Feb 2020, #03; Wed, 12)
 --------------------------------------------------
 
 Here are the topics that have been cooking.  Commits prefixed with
@@ -20,148 +20,235 @@
 --------------------------------------------------
 [Graduated to "master"]
 
-* am/checkout-file-and-ref-ref-ambiguity (2020-01-07) 2 commits
-  (merged to 'next' on 2020-01-27 at daf1dadc78)
- + checkout: don't revert file on ambiguous tracking branches
- + parse_branchname_arg(): extract part as new function
+* dt/submodule-rm-with-stale-cache (2020-01-28) 1 commit
+  (merged to 'next' on 2020-02-05 at 701ef6c41b)
+ + git rm submodule: succeed if .gitmodules index stat info is zero
 
- "git checkout X" did not correctly fail when X is not a local
- branch but could name more than one remote-tracking branches
- (i.e. to be dwimmed as the starting point to create a corresponding
- local branch), which has been corrected.
+ Running "git rm" on a submodule failed unnecessarily when
+ .gitmodules is only cache-dirty, which has been corrected.
 
 
-* bc/hash-independent-tests-part-7 (2020-01-15) 20 commits
-  (merged to 'next' on 2020-01-27 at a519c8fae4)
- + t5604: make hash independent
- + t5601: switch into repository to hash object
- + t5562: use $ZERO_OID
- + t5540: make hash size independent
- + t5537: make hash size independent
- + t5530: compute results based on object length
- + t5512: abstract away SHA-1-specific constants
- + t5510: make hash size independent
- + t5504: make hash algorithm independent
- + t5324: make hash size independent
- + t5319: make test work with SHA-256
- + t5319: change invalid offset for SHA-256 compatibility
- + t5318: update for SHA-256
- + t4300: abstract away SHA-1-specific constants
- + t4204: make hash size independent
- + t4202: abstract away SHA-1-specific constants
- + t4200: make hash size independent
- + t4134: compute appropriate length constant
- + t4066: compute index line in diffs
- + t4054: make hash-size independent
+* es/submodule-fetch-message-fix (2020-02-07) 1 commit
+  (merged to 'next' on 2020-02-11 at b8af267e1b)
+ + submodule: add newline on invalid submodule error
 
- Preparation of test scripts for the day when the object names will
- use SHA-256 continues.
+ Error message fix.
 
 
-* dl/test-must-fail-fixes (2019-12-20) 15 commits
-  (merged to 'next' on 2020-01-27 at ed382cd096)
- + t1507: inline full_name()
- + t1507: run commands within test_expect_success
- + t1507: stop losing return codes of git commands
- + t1501: remove use of `test_might_fail cp`
- + t1409: use test_path_is_missing()
- + t1409: let sed open its own input file
- + t1307: reorder `nongit test_must_fail`
- + t1306: convert `test_might_fail rm` to `rm -f`
- + t0020: use ! check_packed_refs_marked
- + t0020: don't use `test_must_fail has_cr`
- + t0003: don't use `test_must_fail attr_check`
- + t0003: use test_must_be_empty()
- + t0003: use named parameters in attr_check()
- + t0000: replace test_must_fail with run_sub_test_lib_test_err()
- + t/lib-git-p4: use test_path_is_missing()
+* hw/doc-git-dir (2020-01-30) 1 commit
+  (merged to 'next' on 2020-02-05 at 839ae05c00)
+ + git: update documentation for --git-dir
 
- Test clean-up.
+ One effect of specifying where the GIT_DIR is (either with the
+ environment variable, or with the "git --git-dir=<where> cmd"
+ option) is to disable the repository discovery.  This has been
+ placed a bit more stress in the documentation, as new users often
+ get confused.
 
 
-* en/fill-directory-fixes-more (2020-01-16) 4 commits
-  (merged to 'next' on 2020-01-27 at 9a27e1495b)
- + dir: point treat_leading_path() warning to the right place
- + dir: restructure in a way to avoid passing around a struct dirent
- + dir: treat_leading_path() and read_directory_recursive(), round 2
- + clean: demonstrate a bug with pathspecs
- (this branch is used by en/fill-directory-exponential.)
+* jb/multi-pack-index-docfix (2020-02-10) 1 commit
+  (merged to 'next' on 2020-02-11 at 79af4f7bda)
+ + pack-format: correct multi-pack-index description
 
- Corner case bugs in "git clean" that stems from a (necessarily for
- performance reasons) awkward calling convention in the directory
- enumeration API has been corrected.
+ Doc fix.
 
 
-* es/fetch-show-failed-submodules-atend (2020-01-17) 1 commit
-  (merged to 'next' on 2020-01-27 at 7b41163881)
- + fetch: emphasize failure during submodule fetch
+* jb/parse-options-message-fix (2020-02-05) 1 commit
+  (merged to 'next' on 2020-02-11 at 58058cc68c)
+ + parse-options: lose an unnecessary space in an error message
 
- A fetch that is told to recursively fetch updates in submodules
- inevitably produces reams of output, and it becomes hard to spot
- error messages.  The command has been taught to enumerate
- submodules that had errors at the end of the operation.
+ Error message fix.
 
 
-* js/add-p-leftover-bits (2020-01-15) 10 commits
-  (merged to 'next' on 2020-01-27 at ec5021a1bd)
- + ci: include the built-in `git add -i` in the `linux-gcc` job
- + built-in add -p: handle Escape sequences more efficiently
- + built-in add -p: handle Escape sequences in interactive.singlekey mode
- + built-in add -p: respect the `interactive.singlekey` config setting
- + terminal: add a new function to read a single keystroke
- + terminal: accommodate Git for Windows' default terminal
- + terminal: make the code of disable_echo() reusable
- + built-in add -p: handle diff.algorithm
- + built-in add -p: support interactive.diffFilter
- + t3701: adjust difffilter test
- (this branch uses js/patch-mode-in-others-in-c.)
+* jc/skip-prefix (2020-01-31) 1 commit
+  (merged to 'next' on 2020-02-05 at f6893a42d0)
+ + C: use skip_prefix() to avoid hardcoded string length
 
- The final leg of rewriting "add -i/-p" in C.
+ Code simplification.
 
 
-* js/patch-mode-in-others-in-c (2019-12-21) 7 commits
-  (merged to 'next' on 2020-01-27 at 36f6756aae)
- + commit --interactive: make it work with the built-in `add -i`
- + built-in add -p: implement the "worktree" patch modes
- + built-in add -p: implement the "checkout" patch modes
- + built-in stash: use the built-in `git add -p` if so configured
- + legacy stash -p: respect the add.interactive.usebuiltin setting
- + built-in add -p: implement the "stash" and "reset" patch modes
- + built-in add -p: prepare for patch modes other than "stage"
- (this branch is used by js/add-p-leftover-bits.)
+* jk/clang-sanitizer-fixes (2020-01-28) 5 commits
+  (merged to 'next' on 2020-02-05 at 8ef84c2d96)
+ + obstack: avoid computing offsets from NULL pointer
+ + xdiff: avoid computing non-zero offset from NULL pointer
+ + avoid computing zero offsets from NULL pointer
+ + merge-recursive: use subtraction to flip stage
+ + merge-recursive: silence -Wxor-used-as-pow warning
 
- The effort to move "git-add--interactive" to C continues.
+ C pedantry ;-) fix.
 
 
-* km/submodule-add-errmsg (2020-01-15) 1 commit
-  (merged to 'next' on 2020-01-27 at 0ff8378907)
- + submodule add: show 'add --dry-run' stderr when aborting
+* jk/escaped-wildcard-dwim (2020-01-27) 1 commit
+  (merged to 'next' on 2020-02-05 at ebee5e92a7)
+ + verify_filename(): handle backslashes in "wildcards are pathspecs" rule
 
- Improve error message generation for "git submodule add".
+ Disambiguation logic to tell revisions and pathspec apart has been
+ tweaked so that backslash-escaped glob special characters do not
+ count in the "wildcards are pathspec" rule.
 
 
-* mt/sparse-checkout-doc-update (2020-01-23) 2 commits
-  (merged to 'next' on 2020-01-27 at dbd5a83613)
- + completion: add support for sparse-checkout
- + doc: sparse-checkout: mention --cone option
+* jk/push-default-doc (2020-01-29) 1 commit
+  (merged to 'next' on 2020-02-05 at 33167357a1)
+ + doc: drop "explicitly given" from push.default description
 
  Doc update.
 
 
-* pb/recurse-submodule-in-worktree-fix (2020-01-22) 4 commits
-  (merged to 'next' on 2020-01-27 at e4cb1e376a)
- + submodule.c: use get_git_dir() instead of get_git_common_dir()
- + t2405: clarify test descriptions and simplify test
- + t2405: use git -C and test_commit -C instead of subshells
- + t7410: rename to t2405-worktree-submodule.sh
+* jn/pretend-object-doc (2020-01-06) 1 commit
+  (merged to 'next' on 2020-02-05 at 1d52a5c72d)
+ + sha1-file: document how to use pretend_object_file
 
- The "--recurse-submodules" option of various subcommands did not
- work well when run in an alternate worktree, which has been
- corrected.
+ Warn programmers about pretend_object_file() that allows the code
+ to tentatively use in-core objects.
+
+
+* js/ci-squelch-doc-warning (2020-02-10) 1 commit
+  (merged to 'next' on 2020-02-11 at 4fec29107e)
+ + ci: ignore rubygems warning in the "Documentation" job
+
+ Squelch unhelpful warning message during documentation build.
+
+
+* js/convert-typofix (2020-02-11) 1 commit
+  (merged to 'next' on 2020-02-11 at 32ccd29dc5)
+ + convert: fix typo
+
+ Typofix.
+
+
+* jt/t5616-robustify (2020-01-27) 1 commit
+  (merged to 'next' on 2020-02-05 at cdb02e8849)
+ + t5616: make robust to delta base change
+
+ Futureproofing a test not to depend on the current implementation
+ detail.
+
+
+* km/submodule-doc-use-sm-path (2020-01-31) 1 commit
+  (merged to 'next' on 2020-02-05 at a73aa350b5)
+ + submodule foreach: replace $path with $sm_path in example
+
+ Docfix.
+
+
+* ma/diff-doc-clarify-regexp-example (2020-02-09) 1 commit
+  (merged to 'next' on 2020-02-11 at 202d447e78)
+ + diff-options.txt: avoid "regex" overload in example
+
+ Doc clarification.
+
+
+* ma/filter-branch-doc-caret (2020-02-04) 1 commit
+  (merged to 'next' on 2020-02-05 at 4d5dbd1dba)
+ + git-filter-branch.txt: wrap "maths" notation in backticks
+
+ Doc mark-up updates.
+
+
+* ms/doc-bundle-format (2020-02-07) 1 commit
+  (merged to 'next' on 2020-02-11 at ca03a36134)
+ + doc: describe Git bundle format
+
+ Technical details of the bundle format has been documented.
+ I think this is in a good enough shape.
+
+
+* pb/do-not-recurse-grep-no-index (2020-01-30) 1 commit
+  (merged to 'next' on 2020-02-05 at 227bbe1e05)
+ + grep: ignore --recurse-submodules if --no-index is given
+
+ "git grep --no-index" should not get affected by the contents of
+ the .gitmodules file but when "--recurse-submodules" is given or
+ the "submodule.recurse" variable is set, it did.  Now these
+ settings are ignored in the "--no-index" mode.
 
 --------------------------------------------------
 [New Topics]
 
+* ds/sparse-add (2020-02-11) 4 commits
+ - sparse-checkout: work with Windows paths
+ - sparse-checkout: create 'add' subcommand
+ - sparse-checkout: extract pattern update from 'set' subcommand
+ - sparse-checkout: extract add_patterns_from_input()
+ (this branch uses ds/sparse-checkout-harden.)
+
+ "git sparse-checkout" learned a new "add" subcommand.
+
+ Will merge to 'next'.
+
+
+* jk/mailinfo-cleanup (2020-02-11) 4 commits
+  (merged to 'next' on 2020-02-11 at ab9890fbcb)
+ + mailinfo: factor out some repeated header handling
+ + mailinfo: be more liberal with header whitespace
+ + mailinfo: simplify parsing of header values
+ + mailinfo: treat header values as C strings
+ (this branch uses rs/strbuf-insertstr.)
+
+ Code clean-up.
+
+ Will merge to 'master'.
+
+
+* js/test-write-junit-xml-fix (2020-02-12) 1 commit
+ - tests: fix --write-junit-xml with subshells
+
+ Testfix.
+
+ Will merge to 'next'.
+
+--------------------------------------------------
+[Stalled]
+
+* pw/advise-rebase-skip (2019-12-06) 9 commits
+ - rebase -i: leave CHERRY_PICK_HEAD when there are conflicts
+ - rebase: fix advice when a fixup creates an empty commit
+ - commit: give correct advice for empty commit during a rebase
+ - commit: encapsulate determine_whence() for sequencer
+ - commit: use enum value for multiple cherry-picks
+ - sequencer: write CHERRY_PICK_HEAD for reword and edit
+ - cherry-pick: check commit error messages
+ - cherry-pick: add test for `--skip` advice in `git commit`
+ - t3404: use test_cmp_rev
+
+ The mechanism to prevent "git commit" from making an empty commit
+ or amending during an interrupted cherry-pick was broken during the
+ rewrite of "git rebase" in C, which has been corrected.
+
+ What's the status of this one?
+ The tip two are still RFC.
+
+
+* vn/reset-deleted-ita (2019-07-26) 1 commit
+ - reset: unstage empty deleted ita files
+
+ "git reset HEAD [<pathspec>]" did not reset an empty file that was
+ added with the intent-to-add bit.
+
+ Expecting a reroll.
+
+
+* mk/use-size-t-in-zlib (2018-10-15) 1 commit
+ - zlib.c: use size_t for size
+
+ The wrapper to call into zlib followed our long tradition to use
+ "unsigned long" for sizes of regions in memory, which have been
+ updated to use "size_t".
+
+--------------------------------------------------
+[Cooking]
+
+* at/rebase-fork-point-regression-fix (2020-02-11) 1 commit
+ - rebase: --fork-point regression fix
+
+ The "--fork-point" mode of "git rebase" regressed when the command
+ was rewritten in C back in 2.20 era, which has been corrected.
+
+ Was waiting for discussion to settle.
+ cf. <CAPig+cQ-3Ds41hr91fRo_GvuFMTP7zNVJtaSqi-Yccq4Pk-8Qg@mail.gmail.com>
+ cf. <xmqq36dtwcvw.fsf@gitster-ct.c.googlers.com>
+
+
 * hn/reftable (2020-02-10) 5 commits
  - Reftable support for git-core
  - Add reftable library
@@ -177,7 +264,8 @@
  At v5.
 
 
-* es/bugreport (2020-02-10) 15 commits
+* es/bugreport (2020-02-12) 16 commits
+ - SQUASH??? t0091 style and i18n fixes
  - bugreport: summarize contents of alternates file
  - bugreport: list contents of $OBJDIR/info
  - bugreport: add packed object summary
@@ -197,10 +285,11 @@
 
  The "bugreport" tool.
 
- at v6.
+ at v6.  Breaks gettext-poison builds
 
 
-* gs/commit-graph-path-filter (2020-02-06) 11 commits
+* gs/commit-graph-path-filter (2020-02-12) 12 commits
+ - (bytesex breakage band-aid)
  - commit-graph: add GIT_TEST_COMMIT_GRAPH_CHANGED_PATHS test flag
  - revision.c: use Bloom filters to speed up path based revision walks
  - commit-graph: add --changed-paths option to write subcommand
@@ -217,67 +306,37 @@
  check for the paths that were modified at each commit using Bloom
  filters.
 
+ Will be rerolled with bytesex fixes squashed in.
  Breakage due to byte-order dependency reported.
 
 
 * bc/hash-independent-tests-part-8 (2020-02-07) 21 commits
- - t6024: update for SHA-256
- - t6006: make hash size independent
- - t6000: abstract away SHA-1-specific constants
- - t5703: make test work with SHA-256
- - t5607: make hash size independent
- - t5318: update for SHA-256
- - t5515: make test hash independent
- - t5321: make test hash independent
- - t5313: make test hash independent
- - t5309: make test hash independent
- - t5302: make hash size independent
- - t4060: make test work with SHA-256
- - t4211: add test cases for SHA-256
- - t4211: move SHA-1-specific test cases into a directory
- - t4013: make test hash independent
- - t3311: make test work with SHA-256
- - t3310: make test work with SHA-256
- - t3309: make test work with SHA-256
- - t3308: make test work with SHA-256
- - t3206: make hash size independent
- - t/lib-pack: support SHA-256
+  (merged to 'next' on 2020-02-11 at 127748e61a)
+ + t6024: update for SHA-256
+ + t6006: make hash size independent
+ + t6000: abstract away SHA-1-specific constants
+ + t5703: make test work with SHA-256
+ + t5607: make hash size independent
+ + t5318: update for SHA-256
+ + t5515: make test hash independent
+ + t5321: make test hash independent
+ + t5313: make test hash independent
+ + t5309: make test hash independent
+ + t5302: make hash size independent
+ + t4060: make test work with SHA-256
+ + t4211: add test cases for SHA-256
+ + t4211: move SHA-1-specific test cases into a directory
+ + t4013: make test hash independent
+ + t3311: make test work with SHA-256
+ + t3310: make test work with SHA-256
+ + t3309: make test work with SHA-256
+ + t3308: make test work with SHA-256
+ + t3206: make hash size independent
+ + t/lib-pack: support SHA-256
 
  Preparation for SHA-256 migration continues.
 
- Will merge to 'next'.
-
-
-* es/submodule-fetch-message-fix (2020-02-07) 1 commit
- - submodule: add newline on invalid submodule error
-
- Error message fix.
-
- Will merge to 'next'.
-
-
-* ma/diff-doc-clarify-regexp-example (2020-02-09) 1 commit
- - diff-options.txt: avoid "regex" overload in example
-
- Doc clarification.
-
- Will merge to 'next'.
-
-
-* jb/multi-pack-index-docfix (2020-02-10) 1 commit
- - pack-format: correct multi-pack-index description
-
- Doc fix.
-
- Will merge to 'next'.
-
-
-* js/ci-squelch-doc-warning (2020-02-10) 1 commit
- - ci: ignore rubygems warning in the "Documentation" job
-
- Squelch unhelpful warning message during documentation build.
-
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
 * mr/bisect-in-c-1 (2020-02-10) 13 commits
@@ -300,153 +359,27 @@
 
 
 * rs/parse-options-concat-dup (2020-02-10) 4 commits
- - parse-options: simplify parse_options_dup()
- - parse-options: const parse_options_concat() parameters
- - parse-options: factor out parse_options_count()
- - parse-options: use COPY_ARRAY in parse_options_concat()
+  (merged to 'next' on 2020-02-11 at a1685687ab)
+ + parse-options: simplify parse_options_dup()
+ + parse-options: const parse_options_concat() parameters
+ + parse-options: factor out parse_options_count()
+ + parse-options: use COPY_ARRAY in parse_options_concat()
 
  Code clean-up.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
 * rs/strbuf-insertstr (2020-02-10) 2 commits
- - mailinfo: don't insert header prefix for handle_content_type()
- - strbuf: add and use strbuf_insertstr()
+  (merged to 'next' on 2020-02-11 at 5c89aa002f)
+ + mailinfo: don't insert header prefix for handle_content_type()
+ + strbuf: add and use strbuf_insertstr()
+ (this branch is used by jk/mailinfo-cleanup.)
 
  Code clean-up.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
---------------------------------------------------
-[Stalled]
-
-* jc/format-patch-delay-message-id (2019-04-05) 1 commit
- - format-patch: move message-id and related headers to the end
-
- The location "git format-patch --thread" adds the Message-Id:
- header in the series of header fields has been moved down, which
- may help working around a suspected bug in GMail MSA, reported at
- <CAHk-=whP1stFZNAaJiMi5eZ9rj0MRt20Y_yHVczZPH+O01d+sA@mail.gmail.com>
-
- Waiting for feedback to see if it truly helps.
- Needs tests.
-
-
-* pw/advise-rebase-skip (2019-12-06) 9 commits
- - rebase -i: leave CHERRY_PICK_HEAD when there are conflicts
- - rebase: fix advice when a fixup creates an empty commit
- - commit: give correct advice for empty commit during a rebase
- - commit: encapsulate determine_whence() for sequencer
- - commit: use enum value for multiple cherry-picks
- - sequencer: write CHERRY_PICK_HEAD for reword and edit
- - cherry-pick: check commit error messages
- - cherry-pick: add test for `--skip` advice in `git commit`
- - t3404: use test_cmp_rev
-
- The mechanism to prevent "git commit" from making an empty commit
- or amending during an interrupted cherry-pick was broken during the
- rewrite of "git rebase" in C, which has been corrected.
-
- What's the status of this one?
- The tip two are still RFC.
-
-
-* es/pathspec-f-f-grep (2020-01-13) 1 commit
- . grep: support the --pathspec-from-file option
-
- "git grep" learned the "--pathspec-from-file" command line
- option.
-
- Getting tired of waiting for review responses.  Will discard.
- cf. <20191204203911.237056-1-emilyshaffer@google.com>
-
-
-* at/rebase-fork-point-regression-fix (2019-12-09) 1 commit
- - rebase: fix --fork-point with short refname
-
- The "--fork-point" mode of "git rebase" regressed when the command
- was rewritten in C back in 2.20 era, which has been corrected.
-
- Was waiting for discussion to settle.
- cf. <CAPig+cQ-3Ds41hr91fRo_GvuFMTP7zNVJtaSqi-Yccq4Pk-8Qg@mail.gmail.com>
-
-
-* ma/config-bool-valex (2019-11-14) 8 commits
- - builtin/config: die if "value_regex" doesn't canonicalize as boolean
- - builtin/config: warn if "value_regex" doesn't canonicalize as boolean
- - builtin/config: canonicalize "value_regex" with `--type=bool-or-int`
- - builtin/config: canonicalize "value_regex" with `--type=bool`
- - builtin/config: collect "value_regexp" data in a struct
- - builtin/config: extract `handle_value_regex()` from `get_value()`
- - t1300: modernize part of script
- - config: make `git_parse_maybe_bool_text()` public
-
- "git config" can be told to affect the existing entries that
- "match" the given value via its value_regex argument.  It learned
- to normalize the value set in the configuration and the value given
- from the command line before computing they "match", e.g. "true" in
- the configuration file can now match with "yes" given from the
- command line.
-
- Retracted for now.
- cf. <CAN0heSpxhoAqSvN_TJHPntSagx3oA4s7iUebHcsYML8NSYwfUA@mail.gmail.com>
-
-
-* ds/fsmonitor-testing (2019-12-09) 8 commits
- - test-lib: clear watchman watches at test completion
- - t7519: disable external GIT_TEST_FSMONITOR variable
- - t7063: disable fsmonitor with status cache
- - tests: disable fsmonitor in submodule tests
- - t3030-merge-recursive.sh: disable fsmonitor when tweaking GIT_WORK_TREE
- - t1301-shared-repo.sh: disable FSMONITOR
- - fsmonitor: do not output to stderr for tests
- - fsmonitor: disable in a bare repo
-
- Updates around testing fsmoitor integration.
- cf. <pull.466.v2.git.1575907804.gitgitgadget@gmail.com>
-
-
-* vn/reset-deleted-ita (2019-07-26) 1 commit
- - reset: unstage empty deleted ita files
-
- "git reset HEAD [<pathspec>]" did not reset an empty file that was
- added with the intent-to-add bit.
-
- Expecting a reroll.
-
-
-* jn/unknown-index-extensions (2018-11-21) 2 commits
- . index: offer advice for unknown index extensions
- . index: do not warn about unrecognized extensions
-
- A bit too alarming warning given when unknown index extensions
- exist is getting revamped.
-
- Getting tired of waiting for a reroll.  Will discard.
-
-
-* js/protocol-advertise-multi (2018-12-28) 1 commit
- . protocol: advertise multiple supported versions
-
- The transport layer has been updated so that the protocol version
- used can be negotiated between the parties, by the initiator
- listing the protocol versions it is willing to talk, and the other
- side choosing from one of them.
-
- Getting tired of waiting for a reroll.  Will discard.
- cf. <CANq=j3u-zdb_FvNJGPCmygNMScseav63GhVvBX3NcVS4f7TejA@mail.gmail.com>
-
-
-* mk/use-size-t-in-zlib (2018-10-15) 1 commit
- - zlib.c: use size_t for size
-
- The wrapper to call into zlib followed our long tradition to use
- "unsigned long" for sizes of regions in memory, which have been
- updated to use "size_t".
-
---------------------------------------------------
-[Cooking]
 
 * bw/remote-rename-update-config (2020-02-10) 6 commits
  - remote rename/remove: gently handle remote.pushDefault config
@@ -461,10 +394,10 @@
  (e.g. branch.<name>.remote) whose value used to be X to Y.
  branch.<name>.pushRemote is now also updated.
 
- Waiting for mr/show-config-scope to stabilize.
+ Will merge to 'next'?
 
 
-* es/bright-colors (2020-01-23) 3 commits
+* es/bright-colors (2020-02-11) 3 commits
  - color.c: alias RGB colors 8-15 to aixterm colors
  - color.c: support bright aixterm colors
  - color.c: refactor color_output arguments
@@ -472,9 +405,7 @@
  The basic 7 colors learned the brighter counterparts
  (e.g. "brightred").
 
- Expecting a reroll.
- cf. <xmqqmuagbsyw.fsf@gitster-ct.c.googlers.com>
- cf. <xmqqo8ut3hsu.fsf@gitster-ct.c.googlers.com>
+ Will merge to 'next'.
 
 
 * pk/status-of-uncloned-submodule (2020-02-04) 3 commits
@@ -518,6 +449,7 @@
  + sparse-checkout: create leading directories
  + t1091: improve here-docs
  + t1091: use check_files to reduce boilerplate
+ (this branch is used by ds/sparse-add.)
 
  Some rough edges in the sparse-checkout feature, especially around
  the cone mode, have been cleaned up.
@@ -536,28 +468,31 @@
 
 
 * mr/show-config-scope (2020-02-10) 10 commits
- - config: add '--show-scope' to print the scope of a config value
- - submodule-config: add subomdule config scope
- - config: teach git_config_source to remember its scope
- - config: preserve scope in do_git_config_sequence
- - config: clarify meaning of command line scoping
- - config: split repo scope to local and worktree
- - config: make scope_name non-static and rename it
- - t1300: create custom config file without special characters
- - t1300: fix over-indented HERE-DOCs
- - config: fix typo in variable name
+  (merged to 'next' on 2020-02-11 at 904bca086e)
+ + config: add '--show-scope' to print the scope of a config value
+ + submodule-config: add subomdule config scope
+ + config: teach git_config_source to remember its scope
+ + config: preserve scope in do_git_config_sequence
+ + config: clarify meaning of command line scoping
+ + config: split repo scope to local and worktree
+ + config: make scope_name non-static and rename it
+ + t1300: create custom config file without special characters
+ + t1300: fix over-indented HERE-DOCs
+ + config: fix typo in variable name
  (this branch is used by bw/remote-rename-update-config and es/bugreport.)
 
  "git config" learned to show in which "scope", in addition to in
  which file, each config setting comes from.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
-* bk/p4-pre-edit-changelist (2020-02-06) 5 commits
+* bk/p4-pre-edit-changelist (2020-02-11) 7 commits
+ - git-p4: add RCS keyword status message
  - git-p4: add p4 submit hooks
  - git-p4: restructure code in submit
  - git-p4: add --no-verify option
+ - git-p4: add p4-pre-submit exit text
  - git-p4: create new function run_git_hook
  - git-p4: rewrite prompt to be Windows compatible
 
@@ -565,16 +500,6 @@
  bypass them (and the existing "p4-pre-submit" hook).
 
 
-* dt/submodule-rm-with-stale-cache (2020-01-28) 1 commit
-  (merged to 'next' on 2020-02-05 at 701ef6c41b)
- + git rm submodule: succeed if .gitmodules index stat info is zero
-
- Running "git rm" on a submodule failed unnecessarily when
- .gitmodules is only cache-dirty, which has been corrected.
-
- Will merge to 'master'.
-
-
 * en/fill-directory-exponential (2020-01-31) 6 commits
  - t7063: blindly accept diffs
  - dir: replace exponential algorithm with a linear one
@@ -592,36 +517,6 @@
  cf. <CABPp-BF0SO92wxY-dM14Vxv6BGA5=T=CicdwbiaZ7c9w6-j2jQ@mail.gmail.com>
 
 
-* hw/doc-git-dir (2020-01-30) 1 commit
-  (merged to 'next' on 2020-02-05 at 839ae05c00)
- + git: update documentation for --git-dir
-
- One effect of specifying where the GIT_DIR is (either with the
- environment variable, or with the "git --git-dir=<where> cmd"
- option) is to disable the repository discovery.  This has been
- placed a bit more stress in the documentation, as new users often
- get confused.
-
- Will merge to 'master'.
-
-
-* jb/parse-options-message-fix (2020-02-05) 1 commit
- - parse-options: lose an unnecessary space in an error message
-
- Error message fix.
-
- Will merge to 'next'.
-
-
-* jc/skip-prefix (2020-01-31) 1 commit
-  (merged to 'next' on 2020-02-05 at f6893a42d0)
- + C: use skip_prefix() to avoid hardcoded string length
-
- Code simplification.
-
- Will merge to 'master'.
-
-
 * jh/notes-fanout-fix (2020-02-04) 2 commits
   (merged to 'next' on 2020-02-07 at a4ec94aee0)
  + notes.c: fix off-by-one error when decreasing notes fanout
@@ -645,19 +540,6 @@
  Will merge to 'master'.
 
 
-* jk/clang-sanitizer-fixes (2020-01-28) 5 commits
-  (merged to 'next' on 2020-02-05 at 8ef84c2d96)
- + obstack: avoid computing offsets from NULL pointer
- + xdiff: avoid computing non-zero offset from NULL pointer
- + avoid computing zero offsets from NULL pointer
- + merge-recursive: use subtraction to flip stage
- + merge-recursive: silence -Wxor-used-as-pow warning
-
- C pedantry ;-) fix.
-
- Will merge to 'master'.
-
-
 * jk/diff-honor-wserrhighlight-in-plumbing (2020-01-31) 1 commit
   (merged to 'next' on 2020-02-07 at acb077fdcb)
  + diff: move diff.wsErrorHighlight to "basic" config
@@ -670,17 +552,6 @@
  Will merge to 'master'.
 
 
-* jk/escaped-wildcard-dwim (2020-01-27) 1 commit
-  (merged to 'next' on 2020-02-05 at ebee5e92a7)
- + verify_filename(): handle backslashes in "wildcards are pathspecs" rule
-
- Disambiguation logic to tell revisions and pathspec apart has been
- tweaked so that backslash-escaped glob special characters do not
- count in the "wildcards are pathspec" rule.
-
- Will merge to 'master'.
-
-
 * jk/get-oid-error-message-i18n (2020-01-30) 3 commits
   (merged to 'next' on 2020-02-07 at 6bfe9235e5)
  + sha1-name: mark get_oid() error messages for translation
@@ -706,15 +577,6 @@
  Will merge to 'master'.
 
 
-* jk/push-default-doc (2020-01-29) 1 commit
-  (merged to 'next' on 2020-02-05 at 33167357a1)
- + doc: drop "explicitly given" from push.default description
-
- Doc update.
-
- Will merge to 'master'.
-
-
 * jt/connectivity-check-optim-in-partial-clone (2020-01-30) 2 commits
   (merged to 'next' on 2020-02-07 at ca5102fa58)
  + fetch: forgo full connectivity check if --filter
@@ -726,25 +588,6 @@
  Will merge to 'master'.
 
 
-* jt/t5616-robustify (2020-01-27) 1 commit
-  (merged to 'next' on 2020-02-05 at cdb02e8849)
- + t5616: make robust to delta base change
-
- Futureproofing a test not to depend on the current implementation
- detail.
-
- Will merge to 'master'.
-
-
-* km/submodule-doc-use-sm-path (2020-01-31) 1 commit
-  (merged to 'next' on 2020-02-05 at a73aa350b5)
- + submodule foreach: replace $path with $sm_path in example
-
- Docfix.
-
- Will merge to 'master'.
-
-
 * ld/p4-cleanup-processes (2020-01-30) 7 commits
   (merged to 'next' on 2020-02-07 at e8c573f01c)
  + git-p4: avoid leak of file handle when cloning
@@ -760,24 +603,6 @@
  Will merge to 'master'.
 
 
-* ma/filter-branch-doc-caret (2020-02-04) 1 commit
-  (merged to 'next' on 2020-02-05 at 4d5dbd1dba)
- + git-filter-branch.txt: wrap "maths" notation in backticks
-
- Doc mark-up updates.
-
- Will merge to 'master'.
-
-
-* ms/doc-bundle-format (2020-02-07) 1 commit
- - doc: describe Git bundle format
-
- Technical details of the bundle format has been documented.
-
- Will merge to 'next'.
- I think this is in a good enough shape.
-
-
 * mt/use-passed-repo-more-in-funcs (2020-01-31) 7 commits
   (merged to 'next' on 2020-02-07 at 536709ab4b)
  + sha1-file: allow check_object_signature() to handle any repo
@@ -795,35 +620,24 @@
  Will merge to 'master'.
 
 
-* pb/do-not-recurse-grep-no-index (2020-01-30) 1 commit
-  (merged to 'next' on 2020-02-05 at 227bbe1e05)
- + grep: ignore --recurse-submodules if --no-index is given
-
- "git grep --no-index" should not get affected by the contents of
- the .gitmodules file but when "--recurse-submodules" is given or
- the "submodule.recurse" variable is set, it did.  Now these
- settings are ignored in the "--no-index" mode.
-
- Will merge to 'master'.
-
-
 * rs/name-rev-memsave (2020-02-05) 11 commits
- - name-rev: sort tip names before applying
- - name-rev: release unused name strings
- - name-rev: generate name strings only if they are better
- - name-rev: pre-size buffer in get_parent_name()
- - name-rev: factor out get_parent_name()
- - name-rev: put struct rev_name into commit slab
- - name-rev: don't _peek() in create_or_update_name()
- - name-rev: don't leak path copy in name_ref()
- - name-rev: respect const qualifier
- - name-rev: remove unused typedef
- - name-rev: rewrite create_or_update_name()
+  (merged to 'next' on 2020-02-11 at 17616cb9b1)
+ + name-rev: sort tip names before applying
+ + name-rev: release unused name strings
+ + name-rev: generate name strings only if they are better
+ + name-rev: pre-size buffer in get_parent_name()
+ + name-rev: factor out get_parent_name()
+ + name-rev: put struct rev_name into commit slab
+ + name-rev: don't _peek() in create_or_update_name()
+ + name-rev: don't leak path copy in name_ref()
+ + name-rev: respect const qualifier
+ + name-rev: remove unused typedef
+ + name-rev: rewrite create_or_update_name()
 
  Memory footprint and performance of "git name-rev" has been
  improved.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
 * tb/commit-graph-object-dir (2020-02-04) 5 commits
@@ -842,7 +656,7 @@
  Will merge to 'master'.
 
 
-* tb/commit-graph-split-merge (2020-02-05) 3 commits
+* tb/commit-graph-split-merge (2020-02-12) 3 commits
  - builtin/commit-graph.c: support '--input=none'
  - builtin/commit-graph.c: introduce '--input=<source>'
  - builtin/commit-graph.c: support '--split[=<strategy>]'
@@ -853,7 +667,7 @@
  or a single new incremental graph is created.
 
  Waiting for the discussion to settle.
- cf. <20200206025130.GA22748@syl.local>
+ cf. <20200212205028.GE4364@syl.local>
 
 
 * ag/edit-todo-drop-check (2020-01-28) 2 commits
@@ -946,16 +760,6 @@
  Will merge to 'master'.
 
 
-* jn/pretend-object-doc (2020-01-06) 1 commit
-  (merged to 'next' on 2020-02-05 at 1d52a5c72d)
- + sha1-file: document how to use pretend_object_file
-
- Warn programmers about pretend_object_file() that allows the code
- to tentatively use in-core objects.
-
- Will merge to 'master'.
-
-
 * dl/merge-autostash (2020-01-13) 17 commits
  - pull: pass --autostash to merge
  - t5520: make test_pull_autostash() accept expect_parent_num
@@ -1090,3 +894,85 @@
  to generate its result has been improved.
 
  Will merge to 'master'.
+
+--------------------------------------------------
+[Discarded]
+
+* jc/format-patch-delay-message-id (2019-04-05) 1 commit
+ . format-patch: move message-id and related headers to the end
+
+ The location "git format-patch --thread" adds the Message-Id:
+ header in the series of header fields has been moved down, which
+ may help working around a suspected bug in GMail MSA, reported at
+ <CAHk-=whP1stFZNAaJiMi5eZ9rj0MRt20Y_yHVczZPH+O01d+sA@mail.gmail.com>
+
+ Was waiting for feedback to see if it truly helps.
+
+
+* es/pathspec-f-f-grep (2020-01-13) 1 commit
+ . grep: support the --pathspec-from-file option
+
+ "git grep" learned the "--pathspec-from-file" command line
+ option.
+
+ Getting tired of waiting for review responses.
+ cf. <20191204203911.237056-1-emilyshaffer@google.com>
+
+
+* ma/config-bool-valex (2019-11-14) 8 commits
+ . builtin/config: die if "value_regex" doesn't canonicalize as boolean
+ . builtin/config: warn if "value_regex" doesn't canonicalize as boolean
+ . builtin/config: canonicalize "value_regex" with `--type=bool-or-int`
+ . builtin/config: canonicalize "value_regex" with `--type=bool`
+ . builtin/config: collect "value_regexp" data in a struct
+ . builtin/config: extract `handle_value_regex()` from `get_value()`
+ . t1300: modernize part of script
+ . config: make `git_parse_maybe_bool_text()` public
+
+ "git config" can be told to affect the existing entries that
+ "match" the given value via its value_regex argument.  It learned
+ to normalize the value set in the configuration and the value given
+ from the command line before computing they "match", e.g. "true" in
+ the configuration file can now match with "yes" given from the
+ command line.
+
+ Retracted for now.
+ cf. <CAN0heSpxhoAqSvN_TJHPntSagx3oA4s7iUebHcsYML8NSYwfUA@mail.gmail.com>
+
+
+* ds/fsmonitor-testing (2019-12-09) 8 commits
+ . test-lib: clear watchman watches at test completion
+ . t7519: disable external GIT_TEST_FSMONITOR variable
+ . t7063: disable fsmonitor with status cache
+ . tests: disable fsmonitor in submodule tests
+ . t3030-merge-recursive.sh: disable fsmonitor when tweaking GIT_WORK_TREE
+ . t1301-shared-repo.sh: disable FSMONITOR
+ . fsmonitor: do not output to stderr for tests
+ . fsmonitor: disable in a bare repo
+
+ Updates around testing fsmoitor integration.
+
+ Retracted for now.
+ cf. <a780fe83-c82c-c8fa-3f8d-5db9a7886875@gmail.com>
+
+
+* jn/unknown-index-extensions (2018-11-21) 2 commits
+ . index: offer advice for unknown index extensions
+ . index: do not warn about unrecognized extensions
+
+ A bit too alarming warning given when unknown index extensions
+ exist is getting revamped.
+
+ Getting tired of waiting for a reroll.
+
+
+* js/protocol-advertise-multi (2018-12-28) 1 commit
+ . protocol: advertise multiple supported versions
+
+ The transport layer has been updated so that the protocol version
+ used can be negotiated between the parties, by the initiator
+ listing the protocol versions it is willing to talk, and the other
+ side choosing from one of them.
+
+ Getting tired of waiting for a reroll.
+ cf. <CANq=j3u-zdb_FvNJGPCmygNMScseav63GhVvBX3NcVS4f7TejA@mail.gmail.com>