]> git.ipfire.org Git - thirdparty/git.git/commitdiff
What's cooking (2022/02 #03)
authorJunio C Hamano <gitster@pobox.com>
Sun, 13 Feb 2022 06:19:57 +0000 (22:19 -0800)
committerJunio C Hamano <gitster@pobox.com>
Sun, 13 Feb 2022 06:19:57 +0000 (22:19 -0800)
whats-cooking.txt

index 57d7be872e1763148738ccc1afe910f9ae9ae681..371e8fedc2b07eaab2da2576f074f365047c638d 100644 (file)
@@ -1,10 +1,10 @@
 To: git@vger.kernel.org
 Bcc: lwn@lwn.net
-Subject: What's cooking in git.git (Feb 2022, #02; Wed, 9)
-X-master-at: 2b9c1209706bc2ef0ab09fb0bdc7d405e225ce8b
-X-next-at: b22f109932d866f1f13b0e1a07d0c3b42268a14f
+Subject: What's cooking in git.git (Feb 2022, #03; Sat, 12)
+X-master-at: b80121027d1247a0754b3cc46897fee75c050b44
+X-next-at: 83b2b277ed60276e529455a66ea1f50a6e513b26
 
-What's cooking in git.git (Feb 2022, #02; Wed, 9)
+What's cooking in git.git (Feb 2022, #03; Sat, 12)
 --------------------------------------------------
 
 Here are the topics that have been cooking in my tree.  Commits
@@ -18,7 +18,7 @@ useful").  Do not read too much into a topic being in (or not in)
 'seen'.  The ones marked with '.' do not appear in any of the
 integration branches, but I am still holding onto them.
 
-The second batch of topics have been merged.
+The third batch of topics have been merged.
 
 Many new topics have sketchy or even empty topic description in the
 list below; help to fill them in is very much appreciated ;-)
@@ -54,306 +54,258 @@ Release tarballs are available at:
 --------------------------------------------------
 [Graduated to 'master']
 
-* ab/cat-file (2022-01-12) 12 commits
-  (merged to 'next' on 2022-01-12 at ee4d43041d)
- + cat-file: s/_/-/ in typo'd usage_msg_optf() message
- + cat-file: don't whitespace-pad "(...)" in SYNOPSIS and usage output
-  (merged to 'next' on 2022-01-05 at e145efa605)
- + cat-file: use GET_OID_ONLY_TO_DIE in --(textconv|filters)
- + object-name.c: don't have GET_OID_ONLY_TO_DIE imply *_QUIETLY
- + cat-file: correct and improve usage information
- + cat-file: fix remaining usage bugs
- + cat-file: make --batch-all-objects a CMDMODE
- + cat-file: move "usage" variable to cmd_cat_file()
- + cat-file docs: fix SYNOPSIS and "-h" output
- + parse-options API: add a usage_msg_optf()
- + cat-file tests: test messaging on bad objects/paths
- + cat-file tests: test bad usage
-
- Assorted updates to "git cat-file", especially "-h".
- source: <cover-v6-00.10-00000000000-20211228T132637Z-avarab@gmail.com>
- source: <cover-0.2-00000000000-20220110T220553Z-avarab@gmail.com>
-
-
-* ab/config-based-hooks-2 (2022-01-07) 17 commits
-  (merged to 'next' on 2022-01-19 at 594b6da22c)
- + run-command: remove old run_hook_{le,ve}() hook API
- + receive-pack: convert push-to-checkout hook to hook.h
- + read-cache: convert post-index-change to use hook.h
- + commit: convert {pre-commit,prepare-commit-msg} hook to hook.h
- + git-p4: use 'git hook' to run hooks
- + send-email: use 'git hook run' for 'sendemail-validate'
- + git hook run: add an --ignore-missing flag
- + hooks: convert worktree 'post-checkout' hook to hook library
- + hooks: convert non-worktree 'post-checkout' hook to hook library
- + merge: convert post-merge to use hook.h
- + am: convert applypatch-msg to use hook.h
- + rebase: convert pre-rebase to use hook.h
- + hook API: add a run_hooks_l() wrapper
- + am: convert {pre,post}-applypatch to use hook.h
- + gc: use hook library for pre-auto-gc hook
- + hook API: add a run_hooks() wrapper
- + hook: add 'run' subcommand
-
- More "config-based hooks".
- source: <cover-v6-00.17-00000000000-20211222T035755Z-avarab@gmail.com>
-
-
-* en/merge-ort-restart-optim-fix (2022-01-17) 1 commit
-  (merged to 'next' on 2022-01-19 at 84da10b057)
- + merge-ort: avoid assuming all renames detected
-
- The merge-ort misbehaved when merge.renameLimit configuration is
- set too low and failed to find all renames.
- source: <pull.1194.v2.git.git.1642443955836.gitgitgadget@gmail.com>
-
-
-* en/plug-leaks-in-merge (2022-01-21) 2 commits
-  (merged to 'next' on 2022-01-26 at 0cf6aa0a2b)
- + merge: fix memory leaks in cmd_merge()
- + merge-ort: fix memory leak in merge_ort_internal()
+* ab/no-errno-from-resolve-ref-unsafe (2022-01-26) 2 commits
+  (merged to 'next' on 2022-02-04 at d98254efe0)
+ + refs API: remove "failure_errno" from refs_resolve_ref_unsafe()
+ + sequencer: don't use die_errno() on refs_resolve_ref_unsafe() failure
 
Leakfix.
- source: <pull.1200.git.git.1642664835.gitgitgadget@gmail.com>
Remaining code-clean-up.
+ source: <cover-v4-0.2-00000000000-20220126T143427Z-avarab@gmail.com>
 
 
-* fs/ssh-signing-crlf (2022-01-07) 1 commit
-  (merged to 'next' on 2022-01-19 at 76b86faafb)
- + gpg-interface: trim CR from ssh-keygen
+* bc/clarify-eol-attr (2022-01-12) 2 commits
+  (merged to 'next' on 2022-02-04 at dc1db4bd21)
+ + docs: correct documentation about eol attribute
+ + t0027: add tests for eol without text in .gitattributes
 
