Subject: What's cooking in git.git (Dec 2022, #07; Mon, 26)

From: Junio C Hamano <[email-masked]>
Date: Mon, 26 Dec 2022 12:38:04 +0900

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a future
release).  Commits prefixed with '-' are only in 'seen', and aren't
considered "accepted" at all.  A topic without enough support may be
discarded after a long period of no activity.

Copies of the source code to Git live in many repositories, and the
following is a list of the ones I push into or their mirrors.  Some
repositories have only a subset of branches.

With maint, master, next, seen, todo:

	git://git.kernel.org/pub/scm/git/git.git/
	git://repo.or.cz/alt-git.git/
	https://kernel.googlesource.com/pub/scm/git/git/
	https://github.com/git/git/
	https://gitlab.com/git-vcs/git/

With all the integration branches and topics broken out:

	https://github.com/gitster/git/

Even though the preformatted documentation in HTML and man format
are not sources, they are published in these repositories for
convenience (replace "htmldocs" with "manpages" for the manual
pages):

	git://git.kernel.org/pub/scm/git/git-htmldocs.git/
	https://github.com/gitster/git-htmldocs.git/

Release tarballs are available at:

	https://www.kernel.org/pub/software/scm/git/

--------------------------------------------------
[New Topics]

* ab/avoid-losing-exit-codes-in-tests (2022-12-20) 6 commits
 - tests: don't lose misc "git" exit codes
 - tests: don't lose "git" exit codes in "! ( git ... | grep )"
 - tests: don't lose exit status with "test <op> $(git ...)"
 - tests: don't lose exit status with "(cd ...; test <op> $(git ...))"
 - t/lib-patch-mode.sh: fix ignored exit codes
 - auto-crlf tests: don't lose exit code in loops and outside tests

 Test clean-up.

 Will merge to 'next'?
 source: <[email-masked]>

* cw/ci-whitespace (2022-12-20) 3 commits
 - ci (check-whitespace): move to actions/checkout@v3
 - ci (check-whitespace): add links to job output
 - ci (check-whitespace): suggest fixes for errors

 CI updates.

 Will merge to 'next'?
 source: <[email-masked]>

* dh/mingw-ownership-check-typofix (2022-12-20) 1 commit
 - mingw: fix typo in an error message from ownership check

 Error message typofix.

 Will merge to 'next'?
 source: <[email-masked]>

* js/ci-disable-cmake-by-default (2022-12-20) 1 commit
 - ci: only run win+VS build & tests in Git for Windows' fork

 Stop running win+VS build by default.

 Will merge to 'next'?
 source: <[email-masked]>

* sg/test-oid-wo-incomplete-line (2022-12-19) 1 commit
 - tests: make 'test_oid' print trailing newline

 Test helper updates.

 Will merge to 'next'?
 source: <[email-masked]>

* ab/bundle-wo-args (2022-12-25) 1 commit
  (merged to 'next' on 2022-12-26 at b086677fd0)
 + bundle: don't segfault on "git bundle <subcmd>"

 Fix to a small regression in 2.38 days.

 Will merge to 'master'.
 source: <[email-masked]>

* ad/test-record-count-when-harness-is-in-use (2022-12-25) 1 commit
 - test-lib: allow storing counts with test harnesses

 Allow summary results from tests to be written to t/test-results
 directory even when a test harness like 'prove' is in use.

 Comments?
 source: <[email-masked]>

* ps/fsync-refs-fix (2022-12-25) 1 commit
  (merged to 'next' on 2022-12-26 at 6358875b39)
 + refs: fix corruption by not correctly syncing packed-refs to disk

 Fix the sequence to fsync $GIT_DIR/packed-refs file that forgot to
 flush its output to the disk..

 Will merge to 'master'.
 source: <[email-masked]>

* sk/win32-pthread-exit-fix (2022-12-25) 1 commit
  (merged to 'next' on 2022-12-26 at ebcb1fef4c)
 + win32: use _endthreadex to terminate threads, not ExitThread

 An API emulation fix.

 Will merge to 'master'.
 source: <[email-masked]>

* sk/win32-close-handle-upon-pthread-join (2022-12-26) 2 commits
 - win32: close handles of threads that have been joined
 - win32-pthread: prepare pthread.c for change by formatting

 source: <[email-masked]>

--------------------------------------------------
[Graduated to 'master']

