What's cooking (2024/05 #05)
diff --git a/whats-cooking.txt b/whats-cooking.txt
index e17e1c1..58eff1b 100644
--- a/whats-cooking.txt
+++ b/whats-cooking.txt
@@ -1,10 +1,10 @@
 To: git@vger.kernel.org
-Subject: What's cooking in git.git (May 2024, #04; Thu, 9)
+Subject: What's cooking in git.git (May 2024, #05; Sat, 11)
 X-master-at: 0f3415f1f8478b05e64db11eb8aaa2915e48fef6
-X-next-at: 3402c0e53fb798cb471dd6562eb5c938885b7295
+X-next-at: 78c648537befcff421d4ad73d5ad976eb9255800
 Bcc: lwn@lwn.net, gitster@pobox.com
 
-What's cooking in git.git (May 2024, #04; Thu, 9)
+What's cooking in git.git (May 2024, #05; Sat, 11)
 --------------------------------------------------
 
 Here are the topics that have been cooking in my tree.  Commits
@@ -46,162 +46,49 @@
 	https://www.kernel.org/pub/software/scm/git/
 
 --------------------------------------------------
-[Graduated to 'master']
+[New Topics]
 
-* bb/rgb-12-bit-colors (2024-05-02) 3 commits
-  (merged to 'next' on 2024-05-02 at 7fe29c98d7)
- + color: add support for 12-bit RGB colors
- + t/t4026-color: add test coverage for invalid RGB colors
- + t/t4026-color: remove an extra double quote character
+* ps/builtin-config-cleanup (2024-05-10) 23 commits
+ - fixup! builtin/config: move location options into local variables
+ - builtin/config: pass data between callbacks via local variables
+ - builtin/config: convert flags to a local variable
+ - builtin/config: track "fixed value" option via flags only
+ - builtin/config: convert `key` to a local variable
+ - builtin/config: convert `key_regexp` to a local variable
+ - builtin/config: convert `regexp` to a local variable
+ - builtin/config: convert `value_pattern` to a local variable
+ - builtin/config: convert `do_not_match` to a local variable
+ - builtin/config: move `respect_includes_opt` into location options
+ - builtin/config: move default value into display options
+ - builtin/config: move type options into display options
+ - builtin/config: move display options into local variables
+ - builtin/config: move location options into local variables
+ - builtin/config: refactor functions to have common exit paths
+ - config: make the config source const
+ - builtin/config: check for writeability after source is set up
+ - builtin/config: move actions into `cmd_config_actions()`
+ - builtin/config: move legacy options into `cmd_config()`
+ - builtin/config: move subcommand options into `cmd_config()`
+ - builtin/config: move legacy mode into its own function
+ - builtin/config: stop printing full usage on misuse
+ - Merge branch 'ps/config-subcommands' into ps/builtin-config-cleanup
+ (this branch uses ps/config-subcommands.)
 
- The color parsing code learned to handle 12-bit RGB colors, spelled
- as "#RGB" (in addition to "#RRGGBB" that is already supported).
- source: <20240502110331.6347-1-dev+git@drbeat.li>
+ Code clean-up to reduce inter-function communication inside
+ builtin/config.c done via the use of global variables.
+
+ Will merge to 'next'?
+ source: <cover.1715339393.git.ps@pks.im>
 
 
-* bc/credential-scheme-enhancement (2024-04-16) 16 commits
-  (merged to 'next' on 2024-05-01 at 789ec5bd35)
- + credential: add method for querying capabilities
- + credential-cache: implement authtype capability
- + t: add credential tests for authtype
- + credential: add support for multistage credential rounds
- + t5563: refactor for multi-stage authentication
- + docs: set a limit on credential line length
- + credential: enable state capability
- + credential: add an argument to keep state
- + http: add support for authtype and credential
- + docs: indicate new credential protocol fields
- + credential: add a field called "ephemeral"
- + credential: gate new fields on capability
- + credential: add a field for pre-encoded credentials
- + http: use new headers for each object request
- + remote-curl: reset headers on new request
- + credential: add an authtype field
+* jc/git-gui-maintainer-update (2024-05-11) 1 commit
+  (merged to 'next' on 2024-05-11 at 78c648537b)
+ + SubmittingPatches: welcome the new maintainer of git-gui part
 