- The code path that verifies signatures made with ssh were made to
- work better on a system with CRLF line endings.
- source: <20220107090735.580225-1-fs@gigacodes.de>
+ Doc and test update around the eol attribute.
+ source: <20220111021507.531736-1-sandals@crustytoothpaste.net>
 
 
-* gc/fetch-negotiate-only-early-return (2022-01-20) 4 commits
-  (merged to 'next' on 2022-01-20 at e7616428eb)
- + fetch: help translators by reusing the same message template
-  (merged to 'next' on 2022-01-19 at 0f15147cfa)
- + fetch --negotiate-only: do not update submodules
- + fetch: skip tasks related to fetching objects
- + fetch: use goto cleanup in cmd_fetch()
+* bc/csprng-mktemps (2022-01-17) 2 commits
+  (merged to 'next' on 2022-02-04 at 2e32375c73)
+ + wrapper: use a CSPRNG to generate random file names
+ + wrapper: add a helper to generate numbers from a CSPRNG
 
- "git fetch --negotiate-only" is an internal command used by "git
- push" to figure out which part of our history is missing from the
- other side.  It should never recurse into submodules even when
- fetch.recursesubmodules configuration variable is set, nor it
- should trigger "gc".  The code has been tightened up to ensure it
- only does common ancestry discovery and nothing else.
- source: <20220119000056.58503-1-chooglen@google.com>
+ Pick a better random number generator and use it when we prepare
+ temporary filenames.
+ source: <20220117215617.843190-1-sandals@crustytoothpaste.net>
 
 
-* jc/find-header (2022-01-06) 1 commit
-  (merged to 'next' on 2022-01-10 at 8a13b4f0b3)
- + receive-pack.c: consolidate find header logic
+* en/sparse-checkout-leakfix (2022-01-28) 1 commit
+  (merged to 'next' on 2022-02-04 at 10ca176008)
+ + sparse-checkout: fix a couple minor memory leaks
 
Code clean-up.
- source: <pull.1125.v6.git.git.1641499655700.gitgitgadget@gmail.com>
Leakfix.
+ source: <pull.1189.git.git.1643335098710.gitgitgadget@gmail.com>
 
 
-* jc/mem-pool-alignment (2022-01-24) 1 commit
-  (merged to 'next' on 2022-01-26 at 057b6a78f5)
- + mem-pool: don't assume uintmax_t is aligned enough for all types
+* gh/doc-typos (2022-01-26) 2 commits
+  (merged to 'next' on 2022-02-04 at b71e1bc746)
+ + Documentation/config/pgp.txt: add missing apostrophe
+ + Documentation/config/pgp.txt: replace stray <TAB> character with <SPC>
 
Update the logic to compute alignment requirement for our mem-pool.
- source: <20220123203347.74869-1-jrtc27@jrtc27.com>
Typofix.
+ source: <20220126121426.53799-1-greg@hurrell.net>
 
 
-* jc/name-rev-stdin (2022-01-10) 2 commits
-  (merged to 'next' on 2022-01-19 at a58e05fabe)
- + name-rev.c: use strbuf_getline instead of limited size buffer
- + name-rev: deprecate --stdin in favor of --annotate-stdin
+* jc/doc-log-messages (2022-01-27) 3 commits
+  (merged to 'next' on 2022-02-04 at cf136572ce)
+ + SubmittingPatches: explain why we care about log messages
+ + CodingGuidelines: hint why we value clearly written log messages
+ + SubmittingPatches: write problem statement in the log in the present tense
 
- "git name-rev --stdin" does not behave like usual "--stdin" at
- all.  Start the process of renaming it to "--annotate-stdin".
- source: <pull.1171.v7.git.git.1641425372.gitgitgadget@gmail.com>
+ Update the contributor-facing documents on proposed log messages.
+ source: <20220126234205.2923388-1-gitster@pobox.com>
 
 
-* jc/qsort-s-alignment-fix (2022-01-07) 2 commits
-  (merged to 'next' on 2022-01-10 at 329fd6e09a)
- + stable-qsort: avoid using potentially unaligned access
- + compat/qsort_s.c: avoid using potentially unaligned access
+* rc/negotiate-only-typofix (2022-01-28) 1 commit
+  (merged to 'next' on 2022-02-04 at 62b947ddbf)
+ + fetch: fix negotiate-only error message
 
- Fix a hand-rolled alloca() imitation that may have violated
- alignment requirement of data being sorted in compatibility
- implementation of qsort_s() and stable qsort().
- source: <f40c1b47-9aad-2dcc-ceeb-5dee2b517cd8@web.de>
- source: <xmqqzgo76xpj.fsf@gitster.g>
+ Typofix.
+ source: <20220128143602.31842-1-robert@coup.net.nz>
 
 
-* jc/reflog-parse-options (2022-01-10) 2 commits
-  (merged to 'next' on 2022-01-12 at 1659e49c4b)
- + builtin/reflog.c: use parse-options api for expire, delete subcommands
- + Merge branch 'ab/reflog-prep' into jc/reflog-parse-options
+* rs/parse-options-lithelp-help (2022-01-20) 1 commit
+  (merged to 'next' on 2022-02-04 at 74bc57e8fa)
+ + parse-options: document bracketing of argh
 