* ab/darwin-default-to-sha1dc (2022-12-16) 1 commit
  (merged to 'next' on 2022-12-16 at 31fb33b832)
 + Makefile: use sha1collisiondetection by default on OSX and Darwin

 Use the SHA1DC implementation on macOS, just like other platforms,
 by default.
 source: <[email-masked]>

* ab/t4023-avoid-losing-exit-status-of-diff (2022-12-05) 1 commit
  (merged to 'next' on 2022-12-16 at 75c7a06930)
 + t4023: fix ignored exit codes of git

 Test fix.
 source: <[email-masked]>

* ab/t5314-avoid-losing-exit-status (2022-12-02) 1 commit
  (merged to 'next' on 2022-12-16 at 40f3acd249)
 + t5314: check exit code of "git"

 Test fix.
 source: <[email-masked]>

* ab/t7600-avoid-losing-exit-status-of-git (2022-12-05) 1 commit
  (merged to 'next' on 2022-12-16 at ef89e4f2d1)
 + t7600: don't ignore "rev-parse" exit code in helper

 Test fix.
 source: <[email-masked]>

* aw/complete-case-insensitive (2022-11-30) 2 commits
  (merged to 'next' on 2022-12-16 at 341974c2bb)
 + completion: add case-insensitive match of pseudorefs
 + completion: add optional ignore-case when matching refs

 Introduce a case insensitive mode to the Bash completion helpers.
 source: <[email-masked]>

* jh/fsmonitor-darwin-modernize (2022-12-15) 1 commit
  (merged to 'next' on 2022-12-16 at 197e1f8c43)
 + fsmonitor: eliminate call to deprecated FSEventStream function

 Stop using deprecated macOS API in fsmonitor.
 source: <[email-masked]>

* jh/t7527-unflake-by-forcing-cookie (2022-12-02) 1 commit
  (merged to 'next' on 2022-12-16 at d64198c6c3)
 + fsmonitor: fix race seen in t7527

 Make fsmonitor more robust to avoid the flakiness seen in t7527.
 source: <[email-masked]>

* jk/avoid-redef-system-functions (2022-12-05) 3 commits
  (merged to 'next' on 2022-12-16 at 55f7102dba)
 + Merge branch 'jk/avoid-redef-system-functions-2.30' into jk/avoid-redef-system-functions
 + Merge branch 'jk/avoid-redef-system-functions-2.30'
 + Merge branch 'jk/avoid-redef-system-functions-2.30' into maint
 (this branch uses jk/avoid-redef-system-functions-2.30.)

 The jk/avoid-redef-system-functions-2.30 topic pre-merged for more
 recent codebase.

* jk/avoid-redef-system-functions-2.30 (2022-12-05) 2 commits
  (merged to 'next' on 2022-12-16 at aa101dfc0c)
 + git-compat-util: undefine system names before redeclaring them
 + git-compat-util: avoid redefining system function names
 (this branch is used by jk/avoid-redef-system-functions.)

 Redefining system functions for a few functions did not follow our
 usual "implement git_foo() and #define foo(args) git_foo(args)"
 pattern, which has broken build for some folks.
 source: <[email-masked]>

* jk/ref-filter-error-reporting-fix (2022-12-15) 5 commits
  (merged to 'next' on 2022-12-16 at 8135d51462)
 + ref-filter: convert email atom parser to use err_bad_arg()
 + ref-filter: truncate atom names in error messages
 + ref-filter: factor out "unrecognized %(foo) arg" errors
 + ref-filter: factor out "%(foo) does not take arguments" errors
 + ref-filter: reject arguments to %(HEAD)

 Clean-ups in error messages produced by "git for-each-ref" and friends.
 source: <Y5n3S7cnD7s/[email-masked]>

* jk/server-supports-v2-cleanup (2022-12-13) 1 commit
  (merged to 'next' on 2022-12-16 at 9b995dc263)
 + server_supports_v2(): use a separate function for die_on_error

 Code clean-up.
 source: <[email-masked]>

* jk/unused-post-2.39 (2022-12-13) 9 commits
  (merged to 'next' on 2022-12-16 at 4ce4a868e5)
 + userdiff: mark unused parameter in internal callback
 + list-objects-filter: mark unused parameters in virtual functions
 + diff: mark unused parameters in callbacks
 + xdiff: mark unused parameter in xdl_call_hunk_func()
 + xdiff: drop unused parameter in def_ff()
 + ws: drop unused parameter from ws_blank_line()
 + list-objects: drop process_gitlink() function
 + blob: drop unused parts of parse_blob_buffer()
 + ls-refs: use repository parameter to iterate refs

 Code clean-up around unused function parameters.
 source: <[email-masked]>