- The credential helper protocol, together with the HTTP layer, have
- been enhanced to support authentication schemes different from
- username & password pair, like Bearer and NTLM.
- source: <20240417000240.3611948-1-sandals@crustytoothpaste.net>
-
-
-* bc/zsh-compatibility (2024-04-26) 2 commits
-  (merged to 'next' on 2024-05-02 at 10222b2472)
- + vimdiff: make script and tests work with zsh
- + t4046: avoid continue in &&-chain for zsh
-
- zsh can pretend to be a normal shell pretty well except for some
- glitches that we tickle in some of our scripts. Work them around
- so that "vimdiff" and our test suite works well enough with it.
- source: <20240426221154.2194139-1-sandals@crustytoothpaste.net>
-
-
-* dk/zsh-git-repo-path-fix (2024-04-30) 1 commit
-  (merged to 'next' on 2024-05-02 at 0446d8e63a)
- + completion: zsh: stop leaking local cache variable
-
- Command line completion support for zsh (in contrib/) has been
- updated to stop exposing internal state to end-user shell
- interaction.
- source: <pull.1725.git.1714513995564.gitgitgadget@gmail.com>
-
-
-* jt/doc-submitting-rerolled-series (2024-04-25) 1 commit
-  (merged to 'next' on 2024-05-01 at 1c5865f11c)
- + doc: clarify practices for submitting updated patch versions
-
- Developer doc update.
- source: <20240425213404.133660-1-jltobler@gmail.com>
-
-
-* ps/ci-test-with-jgit (2024-04-12) 13 commits
-  (merged to 'next' on 2024-05-01 at 35e293e618)
- + t0612: add tests to exercise Git/JGit reftable compatibility
- + t0610: fix non-portable variable assignment
- + t06xx: always execute backend-specific tests
- + ci: install JGit dependency
- + ci: make Perforce binaries executable for all users
- + ci: merge scripts which install dependencies
- + ci: fix setup of custom path for GitLab CI
- + ci: merge custom PATH directories
- + ci: convert "install-dependencies.sh" to use "/bin/sh"
- + ci: drop duplicate package installation for "linux-gcc-default"
- + ci: skip sudo when we are already root
- + ci: expose distro name in dockerized GitHub jobs
- + ci: rename "runs_on_pool" to "distro"
-
- Tests to ensure interoperability between reftable written by jgit
- and our code have been added and enabled in CI.
- source: <cover.1712896868.git.ps@pks.im>
-
-
-* ps/reftable-write-optim (2024-04-08) 11 commits
-  (merged to 'next' on 2024-04-30 at 0667e3c05b)
- + reftable/block: reuse compressed array
- + reftable/block: reuse zstream when writing log blocks
- + reftable/writer: reset `last_key` instead of releasing it
- + reftable/writer: unify releasing memory
- + reftable/writer: refactorings for `writer_flush_nonempty_block()`
- + reftable/writer: refactorings for `writer_add_record()`
- + refs/reftable: don't recompute committer ident
- + reftable: remove name checks
- + refs/reftable: skip duplicate name checks
- + refs/reftable: perform explicit D/F check when writing symrefs
- + refs/reftable: fix D/F conflict error message on ref copy
-
- Code to write out reftable has seen some optimization and
- simplification.
- source: <cover.1712578837.git.ps@pks.im>
-
-
-* ps/the-index-is-no-more (2024-04-18) 6 commits
-  (merged to 'next' on 2024-05-01 at 7b9a0ab760)
- + repository: drop `initialize_the_repository()`
- + repository: drop `the_index` variable
- + builtin/clone: stop using `the_index`
- + repository: initialize index in `repo_init()`
- + builtin: stop using `the_index`
- + t/helper: stop using `the_index`
- (this branch is used by ps/undecided-is-not-necessarily-sha1.)
-
- The singleton index_state instance "the_index" has been eliminated
- by always instantiating "the_repository" and replacing references
- to "the_index"  with references to its .index member.
- source: <cover.1713442061.git.ps@pks.im>
-
-
-* rh/complete-symbolic-ref (2024-04-25) 3 commits
-  (merged to 'next' on 2024-05-01 at 7020ecebe7)
- + completion: add docs on how to add subcommand completions
- + completion: improve docs for using __git_complete
- + completion: add 'symbolic-ref'
-
- Command line completion script (in contrib/) learned to complete
- "git symbolic-ref" a bit better (you need to enable plumbing
- commands to be completed with GIT_COMPLETION_SHOW_ALL_COMMANDS).
- source: <20240425101845.708554-3-rhi@pengutronix.de>
-
-
-* rj/add-p-typo-reaction (2024-04-30) 2 commits
-  (merged to 'next' on 2024-05-01 at 3016062ebf)
- + add-patch: response to unknown command
- + add-patch: do not show UI messages on stderr
-
- When the user responds to a prompt given by "git add -p" with an
- unsupported command, list of available commands were given, which
- was too much if the user knew what they wanted to type but merely
- made a typo.  Now the user gets a much shorter error message.
- source: <952a9514-3cf1-4601-8f0d-db57adc750c3@gmail.com>
-
-
-* rs/diff-parseopts-cleanup (2024-05-01) 1 commit
-  (merged to 'next' on 2024-05-02 at cd9779c175)
- + diff-lib: stop calling diff_setup_done() in do_diff_cache()
-
- Code clean-up to remove code that is now a noop.
- source: <0e96c5a3-7b4d-4c6b-875e-d80e3eb07a00@web.de>
+ Will merge to 'master'.
 
 --------------------------------------------------