Use the parse-options API in "git reflog" command.
- source: <pull.1175.v5.git.git.1641495981650.gitgitgadget@gmail.com>
Comment update.
+ source: <c6ab4408-1091-4d14-849e-afe5f3053e8b@web.de>
 
 
-* jh/p4-fix-use-of-process-error-exception (2022-01-06) 1 commit
-  (merged to 'next' on 2022-01-10 at 49d529bfd7)
- + git-p4: fix instantiation of CalledProcessError
- (this branch is used by jh/p4-various-fixups.)
+* sy/diff-usage-typofix (2022-02-02) 1 commit
+  (merged to 'next' on 2022-02-04 at 28a4186a44)
+ + builtin/diff.c: fix "git-diff" usage string typo
 
- source: <20220106214156.90967-1-jholdsworth@nvidia.com>
+ Typofix.
+ source: <20220202072844.35545-1-shaoxuan.yuan02@gmail.com>
 
 
-* jh/p4-spawning-external-commands-cleanup (2022-01-06) 3 commits
-  (merged to 'next' on 2022-01-10 at 54b36b4e66)
- + git-p4: don't print shell commands as python lists
- + git-p4: pass command arguments as lists instead of using shell
- + git-p4: don't select shell mode using the type of the command argument
- (this branch is used by jh/p4-various-fixups.)
+* tg/fetch-prune-exit-code-fix (2022-01-31) 1 commit
+  (merged to 'next' on 2022-02-04 at 8af6ab286d)
+ + fetch --prune: exit with error if pruning fails
 
- source: <20220106214035.90725-1-jholdsworth@nvidia.com>
+ When "git fetch --prune" failed to prune the refs it wanted to
+ prune, the command issued error messages but exited with exit
+ status 0, which has been corrected.
+ source: <20220131133047.1885074-1-t.gummerer@gmail.com>
 
+--------------------------------------------------
+[New Topics]
 
-* js/sparse-vs-split-index (2022-01-23) 3 commits
-  (merged to 'next' on 2022-01-26 at 7443487955)
- + split-index: it really is incompatible with the sparse index
- + t1091: disable split index
- + sparse-index: sparse index is disallowed when split index is active
+* jc/glossary-worktree (2022-02-09) 1 commit
+  (merged to 'next' on 2022-02-10 at d05e2b6ea3)
+ + glossary: describe "worktree"
 
- Mark in various places in the code that the sparse index and the
- split index features are mutually incompatible.
- source: <pull.1119.git.1642613379.gitgitgadget@gmail.com>
+ "working tree" and "per-worktree ref" were in glossary, but
+ "worktree" itself wasn't, which has been corrected.
 
+ Will merge to 'master'.
+ source: <xmqqczjvxy3o.fsf@gitster.g>
 
-* js/test-unset-trace2-parents (2022-01-20) 1 commit
-  (merged to 'next' on 2022-01-20 at ebb085e3e4)
- + test-lib: unset trace2 parent envvars
 
- Avoid tests that are run under GIT_TRACE2 set from failing
- unnecessarily.
- source: <82e51a52e20fbe13a5a898a0a2f6dbe1188e3fa3.1642116539.git.steadmon@google.com>
+* jd/t0015-modernize (2022-02-09) 1 commit
+  (merged to 'next' on 2022-02-10 at a3733234c0)
+ + t/t0015-hash.sh: remove unnecessary '\' at line end
 
+ Test modernization.
 
-* jt/clone-not-quite-empty (2022-01-26) 1 commit
-  (merged to 'next' on 2022-01-26 at c3bb39676e)
- + clone: support unusual remote ref configurations
+ Will merge to 'master'.
+ source: <20220208092339.651761-2-jaydeepjd.8914@gmail.com>
 
- Cloning from a repository that does not yet have any branches or
- tags but has other refs resulted in a "remote transport reported
- error", which has been corrected.
- source: <20220124180909.2437002-1-jonathantanmy@google.com>
 
+* hw/t1410-adjust-test-for-reftable (2022-02-09) 2 commits
+ - t1410: mark bufsize boundary test as REFFILES
+ - t1410: use test-tool ref-store to inspect reflogs
 
-* jt/conditional-config-on-remote-url (2022-01-18) 2 commits
-  (merged to 'next' on 2022-01-19 at 3c2df266eb)
- + config: include file if remote URL matches a glob
- + config: make git_config_include() static
+ Fix tests that are unnecessarily specific to ref-files backend.
 
- The conditional inclusion mechanism of configuration files using
- "[includeIf <condition>]" learns to base its decision on the
- URL of the remote repository the repository interacts with.
- source: <cover.1642527965.git.jonathantanmy@google.com>
+ Will merge to 'next'.
+ source: <pull.1213.git.git.1644406180.gitgitgadget@gmail.com>
 
 
-* jt/sparse-checkout-leading-dir-fix (2022-01-21) 1 commit
-  (merged to 'next' on 2022-01-26 at 5611ce9047)
- + sparse-checkout: create leading directory
+* ps/fetch-optim-with-commit-graph (2022-02-10) 2 commits
+ - fetch: skip computing output width when not printing anything
+ - fetch-pack: use commit-graph when computing cutoff
 
- "git sparse-checkout init" failed to write into $GIT_DIR/info
- directory when the repository was created without one, which has
- been corrected to auto-create it.
- source: <20220121174441.3991963-1-jonathantanmy@google.com>
+ A couple of optimization to "git fetch".
 
+ Will merge to 'next'.
+ source: <cover.1644495978.git.ps@pks.im>
 
-* ms/update-index-racy (2022-01-07) 4 commits
-  (merged to 'next' on 2022-01-14 at 705a33f63b)
- + update-index: refresh should rewrite index in case of racy timestamps
- + t7508: add tests capturing racy timestamp handling
- + t7508: fix bogus mtime verification
- + test-lib: introduce API for verifying file mtime
 
- "git update-index --refresh" has been taught to deal better with
- racy timestamps (just like "git status" already does).
- source: <pull.1105.v4.git.1641554252.gitgitgadget@gmail.com>
+* pw/xdiff-alloc-fail (2022-02-09) 3 commits
+ - xdiff: handle allocation failure when merging
+ - xdiff: refactor a function
+ - xdiff: handle allocation failure in patience diff
 