* js/t3920-shell-and-or-fix (2022-12-05) 1 commit
  (merged to 'next' on 2022-12-16 at 59536ed758)
 + t3920: don't ignore errors of more than one command with `|| true`
 (this branch is used by rs/t3920-crlf-eating-grep-fix.)

 Test fix.
 source: <[email-masked]>

* jt/http-fetch-trace2-report-name (2022-12-13) 1 commit
  (merged to 'next' on 2022-12-16 at b26e38cdb2)
 + http-fetch: invoke trace2_cmd_name()

 "git http-fetch" (which is rarely used) forgot to identify itself
 in the trace2 output.
 source: <[email-masked]>

* pg/diff-stat-unmerged-regression-fix (2022-12-15) 1 commit
  (merged to 'next' on 2022-12-16 at 2a61376847)
 + diff: fix regression with --stat and unmerged file

 The output from "git diff --stat" on an unmerged path lost the
 terminating LF in Git 2.39, which has been corrected.
 source: <[email-masked]>

* rj/branch-copy-and-rename (2022-11-17) 1 commit
  (merged to 'next' on 2022-12-16 at b88fa41a8a)
 + branch: force-copy a branch to itself via @{-1} is a no-op

 Fix a pair of bugs in 'git branch'.
 source: <[email-masked]>

* rr/status-untracked-advice (2022-12-01) 1 commit
  (merged to 'next' on 2022-12-16 at bed7d84d07)
 + status: modernize git-status "slow untracked files" advice

 The advice message given by "git status" when it takes long time to
 enumerate untracked paths has been updated.
 source: <[email-masked]>

* rs/am-parse-options-cleanup (2022-12-13) 1 commit
  (merged to 'next' on 2022-12-16 at 9013ff2a19)
 + am: don't pass strvec to apply_parse_options()

 Code clean-up.
 source: <[email-masked]>

* rs/clarify-error-in-write-loose-object (2022-12-14) 1 commit
  (merged to 'next' on 2022-12-16 at 8ef4588405)
 + object-file: inline write_buffer()

 Code clean-up.
 source: <[email-masked]>

* rs/clear-commit-marks-cleanup (2022-12-13) 1 commit
  (merged to 'next' on 2022-12-16 at a9e52a7cef)
 + commit: skip already cleared parents in clear_commit_marks_1()

 Code clean-up.
 source: <[email-masked]>

* rs/diff-parseopts (2022-12-02) 3 commits
  (merged to 'next' on 2022-12-16 at 6fdfd67cb9)
 + diff: remove parseopts member from struct diff_options
 + diff: use add_diff_options() in diff_opt_parse()
 + diff: factor out add_diff_options()

 The way the diff machinery prepares the options array for the
 parse_options API has been refactored to avoid resource leaks.
 source: <[email-masked]>

* rs/plug-pattern-list-leak-in-lof (2022-12-02) 1 commit
  (merged to 'next' on 2022-12-16 at 5cc6d4165a)
 + list-objects-filter: plug pattern_list leak

 Leak fix.
 source: <[email-masked]>

* rs/reflog-expiry-cleanup (2022-12-13) 1 commit
  (merged to 'next' on 2022-12-16 at 8165a625dd)
 + reflog: clear leftovers in reflog_expiry_cleanup()

 Code clean-up.
 source: <[email-masked]>

* rs/t3920-crlf-eating-grep-fix (2022-12-07) 1 commit
  (merged to 'next' on 2022-12-16 at 56ff27beaa)
 + t3920: support CR-eating grep
 (this branch uses js/t3920-shell-and-or-fix.)

 Test fix.
 source: <[email-masked]>

* rs/t4205-do-not-exit-in-test-script (2022-12-02) 1 commit
  (merged to 'next' on 2022-12-16 at 71b4de7729)
 + t4205: don't exit test script on failure

 Test fix.
 source: <[email-masked]>

* sg/help-autocorrect-config-fix (2022-12-13) 1 commit
  (merged to 'next' on 2022-12-16 at edcf99f34c)
 + help.c: fix autocorrect in work tree for bare repository

 The code to auto-correct a misspelt subcommand unnecessarily called
 into git_default_config() from the early config codepath, which was
 a no-no.  This has bee corrected.
 source: <[email-masked]>

* sk/remove-duplicate-includes (2022-12-15) 1 commit
  (merged to 'next' on 2022-12-16 at 846bc84e59)
 + git: remove duplicate includes

 Code clean-up.
 source: <[email-masked]>