-[New Topics]
+[Cooking]
 
 * vd/doc-merge-tree-x-option (2024-05-07) 1 commit
   (merged to 'next' on 2024-05-08 at 42637b8bdf)
@@ -214,11 +101,12 @@
 
 
 * fa/p4-error (2024-05-08) 1 commit
- - git-p4: show Perforce error to the user
+  (merged to 'next' on 2024-05-11 at 58fd3fbf2f)
+ + git-p4: show Perforce error to the user
 
  P4 update.
 
- Will merge to 'next'.
+ Will merge to 'master'.
  source: <pull.1668.v3.git.git.1715206266214.gitgitgadget@gmail.com>
 
 
@@ -233,25 +121,27 @@
 
 
 * jk/ci-macos-gcc13-fix (2024-05-09) 3 commits
- - ci: stop installing "gcc-13" for osx-gcc
- - ci: avoid bare "gcc" for osx-gcc job
- - ci: drop mention of BREW_INSTALL_PACKAGES variable
+  (merged to 'next' on 2024-05-11 at 571a90f095)
+ + ci: stop installing "gcc-13" for osx-gcc
+ + ci: avoid bare "gcc" for osx-gcc job
+ + ci: drop mention of BREW_INSTALL_PACKAGES variable
 
  CI fix.
 
- Will merge to 'next'.
+ Will merge to 'master'.
  source: <20240509162219.GA1707955@coredump.intra.peff.net>
 
 
 * ps/ci-fuzzers-at-gitlab-fix (2024-05-09) 3 commits
- - gitlab-ci: fix installing dependencies for fuzz smoke tests
- - Merge branch 'ps/ci-python-2-deprecation' into ps/ci-fuzzers-at-gitlab-fix
- - Merge branch 'ps/ci-enable-minimal-fuzzers-at-gitlab' into ps/ci-fuzzers-at-gitlab-fix
+  (merged to 'next' on 2024-05-11 at f4307d4164)
+ + gitlab-ci: fix installing dependencies for fuzz smoke tests
+ + Merge branch 'ps/ci-python-2-deprecation' into ps/ci-fuzzers-at-gitlab-fix
+ + Merge branch 'ps/ci-enable-minimal-fuzzers-at-gitlab' into ps/ci-fuzzers-at-gitlab-fix
  (this branch uses ps/ci-enable-minimal-fuzzers-at-gitlab and ps/ci-python-2-deprecation.)
 
  CI fix.
 
- Will merge to 'next'.
+ Will merge to 'master'.
  source: <5a92a4aa9edd9653df71b284f07461c7906f97e2.1715241343.git.ps@pks.im>
 
 
@@ -270,39 +160,40 @@
  - reftable/reader: avoid copying index iterator
  - reftable/block: use `size_t` to track restart point index
 
+ Code clean-up to make the reftable iterator closer to be reusable.
  source: <cover.1715166175.git.ps@pks.im>
 
 
 * tb/precompose-getcwd (2024-05-09) 1 commit
- - macOS: ls-files path fails if path of workdir is NFD
+  (merged to 'next' on 2024-05-11 at d1b507b01a)
+ + macOS: ls-files path fails if path of workdir is NFD
 
  We forgot to normalize the result of getcwd() to NFC on macOS where
  all other paths are normalized, which has been corrected.
 
- Will merge to 'next'.
+ Will merge to 'master'.
  source: <20240509161110.12121-1-tboegi@web.de>
 
 
 * jk/ci-test-with-jgit-fix (2024-05-09) 1 commit
- - ci: update coverity runs_on_pool reference
+  (merged to 'next' on 2024-05-11 at 7d3d69657e)
+ + ci: update coverity runs_on_pool reference
 
  CI fix.
 
- Will merge to 'next'.
+ Will merge to 'master'.
  source: <20240509161506.GA1707588@coredump.intra.peff.net>
 
 