+ Expecting a reroll.
+ cf. <9c5b3acb-aabc-3a0d-f4e7-e10cec410dbe@gmail.com>
+ source: <pull.1140.git.1644404356.gitgitgadget@gmail.com>
 
-* pb/pull-rebase-autostash-fix (2022-01-14) 1 commit
-  (merged to 'next' on 2022-01-14 at 83a388a7e2)
- + pull --rebase: honor rebase.autostash when fast-forwarding
 
- "git pull --rebase" ignored the rebase.autostash configuration
- variable when the remote history is a descendant of our history,
- which has been corrected.
- source: <xmqqr19aayxp.fsf@gitster.g>
+* sy/t0001-use-path-is-helper (2022-02-11) 1 commit
+ - t0001: replace "test [-d|-f]" with test_path_is_* functions
 
+ Test modernization.
 
-* po/readme-mention-contributor-hints (2022-01-17) 1 commit
-  (merged to 'next' on 2022-01-19 at 7e14690eb9)
- + README.md: add CodingGuidelines and a link for Translators
+ Will merge to 'next'.
+ source: <20220121102109.433457-2-shaoxuan.yuan02@gmail.com>
 
- Doc update.
- source: <pull.1115.v3.git.1642443491609.gitgitgadget@gmail.com>
 
+* gc/recursive-fetch-with-unused-submodules (2022-02-10) 8 commits
+ - submodule: fix bug and remove add_submodule_odb()
+ - fetch: fetch unpopulated, changed submodules
+ - submodule: extract get_fetch_task()
+ - t5526: use grep to assert on fetches
+ - t5526: introduce test helper to assert on fetches
+ - submodule: make static functions read submodules from commits
+ - submodule: store new submodule commits oid_array in a struct
+ - submodule: inline submodule_commits() into caller
 
-* pw/add-p-hunk-split-fix (2022-01-12) 2 commits
-  (merged to 'next' on 2022-01-19 at ea57b2c9a6)
- + builtin add -p: fix hunk splitting
- + t3701: clean up hunk splitting tests
+ When "git fetch --recurse-submodules" grabbed submodule commits
+ that would be needed to recursively check out newly fetched commits
+ in the superproject, it only paid attention to submodules that are
+ in the current checkout of the superproject.  We now do so for all
+ submodules that have been run "git submodule init" on.
 
- "git add -p" rewritten in C regressed hunk splitting in some cases,
- which has been corrected.
- source: <pull.1100.v2.git.1641899530.gitgitgadget@gmail.com>
+ Will merge to 'next'?
+ source: <20220210044152.78352-1-chooglen@google.com>
 
 
-* rs/apply-symlinks-use-strset (2022-01-07) 1 commit
-  (merged to 'next' on 2022-01-10 at 32497a67d5)
+ apply: use strsets to track symlinks
+* ah/log-no-graph (2022-02-11) 2 commits
+ - log: add a --no-graph option
- log: fix memory leak if --graph is passed multiple times
 
- "git apply" (ab)used the util pointer of the string-list to keep
- track of how each symbolic link needs to be handled, which has been
- simplified by using strset.
- source: <8739caad-aa3d-1f0f-b5dd-6174a8e059f6@web.de>
+ "git log --graph --graph" used to leak a graph structure, and there
+ was no way to countermand "--graph" that appear earlier on the
+ command line.  A "--no-graph" option has been added and resource
+ leakage lhas been plugged.
+
+ Will merge to 'next'.
+ source: <20220211163627.598166-2-alexhenrie24@gmail.com>
 
 
-* rs/grep-expr-cleanup (2022-01-06) 4 commits
-  (merged to 'next' on 2022-01-10 at b70a3bb0fa)
- + grep: use grep_and_expr() in compile_pattern_and()
- + grep: extract grep_binexp() from grep_or_expr()
- + grep: use grep_not_expr() in compile_pattern_not()
- + grep: use grep_or_expr() in compile_pattern_or()
+* cg/t3903-modernize (2022-02-11) 1 commit
+ - t/t3903-stash.sh: replace test [-d|-f] with test_path_is_*
+
+ Test modernization.
+
+ Will merge to 'next'?
+ source: <20220211134655.1149320-1-cogoni.guillaume@gmail.com>
+
+--------------------------------------------------
+[Stalled]
+
+* je/http-better-error-output (2021-12-03) 1 commit
+ . http-backend: give a hint that web browser access is not supported
+
+ When the http-backend program, which is the server-side component
+ for the smart HTTP transport, sends a "404 Not found" error, we
+ deliberately did not say anything to the requesting client.  We now
+ send a message back to the browser to tell the user that they do
+ not want to visit the URL via their browser, instead of a totally
+ blank page.
+
+ Expecting a reroll.
+ Breaks its self tests.
+ cf. <7r23s082-o3q0-479o-srqn-r45q778s5nq7@vanv.qr>
+ source: <20211202102855.23907-1-jengelh@inai.de>
 
- Code clean-up.
- source: <cover.1641498525.git.me@ttaylorr.com>
 
+* cb/save-term-across-editor-invocation (2021-12-01) 3 commits
+ - fixup! editor: allow for saving/restoring terminal state
+ - editor: allow for saving/restoring terminal state
+ - terminal: teach save_term to fail when not foreground
 
-* tl/doc-cli-options-first (2022-01-17) 1 commit
-  (merged to 'next' on 2022-01-19 at 9ec14cfe73)
- + git-cli.txt: clarify "options first and then args"
+ Some editors are reported to leave the terminal in funny state
+ after they exit on Windows.  Work it around by saving and restoring
+ the terminal state when needed.
 