* sx/pthread-error-check-fix (2022-12-05) 1 commit
  (merged to 'next' on 2022-12-16 at 60848153fe)
 + maintenance: compare output of pthread functions for inequality with 0

 Correct pthread API usage.
 source: <[email-masked]>

--------------------------------------------------
[Cooking]

* ab/no-more-git-global-super-prefix (2022-12-26) 9 commits
 - read-tree: add "--super-prefix" option, eliminate global
 - submodule--helper: convert "{update,clone}" to their own "--super-prefix"
 - submodule--helper: convert "status" to its own "--super-prefix"
 - submodule--helper: convert "sync" to its own "--super-prefix"
 - submodule--helper: convert "foreach" to its own "--super-prefix"
 - submodule--helper: don't use global --super-prefix in "absorbgitdirs"
 - submodule.c & submodule--helper: pass along "super_prefix" param
 - read-tree + fetch tests: test failing "--super-prefix" interaction
 - submodule absorbgitdirs tests: add missing "Migrating git..." tests

 Stop using "git --super-prefix" and narrow the scope of its use to
 the submodule--helper.

 Will merge to 'next'.
 source: <[email-masked]>

* cb/grep-fallback-failing-jit (2022-12-17) 1 commit
 - grep: fall back to interpreter mode if JIT fails

 In an environment where dynamically generated code is prohibited to
 run (e.g. SELinux), failure to JIT pcre patterns is expected.  Fall
 back to interpreted execution in such a case.

 Expecting a reroll.
 cf. <[email-masked]>
 source: <[email-masked]>

* jc/spell-id-in-both-caps-in-message-id (2022-12-17) 1 commit
 - e-mail workflow: Message-ID is spelled with ID in both capital letters

 Consistently spell "Message-ID" as such, not "Message-Id".

 Comments?
 source: <[email-masked]>

* lk/line-range-parsing-fix (2022-12-20) 1 commit
  (merged to 'next' on 2022-12-26 at 216226a6e2)
 + line-range: fix infinite loop bug with '$' regex

 When given a pattern that matches an empty string at the end of a
 line, the code to parse the "git diff" line-ranges fell into an
 infinite loop, which has been corrected.

 Will merge to 'master'.
 source: <[email-masked]>

* sa/git-var-sequence-editor (2022-12-18) 1 commit
  (merged to 'next' on 2022-12-20 at a5737674b6)
 + var: add GIT_SEQUENCE_EDITOR variable

 Just like "git var GIT_EDITOR" abstracts the complex logic to
 choose which editor gets used behind it, "git var" now give support
 to GIT_SEQUENCE_EDITOR.

 Will merge to 'master'.
 source: <[email-masked]>

* ss/pull-v-recurse-fix (2022-12-18) 1 commit
  (merged to 'next' on 2022-12-20 at 21f91dc75d)
 + submodule: accept -v for the update command

 "git pull -v --recurse-submodules" attempted to pass "-v" down to
 underlying "git submodule update", which did not understand the
 request and barfed, which has been corrected.

 Will merge to 'master'.
 source: <[email-masked]>

* ds/omit-trailing-hash-in-index (2022-12-17) 4 commits
 - features: feature.manyFiles implies fast index writes
 - test-lib-functions: add helper for trailing hash
 - read-cache: add index.skipHash config option
 - hashfile: allow skipping the hash function

 Introduce an optional configuration to allow the trailing hash that
 protects the index file from bit flipping.

 cf. <[email-masked]>
 source: <[email-masked]>

* ed/fsmonitor-inotify (2022-12-13) 6 commits
 - fsmonitor: update doc for Linux
 - fsmonitor: test updates
 - fsmonitor: enable fsmonitor for Linux
 - fsmonitor: implement filesystem change listener for Linux
 - fsmonitor: determine if filesystem is local or remote
 - fsmonitor: prepare to share code between Mac OS and Linux

 Bundled fsmonitor for Linux using inotify API.

 Needs review on the updated round.
 source: <[email-masked]>

* es/t1509-root-fixes (2022-12-09) 3 commits
 - t1509: facilitate repeated script invocations
 - t1509: make "setup" test more robust
 - t1509: fix failing "root work tree" test due to owner-check

 source: <[email-masked]>

