What's cooking (2022/12 #02)

This commit is contained in:
Junio C Hamano
2022-12-06 11:13:36 +09:00
parent 318395c842
commit ecaae0c781

View File

@@ -1,10 +1,10 @@
To: git@vger.kernel.org
Subject: What's cooking in git.git (Dec 2022, #01; Thu, 1)
X-master-at: 805265fcf7a737664a8321aaf4a0587b78435184
X-next-at: 54fd8350bdd496cc00f47dcf638aba6a72732ffa
Subject: What's cooking in git.git (Dec 2022, #02; Tue, 6)
X-master-at: 2e71cbbddd64695d43383c25c7a054ac4ff86882
X-next-at: 4a64d8e25efd5e2bc70b9be34e04379e2ce12632
Bcc: lwn@lwn.net, gitster@pobox.com
What's cooking in git.git (Dec 2022, #01; Thu, 1)
What's cooking in git.git (Dec 2022, #02; Tue, 6)
--------------------------------------------------
Here are the topics that have been cooking in my tree. Commits
@@ -14,7 +14,8 @@ 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.
The first release candidate has been tagged.
Git 2.39-rc2 has been tagged. Hopefully from here on it will be
smooth sailing and we'd have a good solid Git 2.39 early next week?
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
@@ -47,84 +48,93 @@ Release tarballs are available at:
--------------------------------------------------
[New Topics]
* jk/avoid-redef-system-functions (2022-12-01) 2 commits
(merged to 'next' on 2022-12-01 at 7b6131f09f)
+ 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.)
* ab/t4023-avoid-losing-exit-status-of-diff (2022-12-05) 1 commit
(merged to 'next' on 2022-12-05 at 2f47548cad)
+ t4023: fix ignored exit codes of git
The jk/avoid-redef-system-functions-2.30 topic pre-merged for more
recent codebase.
Test fix.
Will cook in 'next'.
source: <patch-v2-3.8-c5feef1c808-20221202T000227Z-avarab@gmail.com>
* jk/avoid-redef-system-functions-2.30 (2022-12-01) 1 commit
(merged to 'next' on 2022-12-01 at b52a884362)
+ git-compat-util: avoid redefining system function names
(this branch is used by jk/avoid-redef-system-functions.)
* jh/t7527-unflake-by-forcing-cookie (2022-12-02) 1 commit
(merged to 'next' on 2022-12-05 at da8e250c87)
+ fsmonitor: fix race seen in t7527
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.
Make fsmonitor more robust to avoid the flakiness seen in t7527.
Will cook in 'next'.
source: <Y4fH4rhcSztHwKvK@coredump.intra.peff.net>
source: <pull.1437.git.1669937534944.gitgitgadget@gmail.com>
* jt/avoid-lazy-fetch-commits (2022-12-01) 4 commits
. commit: don't lazy-fetch commits
. object-file: refactor replace object lookup
. object-file: refactor corrupt object diagnosis
. object-file: reread object with exact same args
* rs/plug-pattern-list-leak-in-lof (2022-12-02) 1 commit
(merged to 'next' on 2022-12-05 at e2c11342b1)
+ list-objects-filter: plug pattern_list leak
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.
Leak fix.
Seems to break CI (win test (7)).
cf. https://github.com/git/git/actions/runs/3591107183/jobs/6045374690
source: <cover.1669839849.git.jonathantanmy@google.com>
Will cook in 'next'.
source: <b4361c3e-852b-e30c-f240-86c34bc9c474@web.de>
* rs/diff-parseopts (2022-12-01) 4 commits
- SQUASH???
- diff: remove parseopts member of struct diff_options
- diff: let prep_parse_options() return parseopt array
- diff: factor out add_diff_options()
* rs/t4205-do-not-exit-in-test-script (2022-12-02) 1 commit
(merged to 'next' on 2022-12-05 at 9db30340b3)
+ t4205: don't exit test script on failure
The way the diff machinery prepares the options array for the
parse_options API has been refactored to avoid resource leaks.
Test fix.
Will merge to 'next'?
source: <0620b4a6-b80a-d8a0-5a35-857b9fe0c986@web.de>
--------------------------------------------------
[Graduated to 'master']
* ab/fewer-the-index-macros (2022-12-01) 1 commit
(merged to 'next' on 2022-12-01 at 21b212faed)
+ cocci: avoid "should ... be a metavariable" warnings
Squelch warnings from Coccinelle
source: <patch-1.1-31af153702e-20221130T082521Z-avarab@gmail.com>
Will cook in 'next'.
source: <c5b4d091-23c1-5a75-a255-99ec83973d8d@web.de>
* ab/gnumake-4.4-fix (2022-12-01) 1 commit
(merged to 'next' on 2022-12-01 at c4d7fa882b)
+ Makefiles: change search through $(MAKEFLAGS) for GNU make 4.4
* ab/t5314-avoid-losing-exit-status (2022-12-02) 1 commit
(merged to 'next' on 2022-12-05 at ff99a5672f)
+ t5314: check exit code of "git"
Adjust our Makefiles for GNUmake 4.4
source: <patch-v3-1.1-432518b2dd7-20221130T081835Z-avarab@gmail.com>
Test fix.
Will cook in 'next'.
source: <patch-v2-1.1-ca77a7249e6-20221128T141818Z-avarab@gmail.com>
* ps/gnumake-4.4-fix (2022-11-28) 1 commit
(merged to 'next' on 2022-11-29 at 1151bc06fc)
+ Makefile: avoid multiple patterns when recipes generate one file
* ab/t7600-avoid-losing-exit-status-of-git (2022-12-05) 1 commit
(merged to 'next' on 2022-12-05 at 7105bccb5e)
+ t7600: don't ignore "rev-parse" exit code in helper
Adjust Makefile for GNU make 4.4
source: <20221127224251.2508200-2-psmith@gnu.org>
Test fix.
Will cook in 'next'.
source: <patch-v3-1.8-64dfec31fb3-20221202T114733Z-avarab@gmail.com>
* jh/fsmonitor-darwin-modernize (2022-12-05) 1 commit
- fsmonitor: eliminate call to deprecated FSEventStream function
Stop using deprecated macOS API in fsmonitor.
Will merge to 'next'.
source: <pull.1436.git.1669991072393.gitgitgadget@gmail.com>
* js/t3920-shell-and-or-fix (2022-12-05) 1 commit
(merged to 'next' on 2022-12-05 at ea2b21208d)
+ t3920: don't ignore errors of more than one command with `|| true`
Test fix.
Will cook in 'next'.
source: <febcfb0a-c410-fb71-cff9-92acfcb269e2@kdbg.org>
* sx/pthread-error-check-fix (2022-12-05) 1 commit
(merged to 'next' on 2022-12-05 at 53ef195404)
+ maintenance: compare output of pthread functions for inequality with 0
Correct pthread API usage.
Will cook in 'next'.
source: <pull.1389.git.git.1670000578395.gitgitgadget@gmail.com>
--------------------------------------------------
[Stalled]
@@ -213,17 +223,6 @@ Release tarballs are available at:
source: <pull.1132.v6.git.1661885419.gitgitgadget@gmail.com>
* od/ci-use-checkout-v3-when-applicable (2022-10-10) 2 commits
. ci(main): linux32 uses actions/checkout@v2
. ci(main): upgrade actions/checkout to v3
Attempt to update GitHub CI to use actions/checkout@v3
Expecting a reroll.
Seems to break the CI completely.
source: <pull.1354.git.git.1665388136.gitgitgadget@gmail.com>
* ed/fsmonitor-inotify (2022-11-25) 6 commits
- fsmonitor: update doc for Linux
- fsmonitor: test updates
@@ -291,6 +290,72 @@ Release tarballs are available at:
--------------------------------------------------
[Cooking]
* od/ci-use-checkout-v3-when-applicable (2022-12-06) 1 commit
- ci(main): upgrade actions/checkout to v3
Update GitHub CI to use actions/checkout@v3; use of the older
checkout@v2 gets annoying deprecation notices.
source: <pull.1354.v2.git.git.1670234474721.gitgitgadget@gmail.com>
* jk/avoid-redef-system-functions (2022-12-05) 3 commits
(merged to 'next' on 2022-12-05 at e6e44a4d66)
+ Merge branch 'jk/avoid-redef-system-functions-2.30' into jk/avoid-redef-system-functions
(merged to 'next' on 2022-12-01 at 7b6131f09f)
+ 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.
Will cook in 'next'.
* jk/avoid-redef-system-functions-2.30 (2022-12-05) 2 commits
(merged to 'next' on 2022-12-05 at 9a9b96be8d)
+ git-compat-util: undefine system names before redeclaring them
(merged to 'next' on 2022-12-01 at b52a884362)
+ 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.
Will cook in 'next'.
source: <Y4fH4rhcSztHwKvK@coredump.intra.peff.net>
* jt/avoid-lazy-fetch-commits (2022-12-02) 4 commits
- commit: don't lazy-fetch commits
- object-file: refactor replace object lookup
- object-file: refactor corrupt object diagnosis
- object-file: reread object with exact same args
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.
Seems to break CI (win test (7)).
cf. https://github.com/git/git/actions/runs/3591107183/jobs/6045374690
source: <cover.1669922792.git.jonathantanmy@google.com>
* rs/diff-parseopts (2022-12-02) 3 commits
(merged to 'next' on 2022-12-05 at 7cf5090e50)
+ 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.
Will cook in 'next'.
source: <19325420-5630-87bb-0c2c-362151214b36@web.de>
* sa/git-var-empty (2022-11-27) 2 commits
(merged to 'next' on 2022-12-01 at 3b81dcb382)
+ var: allow GIT_EDITOR to return null
@@ -327,12 +392,12 @@ Release tarballs are available at:
* so/diff-merges-more (2022-11-30) 6 commits
. SQUASH??? cocci fix
. diff-merges: issue warning on lone '-m' option
. diff-merges: support list of values for --diff-merges
. diff-merges: implement log.diffMergesForce config
. diff-merges: implement log.diffMerges-m-imply-p config
. diff-merges: implement [no-]hide option and log.diffMergesHide config
- SQUASH??? cocci fix
- diff-merges: issue warning on lone '-m' option
- diff-merges: support list of values for --diff-merges
- diff-merges: implement log.diffMergesForce config
- 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.
@@ -373,17 +438,13 @@ Release tarballs are available at:
source: <pull.1423.v8.git.1669511933.gitgitgadget@gmail.com>
* sa/cat-file-mailmap--batch-check (2022-11-21) 2 commits
. cat-file: add mailmap support to --batch-check option
. cat-file: add mailmap support to -s option
* sa/cat-file-mailmap--batch-check (2022-12-02) 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.
Seems to break CI.
test broken on osx due to "wc -c" padding its output
cf. https://github.com/git/git/actions/runs/3581605069/jobs/6024866010#step:4:1860
source: <20221120074852.121346-1-siddharthasthana31@gmail.com>
source: <20221201155504.320461-1-siddharthasthana31@gmail.com>
* ab/tag-object-type-errors (2022-11-22) 5 commits
@@ -410,23 +471,22 @@ Release tarballs are available at:
source: <pull.1420.v3.git.1669108102092.gitgitgadget@gmail.com>
* rj/branch-copy-and-rename (2022-11-17) 2 commits
- branch: clear target branch configuration before copying or renaming
* rj/branch-copy-and-rename (2022-11-17) 1 commit
- branch: force-copy a branch to itself via @{-1} is a no-op
Fix a pair of bugs in 'git branch'.
Waiting for review discussion to settle.
Will merge to 'next'.
source: <f0b2d46c-2e9c-2630-2870-8ed550dd1606@gmail.com>
* tl/ls-tree--pattern (2022-11-17) 6 commits
. ls-tree: introduce '--pattern' option
. ls-tree: introduce 'match_pattern()' function
. ls-tree: improving cohension in the print code
. ls-tree: optimize params of 'show_tree_common_default_long()'
. t3104: remove shift code in 'test_ls_tree_format'
. ls-tree: cleanup the redundant SPACE
- ls-tree: introduce '--pattern' option
- ls-tree: introduce 'match_pattern()' function
- ls-tree: improving cohension in the print code
- ls-tree: optimize params of 'show_tree_common_default_long()'
- t3104: remove shift code in 'test_ls_tree_format'
- ls-tree: cleanup the redundant SPACE
A synonym for "ls-tree | grep <pattern>", "ls-tree
--pattern=<pattern>" was introduced.
@@ -449,38 +509,6 @@ Release tarballs are available at:
source: <20221130172833.2662751-1-thierry.reding@gmail.com>
* ab/remove--super-prefix (2022-11-21) 12 commits
. fetch: rename "--submodule-prefix" to "--super-prefix"
. 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
. Merge branch 'ab/submodule-no-abspath' into ab/remove--super-prefix
(merged to 'next' on 2022-11-18 at 34d0accc7b)
+ submodule--helper absorbgitdirs: no abspaths in "Migrating git..."
. Merge branch 'ab/submodule-helper-prep-only' into ab/remove--super-prefix
Remove the top-level `--super-prefix` option.
source: <cover-v3-0.9-00000000000-20221119T122853Z-avarab@gmail.com>
* ab/submodule-no-abspath (2022-11-23) 2 commits
(merged to 'next' on 2022-11-23 at 97b6096e7c)
+ submodule absorbgitdirs: use relative <from> and <to> paths
(merged to 'next' on 2022-11-18 at 34d0accc7b)
+ submodule--helper absorbgitdirs: no abspaths in "Migrating git..."
Remove an absolute path in the "Migrating git directory" message.
Will cook in 'next', but leaning negative.
source: <patch-1.1-34b54fdd9bb-20221109T020347Z-avarab@gmail.com>
source: <patch-1.1-065be1da895-20221122T224306Z-avarab@gmail.com>
* ew/format-patch-mboxrd (2022-11-14) 1 commit
- format-patch: add --mboxrd alias for --pretty=mboxrd
@@ -550,8 +578,9 @@ Release tarballs are available at:
* aw/complete-case-insensitive (2022-11-30) 2 commits
- completion: add case-insensitive match of pseudorefs
- completion: add optional ignore-case when matching refs
(merged to 'next' on 2022-12-05 at 791f41df7c)
+ 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.
@@ -615,6 +644,9 @@ Release tarballs are available at:
- hashfile: allow skipping the hash function
Waiting for review.
Seems to break CI.
linux-TEST-vars
cf. https://github.com/git/git/actions/runs/3598165328
source: <pull.1408.git.1667846164.gitgitgadget@gmail.com>
@@ -653,24 +685,23 @@ Release tarballs are available at:
source: <cover.1667980450.git.dyroneteng@gmail.com>
* ds/bundle-uri-4 (2022-11-16) 9 commits
. 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 client: add boolean transfer.bundleURI setting
. bundle-uri: serve bundle.* keys from config
. bundle-uri client: add helper for testing server
. bundle-uri client: add minimal NOOP client
. protocol v2: add server-side "bundle-uri" skeleton
* ds/bundle-uri-4 (2022-12-06) 11 commits
- 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.
Waiting for review.
Seems to break CI.
test broken with linux-TEST_vars
cf. https://github.com/git/git/actions/runs/3583689825/jobs/6029429974
source: <pull.1400.v2.git.1668628302.gitgitgadget@gmail.com>
Will merge to 'next'.
source: <pull.1400.v3.git.1670262639.gitgitgadget@gmail.com>
* tl/pack-bitmap-absolute-paths (2022-11-29) 4 commits
@@ -688,29 +719,6 @@ Release tarballs are available at:
source: <cover.1669644101.git.dyroneteng@gmail.com>
* ab/cmake-nix-and-ci (2022-11-04) 14 commits
(merged to 'next' on 2022-11-08 at 6ef4e93b36)
+ CI: add a "linux-cmake-test" to run cmake & ctest on linux
+ cmake: copy over git-p4.py for t983[56] perforce test
+ cmake: only look for "sh" in "C:/Program Files" on Windows
+ cmake: increase test timeout on Windows only
+ cmake: support GIT_TEST_OPTS, abstract away WIN32 defaults
+ Makefile + cmake: use environment, not GIT-BUILD-DIR
+ test-lib.sh: support a "GIT_TEST_BUILD_DIR"
+ cmake: set "USE_LIBPCRE2" in "GIT-BUILD-OPTIONS" for test-lib.sh
+ cmake & test-lib.sh: add a $GIT_SOURCE_DIR variable
+ cmake: chmod +x the bin-wrappers/* & SCRIPT_{SH,PERL} & git-p4
+ cmake: don't copy chainlint.pl to build directory
+ cmake: update instructions for portable CMakeLists.txt
+ cmake: use "-S" and "-B" to specify source and build directories
+ cmake: don't invoke msgfmt with --statistics
Fix assorted issues with CTest on *nix machines.
Will cook in 'next'.
source: <cover-v4-00.14-00000000000-20221103T160255Z-avarab@gmail.com>
* ab/make-bin-wrappers (2022-10-31) 4 commits
. Makefile: simplify $(test_bindir_programs) rule by splitting it up
. Makefile: rename "test_bindir_programs" variable, pre-declare
@@ -748,12 +756,13 @@ Release tarballs are available at:
* rr/status-untracked-advice (2022-12-01) 1 commit
- status: modernize git-status "slow untracked files" advice
(merged to 'next' on 2022-12-05 at 68527013ef)
+ 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.
Will merge to 'next'.
Will cook in 'next'.
source: <pull.1384.v9.git.1669769536707.gitgitgadget@gmail.com>
@@ -771,23 +780,23 @@ Release tarballs are available at:
* mc/credential-helper-auth-headers (2022-11-02) 11 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
. http: set specific auth scheme depending on credential
. http: move proactive auth to first slot creation
. http: store all request headers on active_request_slot
. credential: add WWW-Authenticate header to cred requests
. http: read HTTP WWW-Authenticate response headers
- 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
- http: set specific auth scheme depending on credential
- http: move proactive auth to first slot creation
- http: store all request headers on active_request_slot
- credential: add WWW-Authenticate header to cred requests
- http: read HTTP WWW-Authenticate response headers
Extending credential helper protocol.
Needs review.
Seems to break CI.
cf. https://github.com/git/git/actions/runs/3580969920
Seems to break CI (cmake-ctest).
cf. https://github.com/git/git/actions/runs/3598431374
source: <pull.1352.v3.git.1667426969.gitgitgadget@gmail.com>
--------------------------------------------------
@@ -809,3 +818,62 @@ Release tarballs are available at:
Will discard for now.
cf. <xmqqedtl14xr.fsf@gitster.g>
source: <pull.1321.v3.git.git.1666988096.gitgitgadget@gmail.com>
* ab/remove--super-prefix (2022-11-21) 12 commits
. fetch: rename "--submodule-prefix" to "--super-prefix"
. 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
. Merge branch 'ab/submodule-no-abspath' into ab/remove--super-prefix
(merged to 'next' on 2022-11-18 at 34d0accc7b)
+ submodule--helper absorbgitdirs: no abspaths in "Migrating git..."
. Merge branch 'ab/submodule-helper-prep-only' into ab/remove--super-prefix
Remove the top-level `--super-prefix` option.
Will discard.
cf. the thread leading to <xmqqmt86stm3.fsf@gitster.g>
source: <cover-v3-0.9-00000000000-20221119T122853Z-avarab@gmail.com>
* ab/submodule-no-abspath (2022-11-23) 2 commits
(merged to 'next' on 2022-11-23 at 97b6096e7c)
+ submodule absorbgitdirs: use relative <from> and <to> paths
(merged to 'next' on 2022-11-18 at 34d0accc7b)
+ submodule--helper absorbgitdirs: no abspaths in "Migrating git..."
Remove an absolute path in the "Migrating git directory" message.
Revert out of 'next'.
cf. the thread leading to <xmqqmt86stm3.fsf@gitster.g>
source: <patch-1.1-34b54fdd9bb-20221109T020347Z-avarab@gmail.com>
source: <patch-1.1-065be1da895-20221122T224306Z-avarab@gmail.com>
* ab/cmake-nix-and-ci (2022-11-04) 14 commits
(merged to 'next' on 2022-11-08 at 6ef4e93b36)
+ CI: add a "linux-cmake-test" to run cmake & ctest on linux
+ cmake: copy over git-p4.py for t983[56] perforce test
+ cmake: only look for "sh" in "C:/Program Files" on Windows
+ cmake: increase test timeout on Windows only
+ cmake: support GIT_TEST_OPTS, abstract away WIN32 defaults
+ Makefile + cmake: use environment, not GIT-BUILD-DIR
+ test-lib.sh: support a "GIT_TEST_BUILD_DIR"
+ cmake: set "USE_LIBPCRE2" in "GIT-BUILD-OPTIONS" for test-lib.sh
+ cmake & test-lib.sh: add a $GIT_SOURCE_DIR variable
+ cmake: chmod +x the bin-wrappers/* & SCRIPT_{SH,PERL} & git-p4
+ cmake: don't copy chainlint.pl to build directory
+ cmake: update instructions for portable CMakeLists.txt
+ cmake: use "-S" and "-B" to specify source and build directories
+ cmake: don't invoke msgfmt with --statistics
Fix assorted issues with CTest on *nix machines.
Revert out of 'next'.
cf. <xmqq5yeuspam.fsf@gitster.g>
source: <cover-v4-00.14-00000000000-20221103T160255Z-avarab@gmail.com>