- We explain that revs come first before the pathspec among command
- line arguments, but did not spell out that dashed options come
- before other args, which has been corrected.
- source: <fe748304d94e0ae25fd3549aadc49cf951ff2d64.1642405806.git.dyroneteng@gmail.com>
+ Expecting a reroll.
+ cf. <CAPUEsphktbdxeV7hvF52Or3CVHS8oOk5-WV=xfEZa8kfCVVnVg@mail.gmail.com>
+ source: <20211202035446.1154-1-carenas@gmail.com>
 
 --------------------------------------------------
-[New Topics]
+[Cooking]
 
 * ab/t0051-skip-on-non-windows (2022-02-04) 1 commit
- - t0051: use "skip_all" under !MINGW in single-test file
+  (merged to 'next' on 2022-02-10 at 3e587df1d6)
+ + t0051: use "skip_all" under !MINGW in single-test file
 
  Conditional test update.
 
- Will merge to 'next'.
+ Will merge to 'master'.
  source: <patch-v2-1.1-1bc93bcba4b-20220204T134208Z-avarab@gmail.com>
 
 
 * ab/hash-object-leakfix (2022-02-06) 1 commit
- - hash-object: fix a trivial leak in --path
+  (merged to 'next' on 2022-02-10 at 14956d3087)
+ + hash-object: fix a trivial leak in --path
 
  Trivial leakfix.
 
- Will merge to 'next'.
+ Will merge to 'master'.
  source: <patch-1.1-53863df1455-20220205T000422Z-avarab@gmail.com>
 
 
 * ab/release-transport-ls-refs-options (2022-02-06) 1 commit
- - ls-remote & transport API: release "struct transport_ls_refs_options"
+  (merged to 'next' on 2022-02-10 at c4e57c2b29)
+ + ls-remote & transport API: release "struct transport_ls_refs_options"
 
- Will merge to 'next'.
+ Will merge to 'master'.
  source: <patch-1.1-e80e8f64eae-20220205T000809Z-avarab@gmail.com>
 
 
@@ -386,73 +338,46 @@ Release tarballs are available at:
 
 
 * js/short-help-outside-repo-fix (2022-02-08) 2 commits
- - t0012: verify that built-ins handle `-h` even without gitdir
- - checkout/fetch/pull/pack-objects: allow `-h` outside a repository
+  (merged to 'next' on 2022-02-10 at a86376de89)
+ + t0012: verify that built-ins handle `-h` even without gitdir
+ + checkout/fetch/pull/pack-objects: allow `-h` outside a repository
 
  "git cmd -h" outside a repository should error out cleanly for many
  commands, but instead it hit a BUG(), which has been corrected.
 
- Will merge to 'next'.
+ Will merge to 'master'.
  source: <pull.1139.v2.git.1644319314.gitgitgadget@gmail.com>
 
 
 * tb/midx-no-bitmap-for-no-objects (2022-02-09) 1 commit
- - midx: prevent writing a .bitmap without any objects
+  (merged to 'next' on 2022-02-10 at 5c501a3f80)
+ + midx: prevent writing a .bitmap without any objects
 
  When there is no object to write .bitmap file for, "git
  multi-pack-index" triggered an error, instead of just skipping,
  which has been corrected.
 
- Will merge to 'next'.
+ Will merge to 'master'.
  source: <abc67d757cb6b244cf54b7b030985180ce134724.1644434802.git.me@ttaylorr.com>
 
 
-* jc/cat-file-batch-commands (2022-02-08) 3 commits
- . cat-file: add --batch-command mode
- . cat-file: introduce batch_command enum to replace print_contents
- . cat-file: rename cmdmode to transform_mode
-
-
- Seems to make tests hang.
- source: <pull.1212.v3.git.git.1644353884.gitgitgadget@gmail.com>
-
---------------------------------------------------
-[Stalled]
-
-* je/http-better-error-output (2021-12-03) 1 commit
- . http-backend: give a hint that web browser access is not supported
-
- When the http-backend program, which is the server-side component
- for the smart HTTP transport, sends a "404 Not found" error, we
- deliberately did not say anything to the requesting client.  We now
- send a message back to the browser to tell the user that they do
- not want to visit the URL via their browser, instead of a totally
- blank page.
-
- Expecting a reroll.
- Breaks its self tests.
- cf. <7r23s082-o3q0-479o-srqn-r45q778s5nq7@vanv.qr>
- source: <20211202102855.23907-1-jengelh@inai.de>
-
-
-* cb/save-term-across-editor-invocation (2021-12-01) 3 commits
- - fixup! editor: allow for saving/restoring terminal state
- - editor: allow for saving/restoring terminal state
- - terminal: teach save_term to fail when not foreground
+* jc/cat-file-batch-commands (2022-02-11) 3 commits
+ - cat-file: add --batch-command mode
+ - cat-file: introduce batch_mode enum to replace print_contents
+ - cat-file: rename cmdmode to transform_mode
 
- Some editors are reported to leave the terminal in funny state
- after they exit on Windows.  Work it around by saving and restoring
- the terminal state when needed.
+ "git cat-file" learns "--batch-command" mode, which is a more
+ flexible interface than the existing "--batch" or "--batch-check"
+ modes, to allow different kinds of inquiries made.
+ source: <pull.1212.v5.git.git.1644609683.gitgitgadget@gmail.com>
 
- Expecting a reroll.
- cf. <CAPUEsphktbdxeV7hvF52Or3CVHS8oOk5-WV=xfEZa8kfCVVnVg@mail.gmail.com>
- source: <20211202035446.1154-1-carenas@gmail.com>
-
---------------------------------------------------
-[Cooking]
 
-* ar/submodule-update (2022-02-08) 16 commits
+* ar/submodule-update (2022-02-10) 20 commits
+ . fixup! submodule: move core cmd_update() logic to C
+ . fixup! submodule--helper run-update-procedure: learn --remote
+ . fixup! submodule--helper run-update-procedure: remove --suboid
  . submodule: move core cmd_update() logic to C