-* jc/patch-flow-updates (2024-05-09) 2 commits
+* jc/patch-flow-updates (2024-05-10) 2 commits
  - SubmittingPatches: extend the "flow" section
  - SubmittingPatches: move the patch-flow section earlier
 
  Doc updates.
 
  Comments?
- source: <20240509211318.641896-1-gitster@pobox.com>
+ source: <20240510165526.1412338-1-gitster@pobox.com>
 
---------------------------------------------------
-[Cooking]
 
 * it/refs-name-conflict (2024-05-06) 1 commit
  - refs: return conflict error when checking packed refs
@@ -437,19 +328,20 @@
 
 
 * kn/ref-transaction-symref (2024-05-07) 8 commits
- - refs: remove `create_symref` and associated dead code
- - refs: rename `refs_create_symref()` to `refs_update_symref()`
- - refs: use transaction in `refs_create_symref()`
- - refs: add support for transactional symref updates
- - refs: move `original_update_refname` to 'refs.c'
- - refs: support symrefs in 'reference-transaction' hook
- - files-backend: extract out `create_symref_lock()`
- - refs: accept symref values in `ref_transaction_update()`
+  (merged to 'next' on 2024-05-11 at 0a7119f2a3)
+ + refs: remove `create_symref` and associated dead code
+ + refs: rename `refs_create_symref()` to `refs_update_symref()`
+ + refs: use transaction in `refs_create_symref()`
+ + refs: add support for transactional symref updates
+ + refs: move `original_update_refname` to 'refs.c'
+ + refs: support symrefs in 'reference-transaction' hook
+ + files-backend: extract out `create_symref_lock()`
+ + refs: accept symref values in `ref_transaction_update()`
 
  Updates to symbolic refs can now be made as a part of ref
  transaction.
 
- Will merge to 'next'.
+ Will merge to 'master'.
  source: <20240507125859.132116-1-knayak@gitlab.com>
 
 
@@ -479,6 +371,7 @@
  + builtin/config: move "fixed-value" option to correct group
  + builtin/config: move option array around
  + config: clarify memory ownership when preparing comment strings
+ (this branch is used by ps/builtin-config-cleanup.)
 
  The operation mode options (like "--get") the "git config" command
  uses have been deprecated and replaced with subcommands (like "git
@@ -504,7 +397,7 @@
  source: <cover.1715065736.git.ps@pks.im>
 
 
-* ps/reftable-write-options (2024-05-03) 11 commits
+* ps/reftable-write-options (2024-05-10) 11 commits
  - refs/reftable: allow configuring geometric factor
  - reftable: make the compaction factor configurable
  - refs/reftable: allow disabling writing the object index
@@ -520,8 +413,8 @@
  The knobs to tweak how reftable files are written have been made
  available as configuration variables.
 
- Needs review.
- source: <cover.1714630191.git.ps@pks.im>
+ Will merge to 'next'?
+ source: <cover.1715336797.git.ps@pks.im>
 
 
 * tb/attr-limits (2024-05-03) 1 commit
@@ -544,12 +437,12 @@
  source: <pull.1724.v3.git.1715126749391.gitgitgadget@gmail.com>
 
 
-* ps/pseudo-ref-terminology (2024-05-02) 10 commits
+* ps/pseudo-ref-terminology (2024-05-10) 10 commits
  - refs: refuse to write pseudorefs
  - ref-filter: properly distinuish pseudo and root refs
  - refs: pseudorefs are no refs
- - refs: root refs can be symbolic refs
  - refs: classify HEAD as a root ref
+ - refs: root refs can be symbolic refs
  - refs: refname `is_special_ref()` to `is_pseudo_ref()`
  - refs: rename `is_pseudoref()` to `is_root_ref()`
  - Documentation/glossary: define root refs as refs
@@ -560,7 +453,7 @@
  straightened out.
 
  Comments?
- source: <cover.1714637671.git.ps@pks.im>
+ source: <cover.1715330206.git.ps@pks.im>
 
 
 * jc/rev-parse-fatal-doc (2024-05-01) 1 commit
@@ -715,10 +608,10 @@
 
 
 * cw/git-std-lib (2024-02-28) 4 commits
- - SQUASH??? get rid of apparent debugging crufts
- - test-stdlib: show that git-std-lib is independent
- - git-std-lib: introduce Git Standard Library
- - pager: include stdint.h because uintmax_t is used
+ . SQUASH??? get rid of apparent debugging crufts
+ . test-stdlib: show that git-std-lib is independent
+ . git-std-lib: introduce Git Standard Library
+ . pager: include stdint.h because uintmax_t is used
 
  Split libgit.a out to a separate git-std-lib tor easier reuse.