* jt/avoid-lazy-fetch-commits (2022-12-15) 4 commits
 - commit: don't lazy-fetch commits
 - object-file: emit corruption errors when detected
 - object-file: refactor map_loose_object_1()
 - object-file: remove OBJECT_INFO_IGNORE_LOOSE

 Even in a repository with promissor remote, it is useless to
 attempt to lazily attempt fetching an object that is expected to be
 commit, because no "filter" mode omits commit objects.  Take
 advantage of this assumption to fail fast on errors.

 Will merge to 'next'?
 source: <[email-masked]>

* jx/t1301-updates (2022-11-30) 3 commits
 - t1301: do not change $CWD in "shared=all" test case
 - t1301: use test_when_finished for cleanup
 - t1301: fix wrong template dir for git-init

 Test updates.
 source: <[email-masked]>

* km/send-email-with-v-reroll-count (2022-11-30) 2 commits
 - SQUASH???
 - send-email: relay '-v N' to format-patch

 "git send-email -v 3" used to be expanded to "git send-email
 --validate 3" when the user meant to pass them down to
 "format-patch", which has been corrected.

 Seems to break CI.
 source: <[email-masked]>

* so/diff-merges-more (2022-12-18) 5 commits
 - diff-merges: improve --diff-merges documentation
 - diff-merges: issue warning on lone '-m' option
 - diff-merges: support list of values for --diff-merges
 - diff-merges: implement log.diffMerges-m-imply-p config
 - diff-merges: implement [no-]hide option and log.diffMergesHide config

 Assorted updates to "--diff-merges=X" option.
 source: <[email-masked]>

* ab/config-multi-and-nonbool (2022-11-27) 9 commits
 - for-each-repo: with bad config, don't conflate <path> and <cmd>
 - config API: add "string" version of *_value_multi(), fix segfaults
 - config API users: test for *_get_value_multi() segfaults
 - for-each-repo: error on bad --config
 - config API: have *_multi() return an "int" and take a "dest"
 - versioncmp.c: refactor config reading next commit
 - config tests: add "NULL" tests for *_get_value_multi()
 - config tests: cover blind spots in git_die_config() tests
 - for-each-repo tests: test bad --config keys

 Assorted config API updates.

 Waiting for review.
 source: <[email-masked]>

* sa/cat-file-mailmap--batch-check (2022-12-20) 2 commits
 - cat-file: add mailmap support to --batch-check option
 - cat-file: add mailmap support to -s option

 'cat-file' gains mailmap support for its '--batch-check' and '-s'
 options.

 Will merge to 'next'.
 cf. <[email-masked]>
 source: <[email-masked]>

* ab/tag-object-type-errors (2022-11-22) 5 commits
 - tag: don't emit potentially incorrect "object is a X, not a Y"
 - tag: don't misreport type of tagged objects in errors
 - object tests: add test for unexpected objects in tags
 - object-file.c: free the "t.tag" in check_tag()
 - Merge branch 'jk/parse-object-type-mismatch' into ab/tag-object-type-errors

 Hardening checks around mismatched object types when one of those
 objects is a tag.

 Needs review.
 source: <[email-masked]>

* js/range-diff-mbox (2022-11-23) 1 commit
 - range-diff: support reading mbox files

 'git range-diff' gained support for reading either side from an .mbox
 file instead of a revision range.

 Expecting review responses.
 source: <[email-masked]>

* tr/am--no-verify (2022-12-01) 2 commits
 - SQUASH???
 - am: allow passing --no-verify flag

 Conditionally skip the pre-applypatch and applypatch-msg hooks when
 applying patches with 'git am'.

 Expecting a (hopefully final) reroll.
 source: <[email-masked]>

* ew/format-patch-mboxrd (2022-12-25) 1 commit
  (merged to 'next' on 2022-12-26 at bb6cc9e207)
 + format-patch: support format.mboxrd with --stdout

 "git format-patch" learned to honor format.mboxrd even when sending
 patches to the standard output stream,

 Will merge to 'master'.
 source: <20221222201619.M435985@dcvr>

* js/drop-mingw-test-cmp (2022-12-13) 1 commit
 - tests(mingw): avoid very slow `mingw_test_cmp`

 Use `git diff --no-index` as a test_cmp on Windows.

 Will merge to 'next'?
 source: <[email-masked]>

* mc/switch-advice (2022-11-09) 1 commit
 - po: use `switch` over `checkout` in error message

 Use 'switch' instead of 'checkout' in an error message.

 Waiting for review response.
 source: <[email-masked]>

* ja/worktree-orphan (2022-12-20) 4 commits
 - worktree add: add hint to use --orphan when bad ref
 - worktree add: add --orphan flag
 - worktree add: refactor opt exclusion tests
 - worktree add: include -B in usage docs

 'git worktree add' learned how to create a worktree based on an
 orphaned branch with `--orphan`.
 source: <[email-masked]>