+ . submodule--helper: reduce logic in run_update_procedure()
  . submodule--helper: move functions around
  . submodule--helper update-clone: learn --init
  . submodule--helper: remove ensure-core-worktree
@@ -471,66 +396,34 @@ Release tarballs are available at:
 
  Rewrite of "git submodule update" in C.
 
- Does not seem to play well with other topics in flight.
- source: <20220208083952.35036-1-chooglen@google.com>
+ Does not seem to play well with other topics in flight, with heavy conflicts.
+ cf. <xmqqv8xj71mt.fsf@gitster.g>
+ source: <20220210092833.55360-1-chooglen@google.com>
 
 
 * pw/use-in-process-checkout-in-rebase (2022-01-26) 14 commits
- - rebase -m: don't fork git checkout
- - rebase --apply: set ORIG_HEAD correctly
- - rebase --apply: fix reflog
- - reset_head(): take struct rebase_head_opts
- - rebase: cleanup reset_head() calls
- - create_autostash(): remove unneeded parameter
- - reset_head(): make default_reflog_action optional
- - reset_head(): factor out ref updates
- - reset_head(): remove action parameter
- - rebase --apply: don't run post-checkout hook if there is an error
- - rebase: do not remove untracked files on checkout
- - rebase: pass correct arguments to post-checkout hook
- - t5403: refactor rebase post-checkout hook tests
- - rebase: factor out checkout for up to date branch
+  (merged to 'next' on 2022-02-10 at bd7c3615fe)
+ + rebase -m: don't fork git checkout
+ + rebase --apply: set ORIG_HEAD correctly
+ + rebase --apply: fix reflog
+ + reset_head(): take struct rebase_head_opts
+ + rebase: cleanup reset_head() calls
+ + create_autostash(): remove unneeded parameter
+ + reset_head(): make default_reflog_action optional
+ + reset_head(): factor out ref updates
+ + reset_head(): remove action parameter
+ + rebase --apply: don't run post-checkout hook if there is an error
+ + rebase: do not remove untracked files on checkout
+ + rebase: pass correct arguments to post-checkout hook
+ + t5403: refactor rebase post-checkout hook tests
+ + rebase: factor out checkout for up to date branch
 
  Use an internal call to reset_head() helper function instead of
  spawning "git checkout" in "rebase", and update code paths that are
  involved in the change.
 
- Will merge to 'next'.
- source: <pull.1049.v3.git.1643202349.gitgitgadget@gmail.com>
-
-
-* ab/no-errno-from-resolve-ref-unsafe (2022-01-26) 2 commits
-  (merged to 'next' on 2022-02-04 at d98254efe0)
- + refs API: remove "failure_errno" from refs_resolve_ref_unsafe()
- + sequencer: don't use die_errno() on refs_resolve_ref_unsafe() failure
-
- Remaining code-clean-up.
-
- Will merge to 'master'.
- source: <cover-v4-0.2-00000000000-20220126T143427Z-avarab@gmail.com>
-
-
-* gh/doc-typos (2022-01-26) 2 commits
-  (merged to 'next' on 2022-02-04 at b71e1bc746)
- + Documentation/config/pgp.txt: add missing apostrophe
- + Documentation/config/pgp.txt: replace stray <TAB> character with <SPC>
-
- Typofix.
-
  Will merge to 'master'.
- source: <20220126121426.53799-1-greg@hurrell.net>
-
-
-* jc/doc-log-messages (2022-01-27) 3 commits
-  (merged to 'next' on 2022-02-04 at cf136572ce)
- + SubmittingPatches: explain why we care about log messages
- + CodingGuidelines: hint why we value clearly written log messages
- + SubmittingPatches: write problem statement in the log in the present tense
-
- Update the contributor-facing documents on proposed log messages.
-
- Will merge to 'master'.
- source: <20220126234205.2923388-1-gitster@pobox.com>
+ source: <pull.1049.v3.git.1643202349.gitgitgadget@gmail.com>
 
 
 * en/fetch-negotiation-default-fix (2022-02-02) 3 commits
@@ -546,16 +439,6 @@ Release tarballs are available at:
  source: <pull.1131.v4.git.1643773361.gitgitgadget@gmail.com>
 
 
-* en/sparse-checkout-leakfix (2022-01-28) 1 commit
-  (merged to 'next' on 2022-02-04 at 10ca176008)
- + sparse-checkout: fix a couple minor memory leaks
-
- Leakfix.
-
- Will merge to 'master'.
- source: <pull.1189.git.git.1643335098710.gitgitgadget@gmail.com>
-
-
 * js/diff-filter-negation-fix (2022-01-28) 3 commits
   (merged to 'next' on 2022-02-08 at fe004a4c2c)
  + diff-filter: be more careful when looking for negative bits
@@ -591,16 +474,6 @@ Release tarballs are available at:
  source: <pull.1130.v2.git.1643380317358.gitgitgadget@gmail.com>
 
 
-* rc/negotiate-only-typofix (2022-01-28) 1 commit
-  (merged to 'next' on 2022-02-04 at 62b947ddbf)
- + fetch: fix negotiate-only error message
-
- Typofix.
-
- Will merge to 'master'.
- source: <20220128143602.31842-1-robert@coup.net.nz>
-
-
 * rj/receive-pack-abort-upon-disconnect (2022-01-28) 1 commit
  - receive-pack: check if client is alive before completing the push
 
@@ -628,18 +501,6 @@ Release tarballs are available at:
  source: <20220202042015.10115-1-jerry@skydio.com>
 
 
-* tg/fetch-prune-exit-code-fix (2022-01-31) 1 commit
-  (merged to 'next' on 2022-02-04 at 8af6ab286d)
- + fetch --prune: exit with error if pruning fails
-
- When "git fetch --prune" failed to prune the refs it wanted to
- prune, the command issued error messages but exited with exit
- status 0, which has been corrected.
-
- Will merge to 'master'.
- source: <20220131133047.1885074-1-t.gummerer@gmail.com>
-
-
 * ab/do-not-hide-failures-in-git-dot-pm (2022-02-01) 1 commit
   (merged to 'next' on 2022-02-08 at 1a8001f83e)
  + perl Git.pm: don't ignore signalled failure in _cmd_close()
@@ -668,7 +529,8 @@ Release tarballs are available at:
 
 
 * cb/clear-quarantine-early-on-all-ref-update-errors (2022-02-01) 1 commit
- - receive-pack: purge temporary data if no command is ready to run
+  (merged to 'next' on 2022-02-10 at 213f44aec8)
+ + receive-pack: purge temporary data if no command is ready to run
 
  Check if "receive-pack" will do any ref updates (various conditions
  could reject a push) before received objects are taken out of the
@@ -676,7 +538,7 @@ Release tarballs are available at:
  that is known-to-fail will not leave crufts that a future "gc"
  needs to clean up.
 
- Will merge to 'next'.
+ Will merge to 'master'.
  source: <20220129063538.24038-1-bojun.cbj@gmail.com>
 
 
@@ -775,16 +637,6 @@ Release tarballs are available at:
  source: <20220203101643.1987-1-philipoakley@iee.email>
 
 
-* sy/diff-usage-typofix (2022-02-02) 1 commit
-  (merged to 'next' on 2022-02-04 at 28a4186a44)
- + builtin/diff.c: fix "git-diff" usage string typo
-
- Typofix.
-
- Will merge to 'master'.
- source: <20220202072844.35545-1-shaoxuan.yuan02@gmail.com>
-
-
 * sy/modernize-t-lib-read-tree-m-3way (2022-02-02) 2 commits
   (merged to 'next' on 2022-02-09 at 8b7ecb4e99)
  + t/lib-read-tree-m-3way: indent with tabs
@@ -818,45 +670,32 @@ Release tarballs are available at:
  source: <690d2316ad518ea4551821b2b3aa652996858475.1644034886.git.steadmon@google.com>
 
 
-* rs/parse-options-lithelp-help (2022-01-20) 1 commit
-  (merged to 'next' on 2022-02-04 at 74bc57e8fa)
- + parse-options: document bracketing of argh
-
- Comment update.
-
- Will merge to 'master'.
- source: <c6ab4408-1091-4d14-849e-afe5f3053e8b@web.de>
-
-
-* jh/p4-various-fixups (2022-01-16) 23 commits
- . git-p4: seperate multiple statements onto seperate lines
- . git-p4: move inline comments to line above
- . git-p4: only seperate code blocks by a single empty line
- . git-p4: compare to singletons with "is" and "is not"
- . git-p4: normalize indentation of lines in conditionals
- . git-p4: ensure there is a single space around all operators
- . git-p4: ensure every comment has a single #
- . git-p4: remove spaces between dictionary keys and colons
- . git-p4: remove redundant backslash-continuations inside brackets
- . git-p4: remove extraneous spaces before function arguments
- . git-p4: place a single space after every comma
- . git-p4: removed brackets when assigning multiple return values
- . git-p4: remove spaces around default arguments
- . git-p4: remove padding from lists, tuples and function arguments
- . git-p4: sort and de-duplcate pylint disable list
- . git-p4: remove commented code
- . git-p4: convert descriptive class and function comments into docstrings
- . git-p4: improve consistency of docstring formatting
- . git-p4: indent with 4-spaces
- . git-p4: remove unneeded semicolons from statements
- . git-p4: add blank lines between functions and class definitions
- . Merge branch 'jh/p4-spawning-external-commands-cleanup' into jh/p4-various-fixups
- . Merge branch 'jh/p4-fix-use-of-process-error-exception' into jh/p4-various-fixups
+* jh/p4-various-fixups (2022-02-10) 22 commits
+ - git-p4: sort imports
+ - git-p4: seperate multiple statements onto seperate lines
+ - git-p4: move inline comments to line above
+ - git-p4: only seperate code blocks by a single empty line
+ - git-p4: compare to singletons with "is" and "is not"
+ - git-p4: normalize indentation of lines in conditionals
+ - git-p4: ensure there is a single space around all operators
+ - git-p4: ensure every comment has a single #
+ - git-p4: remove spaces between dictionary keys and colons
+ - git-p4: remove redundant backslash-continuations inside brackets
+ - git-p4: remove extraneous spaces before function arguments
+ - git-p4: place a single space after every comma
+ - git-p4: removed brackets when assigning multiple return values
+ - git-p4: remove spaces around default arguments
+ - git-p4: remove padding from lists, tuples and function arguments
+ - git-p4: sort and de-duplcate pylint disable list
+ - git-p4: remove commented code
+ - git-p4: convert descriptive class and function comments into docstrings
+ - git-p4: improve consistency of docstring formatting
+ - git-p4: indent with 4-spaces
+ - git-p4: remove unneeded semicolons from statements
+ - git-p4: add blank lines between functions and class definitions
 
  Various cleanups to "git p4".
-
- Breaks its own test suite.
- source: <20220116160550.514637-1-jholdsworth@nvidia.com>
+ source: <20220210164627.279520-1-jholdsworth@nvidia.com>
 
 
 * rs/bisect-executable-not-found (2022-01-19) 4 commits
@@ -892,19 +731,20 @@ Release tarballs are available at:
 
 
 * ps/avoid-unnecessary-hook-invocation-with-packed-refs (2022-01-17) 6 commits