* tb/ci-concurrency (2022-11-08) 1 commit
 - ci: avoid unnecessary builds

 Avoid unnecessary builds in CI, with settings configured in
 ci-config.

 Waiting for review.
 source: <[email-masked]>

* tl/notes--blankline (2022-11-09) 5 commits
 - notes.c: introduce "--no-blank-line" option
 - notes.c: provide tips when target and append note are both empty
 - notes.c: drop unreachable code in 'append_edit()'
 - notes.c: cleanup for "designated init" and "char ptr init"
 - notes.c: cleanup 'strbuf_grow' call in 'append_edit'

 'git notes append' was taught '--[no-]blank-line' to conditionally
 add a LF between a new and existing note.

 Waiting for review.
 source: <[email-masked]>

* ds/bundle-uri-4 (2022-12-25) 11 commits
  (merged to 'next' on 2022-12-26 at 6d7c21c44a)
 + clone: unbundle the advertised bundles
 + bundle-uri: download bundles from an advertised list
 + bundle-uri: allow relative URLs in bundle lists
 + strbuf: introduce strbuf_strip_file_from_path()
 + bundle-uri: serve bundle.* keys from config
 + bundle-uri client: add helper for testing server
 + transport: rename got_remote_heads
 + bundle-uri client: add boolean transfer.bundleURI setting
 + clone: request the 'bundle-uri' command when available
 + t: create test harness for 'bundle-uri' command
 + protocol v2: add server-side "bundle-uri" skeleton

 Bundle URIs part 4.

 Will merge to 'master'.
 source: <[email-masked]>

* po/pretty-hard-trunc (2022-11-13) 1 commit
 - pretty-formats: add hard truncation, without ellipsis, options

 Add a new pretty format which truncates without ellipsis.

 Waiting for review.
 source: <[email-masked]>

* cc/filtered-repack (2022-12-25) 3 commits
 - gc: add gc.repackFilter config option
 - repack: add --filter=<filter-spec> option
 - pack-objects: allow --filter without --stdout

 "git repack" learns to discard objects that ought to be retrievable
 again from the promissor remote.
 source: <[email-masked]>

* mc/credential-helper-auth-headers (2022-12-13) 8 commits
 - t5556: add HTTP authentication tests
 - test-http-server: add simple authentication
 - test-http-server: pass Git requests to http-backend
 - test-http-server: add HTTP request parsing
 - test-http-server: add HTTP error response function
 - test-http-server: add stub HTTP server test helper
 - credential: add WWW-Authenticate header to cred requests
 - http: read HTTP WWW-Authenticate response headers

 Extending credential helper protocol.

 Waiting for review responses (or a reroll).
 cf. <[email-masked]>
 source: <[email-masked]>

--------------------------------------------------
[Discarded]

* pw/test-todo (2022-10-06) 3 commits
 . test_todo: allow [verbose] test as the command
 . test_todo: allow [!] grep as the command
 . tests: add test_todo() to mark known breakages

 RFC for test framework improvement.

 Needs review.
 source: <[email-masked]>

* cw/submodule-status-in-parallel (2022-11-08) 6 commits
 . diff-lib: parallelize run_diff_files for submodules
 . diff-lib: refactor match_stat_with_submodule
 . submodule: move status parsing into function
 . submodule: strbuf variable rename
 . run-command: add duplicate_output_fn to run_processes_parallel_opts
 . Merge branch 'ab/run-hook-api-cleanup' into cw/submodule-status-in-parallel

 Allow the internal "diff-files" engine to run "how has this
 submodule changed?" in parallel to speed up "git status".

 Waiting for review.
 source: <[email-masked]>

* es/doc-creation-factor-fix (2022-07-28) 2 commits
 . range-diff: clarify --creation-factor=<factor>
 . format-patch: clarify --creation-factor=<factor>

 Expecting a reroll by somebody more familiar with the logic
 cf. <[email-masked]>
 source: <[email-masked]>

* ds/bundle-uri-4-fixup (2022-12-13) 3 commits
 . bundle-uri: remove GIT_TEST_BUNDLE_URI env variable
 . bundle-uri: advertise based on repo config
 . bundle-uri: drop unused 'uri' parameter

 Incremental fixes on ds/bundle-uri-4 topic.

 Discarded.
 The base topic has been updated to make these "oops" fixes unneeded.
 source: <[email-masked]>