- - refs: skip hooks when deleting uncovered packed refs
- - refs: do not execute reference-transaction hook on packing refs
- - refs: demonstrate excessive execution of the reference-transaction hook
- - refs: allow skipping the reference-transaction hook
- - refs: allow passing flags when beginning transactions
- - refs: extract packed_refs_delete_refs() to allow control of transaction
+  (merged to 'next' on 2022-02-10 at 4866a64508)
+ + refs: skip hooks when deleting uncovered packed refs
+ + refs: do not execute reference-transaction hook on packing refs
+ + refs: demonstrate excessive execution of the reference-transaction hook
+ + refs: allow skipping the reference-transaction hook
+ + refs: allow passing flags when beginning transactions
+ + refs: extract packed_refs_delete_refs() to allow control of transaction
 
  Because a deletion of ref would need to remove it from both the
  loose ref store and the packed ref store, a delete-ref operation
  that logically removes one ref may end up invoking ref-transaction
  hook twice, which has been corrected.
 
- Will merge to 'next'.
+ Will merge to 'master'.
  source: <cover.1642406989.git.ps@pks.im>
 
 
@@ -921,17 +761,6 @@ Release tarballs are available at:
  source: <pull.1108.v7.git.1644255105.gitgitgadget@gmail.com>
 
 
-* bc/clarify-eol-attr (2022-01-12) 2 commits
-  (merged to 'next' on 2022-02-04 at dc1db4bd21)
- + docs: correct documentation about eol attribute
- + t0027: add tests for eol without text in .gitattributes
-
- Doc and test update around the eol attribute.
-
- Will merge to 'master'.
- source: <20220111021507.531736-1-sandals@crustytoothpaste.net>
-
-
 * jz/rev-list-exclude-first-parent-only (2022-01-12) 1 commit
   (merged to 'next' on 2022-02-09 at f26a82c66a)
  + git-rev-list: add --exclude-first-parent-only flag
@@ -964,18 +793,6 @@ Release tarballs are available at:
  source: <pull.1114.v2.git.1642175983.gitgitgadget@gmail.com>
 
 
-* bc/csprng-mktemps (2022-01-17) 2 commits
-  (merged to 'next' on 2022-02-04 at 2e32375c73)
- + wrapper: use a CSPRNG to generate random file names
- + wrapper: add a helper to generate numbers from a CSPRNG
-
- Pick a better random number generator and use it when we prepare
- temporary filenames.
-
- Will merge to 'master'.
- source: <20220117215617.843190-1-sandals@crustytoothpaste.net>
-
-
 * vd/sparse-clean-etc (2022-01-13) 9 commits
   (merged to 'next' on 2022-02-09 at 5928dbd25e)
  + update-index: reduce scope of index expansion in do_reupdate
@@ -1018,28 +835,28 @@ Release tarballs are available at:
  source: <pull.1103.v5.git.1643769457.gitgitgadget@gmail.com>
 
 
-* bs/forbid-i18n-of-protocol-token-in-fetch-pack (2021-12-22) 2 commits
- - fixup! fetch-pack: parameterize message containing 'ready' keyword
+* bs/forbid-i18n-of-protocol-token-in-fetch-pack (2022-02-11) 1 commit
  - fetch-pack: parameterize message containing 'ready' keyword
 
  L10n support for a few error messages.
 
Expecting an ack for fixup.
Will merge to 'next'.
  source: <20211222075805.19027-1-bagasdotme@gmail.com>
 
 
 * gc/branch-recurse-submodules (2022-02-04) 7 commits
- - branch.c: use 'goto cleanup' in setup_tracking() to fix memory leaks
- - branch: add --recurse-submodules option for branch creation
- - builtin/branch: consolidate action-picking logic in cmd_branch()
- - branch: add a dry_run parameter to create_branch()
- - branch: make create_branch() always create a branch
- - branch: move --set-upstream-to behavior to dwim_and_setup_tracking()
- - Merge branch 'js/branch-track-inherit' into gc/branch-recurse-submodules
+  (merged to 'next' on 2022-02-10 at b54367ff92)
+ + branch.c: use 'goto cleanup' in setup_tracking() to fix memory leaks
+ + branch: add --recurse-submodules option for branch creation
+ + builtin/branch: consolidate action-picking logic in cmd_branch()
+ + branch: add a dry_run parameter to create_branch()
+ + branch: make create_branch() always create a branch
+ + branch: move --set-upstream-to behavior to dwim_and_setup_tracking()
+ + Merge branch 'js/branch-track-inherit' into gc/branch-recurse-submodules
 
  "git branch" learned the "--recurse-submodules" option.
 
- Will merge to 'next'.
+ Will merge to 'master'.
  source: <20220129000446.99261-1-chooglen@google.com>
 
 
@@ -1165,9 +982,8 @@ Release tarballs are available at:
  source: <cover.1644319434.git.dyroneteng@gmail.com>
 
 
-* jh/builtin-fsmonitor-part2 (2021-12-25) 31 commits
- - fixup! t7527: create test for fsmonitor--daemon
- - fixup! t/perf/p7519: speed up test on Windows
+* jh/builtin-fsmonitor-part2 (2022-02-11) 30 commits
+ - update-index: convert fsmonitor warnings to advise
  - t7527: test status with untracked-cache and fsmonitor--daemon
  - fsmonitor: force update index after large responses
  - fsmonitor--daemon: use a cookie file to sync with file system
@@ -1196,14 +1012,10 @@ Release tarballs are available at:
  - fsmonitor: use IPC to query the builtin FSMonitor daemon
  - fsmonitor: config settings are repository-specific
  - fsmonitor-ipc: create client routines for git-fsmonitor--daemon
- - fsmonitor: enhance existing comments
+ - fsmonitor: enhance existing comments, clarify trivial response handling
 
  Built-in fsmonitor (part 2).
-
- Expecting a reroll.
- Seems that the discussion stalled.
- cf. <d9c3ef61-768c-3560-2858-3438c355a742@jeffhostetler.com>
- source: <pull.1041.v4.git.1634826309.gitgitgadget@gmail.com>
+ source: <pull.1041.v5.git.1644612979.gitgitgadget@gmail.com>
 
 
 * es/superproject-aware-submodules (2022-02-03) 4 commits