What's cooking (2024/08 #03)

todo
Junio C Hamano 2024-08-08 11:46:08 -07:00
parent 10434fbd61
commit 810bc03f5e
1 changed files with 338 additions and 197 deletions

View File

@ -1,10 +1,10 @@
To: git@vger.kernel.org
Subject: What's cooking in git.git (Aug 2024, #02; Mon, 5)
X-master-at: 406f326d271e0bacecdb00425422c5fa3f314930
X-next-at: 2dc1a81c89335c22ab35fc7caa8d1eb006790da8
Subject: What's cooking in git.git (Aug 2024, #03; Thu, 8)
X-master-at: 25673b1c476756ec0587fb0596ab3c22b96dc52a
X-next-at: 6999bdac580e8ef7d27526f50530785bce6e1b4d
Bcc: lwn@lwn.net, gitster@pobox.com

What's cooking in git.git (Aug 2024, #02; Mon, 5)
What's cooking in git.git (Aug 2024, #03; Thu, 8)
--------------------------------------------------

Here are the topics that have been cooking in my tree. Commits
@ -45,21 +45,262 @@ Release tarballs are available at:

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

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

* dd/notes-empty-no-edit-by-default (2024-07-29) 1 commit
(merged to 'next' on 2024-08-01 at fe75c53260)
+ notes: do not trigger editor when adding an empty note

"git notes add -m '' --allow-empty" and friends that take prepared
data to create notes should not invoke an editor, but it started
doing so since Git 2.42, which has been corrected.
source: <20240729151639.19192-2-ddiss@suse.de>


* dh/encoding-trace-optim (2024-07-31) 1 commit
(merged to 'next' on 2024-08-01 at c5e023eeaf)
+ convert: return early when not tracing

An expensive operation to prepare tracing was done in re-encoding
code path even when the tracing was not requested, which has been
corrected.
source: <pull.1744.v6.git.git.1722432839473.gitgitgadget@gmail.com>


* es/shell-check-updates (2024-07-26) 5 commits
(merged to 'next' on 2024-08-01 at cf06aced6d)
+ check-non-portable-shell: improve `VAR=val shell-func` detection
+ check-non-portable-shell: suggest alternative for `VAR=val shell-func`
+ check-non-portable-shell: loosen one-shot assignment error message
+ t4034: fix use of one-shot variable assignment with shell function
+ t3430: drop unnecessary one-shot "VAR=val shell-func" invocation

Test script linter has been updated to catch an attempt to use
one-shot export construct "VAR=VAL func" for shell functions (which
does not work for some shells) better.
source: <20240727053509.34339-1-ericsunshine@charter.net>


* ks/unit-test-comment-typofix (2024-07-29) 1 commit
(merged to 'next' on 2024-08-01 at 35c44187b1)
+ unit-tests/test-lib: fix typo in check_pointer_eq() description

Typofix.
source: <20240729043303.3486-1-five231003@gmail.com>


* ps/doc-more-c-coding-guidelines (2024-07-30) 6 commits
(merged to 'next' on 2024-08-01 at 8f8ac5d6ca)
+ Documentation: consistently use spaces inside initializers
+ Documentation: document idiomatic function names
+ Documentation: document naming schema for structs and their functions
+ Documentation: clarify indentation style for C preprocessor directives
+ clang-format: fix indentation width for preprocessor directives
+ Merge branch 'kn/ci-clang-format' into ps/doc-more-c-coding-guidelines

Some project conventions have been added to CodingGuidelines.
source: <cover.1722323818.git.ps@pks.im>


* ps/p4-tests-updates (2024-07-31) 3 commits
(merged to 'next' on 2024-08-01 at e559c4bf1a)
+ t98xx: mark Perforce tests as memory-leak free
+ ci: update Perforce version to r23.2
+ t98xx: fix Perforce tests with p4d r23 and newer

Perforce tests have been updated.
cf. <na5mwletzpnacietbc7pzqcgb622mvrwgrkjgjosysz3gvjcso@gzxxi7d7icr7>
source: <cover.1722421911.git.ps@pks.im>


* rj/add-p-pager (2024-07-25) 4 commits
(merged to 'next' on 2024-08-01 at 6f66ace52d)
+ add-patch: render hunks through the pager
+ pager: introduce wait_for_pager
+ pager: do not close fd 2 unnecessarily
+ add-patch: test for 'p' command

A 'P' command to "git add -p" that passes the patch hunk to the
pager has been added.
source: <76936fb1-446d-455f-b4e7-6e24dda3c17d@gmail.com>


* rs/grep-omit-blank-lines-after-function-at-eof (2024-07-30) 1 commit
(merged to 'next' on 2024-08-01 at 0c6e2b21f9)
+ grep: -W: skip trailing empty lines at EOF, too

"git grep -W" omits blank lines that follow the found function at
the end of the file, just like it omits blank lines before the next
function.
source: <8b90e0ec-251f-46b3-8777-96efd58e227b@web.de>

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

* ag/t7004-modernize (2024-08-04) 6 commits
- t7004-tag: description on the same line as test_expect_success
- t7004-tag: here-doc modernization
- t7004-tag: do not prepare except outside test_expect_success
- t7004-tag: one command per line
- t7004-tag: do not lose exit status to pipe
- t7004-tag: redirection operator
* jc/t3206-test-when-finished-fix (2024-08-06) 1 commit
(merged to 'next' on 2024-08-08 at 46461db3a2)
+ t3206: test_when_finished before dirtying operations, not after

Test clean-up.

Will merge to 'master'.
source: <xmqqwmkttwfm.fsf@gitster.g>


* jc/too-many-arguments (2024-08-06) 4 commits
- miscellaneous: avoid "too many arguments"
- notes: avoid "too many arguments"
- cat-file: avoid "too many arguments"
- refs: avoid "too many arguments"

Error message clarification.

On hold.
source: <20240806003539.3292562-1-gitster@pobox.com>


* ps/leakfixes-part-4 (2024-08-08) 23 commits
- builtin/diff: free symmetric diff members
- diff: free state populated via options
- builtin/log: fix leak when showing converted blob contents
- userdiff: fix leaking memory for configured diff drivers
- builtin/format-patch: fix various trivial memory leaks
- diff: fix leak when parsing invalid ignore regex option
- unpack-trees: clear index when not propagating it
- sequencer: release todo list on error paths
- merge-ort: unconditionally release attributes index
- builtin/fast-export: plug leaking tag names
- builtin/fast-export: fix leaking diff options
- builtin/fast-import: plug trivial memory leaks
- builtin/notes: fix leaking `struct notes_tree` when merging notes
- builtin/rebase: fix leaking `commit.gpgsign` value
- config: fix leaking comment character config
- submodule-config: fix leaking name enrty when traversing submodules
- read-cache: fix leaking hashfile when writing index fails
- bulk-checkin: fix leaking state TODO
- object-name: fix leaking symlink paths in object context
- object-file: fix memory leak when reading corrupted headers
- git: fix leaking system paths
- remote: plug memory leak when aliasing URLs
- Merge branch 'ps/leakfixes-part-3' into ps/leakfixes-part-4
(this branch uses ps/leakfixes-part-3.)

More leak fixes.

Will merge to 'next'?
source: <cover.1723121979.git.ps@pks.im>


* cp/unit-test-reftable-readwrite (2024-08-07) 5 commits
- t-reftable-readwrite: add tests for print functions
- t-reftable-readwrite: add test for known error
- t-reftable-readwrite: use 'for' in place of infinite 'while' loops
- t-reftable-readwrite: use free_names() instead of a for loop
- t: move reftable/readwrite_test.c to the unit testing framework

Needs review.
source: <20240807141608.4524-1-chandrapratap3519@gmail.com>


* ps/config-wo-the-repository (2024-08-07) 21 commits
- config: hide functions using `the_repository` by default
- global: prepare for hiding away repo-less config functions
- config: don't depend on `the_repository` with branch conditions
- config: don't have setters depend on `the_repository`
- config: pass repo to functions that rename or copy sections
- config: pass repo to `git_die_config()`
- config: pass repo to `git_config_get_expiry_in_days()`
- config: pass repo to `git_config_get_expiry()`
- config: pass repo to `git_config_get_max_percent_split_change()`
- config: pass repo to `git_config_get_split_index()`
- config: pass repo to `git_config_get_index_threads()`
- config: expose `repo_config_clear()`
- config: introduce missing setters that take repo as parameter
- path: hide functions using `the_repository` by default
- path: stop relying on `the_repository` in `worktree_git_path()`
- path: stop relying on `the_repository` when reporting garbage
- hooks: remove implicit dependency on `the_repository`
- editor: do not rely on `the_repository` for interactive edits
- path: expose `do_git_common_path()` as `strbuf_git_common_pathv()`
- path: expose `do_git_path()` as `repo_git_pathv()`
- Merge branch 'ps/refs-wo-the-repository' into ps/config-wo-the-repository
(this branch uses ps/refs-wo-the-repository.)

Use of API functions that implicitly depend on the_repository
object in the config subsystem has been rewritten to pass a
repository object through the callchain.

Needs review.
source: <cover.1723013714.git.ps@pks.im>


* ps/submodule-ref-format (2024-08-08) 8 commits
- object: fix leaking packfiles when closing object store
- submodule: fix leaking seen submodule names
- submodule: fix leaking fetch tasks
- builtin/submodule: allow "add" to use different ref storage format
- refs: fix ref storage format for submodule ref stores
- builtin/clone: propagate ref storage format to submodules
- builtin/submodule: allow cloning with different ref storage format
- git-submodule.sh: break overly long command lines

Support to specify ref backend for submodules has been enhanced.

Will merge to 'next'.
source: <cover.1723102259.git.ps@pks.im>


* jc/transport-leakfix (2024-08-07) 1 commit
(merged to 'next' on 2024-08-07 at eec3a24826)
+ transport: fix leak with transport helper URLs
(this branch is used by ps/transport-leakfix-test-updates.)

Leakfix.

Will merge to 'master'.
source: <xmqq34nfn7ip.fsf@gitster.g>


* ps/transport-leakfix-test-updates (2024-08-08) 1 commit
- transport: mark more tests leak-free
(this branch uses jc/transport-leakfix.)

Test updates.

On hold.
source: <ZrRPD0ggZapZym7E@tanuki>

--------------------------------------------------
[Stalled]

* pp/add-parse-range-unit-test (2024-05-27) 1 commit
- apply: add unit tests for parse_range

A unit test for code that parses the hunk offset and length from a
patch fragment header as been added.

Expecting a reroll.
cf. <b7eca313-9ea8-4132-ba1d-ed9236e07095@gmail.com>
source: <pull.1677.v2.git.git.1716710073910.gitgitgadget@gmail.com>

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

* ag/t7004-modernize (2024-08-08) 8 commits
- t7004: make use of write_script
- t7004: use single quotes instead of double quotes
- t7004: begin the test body on the same line as test_expect_success
- t7004: description on the same line as test_expect_success
- t7004: do not prepare things outside test_expect_success
- t7004: use indented here-doc
- t7004: one command per line
- t7004: remove space after redirect operators

Coding style fixes to a test script.

Inviting further discussion.
source: <20240804071137.30326-1-abdobngad@gmail.com>
Will merge to 'next'.
source: <20240808163302.17521-1-abdobngad@gmail.com>


* ds/for-each-ref-is-base (2024-08-02) 3 commits
@ -87,13 +328,14 @@ Release tarballs are available at:


* kl/test-fixes (2024-08-05) 2 commits
- t6421: fix test to work when repo dir contains d0
- set errno=0 before strtoX calls
(merged to 'next' on 2024-08-06 at 2cdcac6ce4)
+ t6421: fix test to work when repo dir contains d0
+ set errno=0 before strtoX calls

A flakey test and incorrect calls to strtoX() functions have been
fixed.

Will merge to 'next'.
Will merge to 'master'.
source: <pull.1756.v3.git.git.1722877808.gitgitgadget@gmail.com>


@ -119,50 +361,38 @@ Release tarballs are available at:


* rs/use-decimal-width (2024-08-05) 1 commit
- log-tree: use decimal_width()
(merged to 'next' on 2024-08-06 at 99ccbb43de)
+ log-tree: use decimal_width()

Code clean-up.

Will merge to 'next'.
Will merge to 'master'.
source: <06783722-5184-41d5-8edd-94f97b2f2794@web.de>


* ss/packed-ref-store-leakfix (2024-08-05) 1 commit
- refs/files: prevent memory leak by freeing packed_ref_store
(merged to 'next' on 2024-08-06 at 5003ec4218)
+ refs/files: prevent memory leak by freeing packed_ref_store

Leakfix.

Will merge to 'next'.
Will merge to 'master'.
source: <pull.1757.v2.git.git.1722851612505.gitgitgadget@gmail.com>


* tb/t7704-deflake (2024-08-05) 1 commit
- t/t7704-repack-cruft.sh: avoid failures during long-running tests
(merged to 'next' on 2024-08-07 at d3c0727946)
+ t/t7704-repack-cruft.sh: avoid failures during long-running tests

A test that fails on an unusually slow machine was found, and made
less likely to cause trouble by lengthening the expiry value it
uses.

Will merge to 'next'.
Will merge to 'master'.
source: <95cdc30bad38f464b37e87d78f38e1d91c9e083b.1722886630.git.me@ttaylorr.com>

--------------------------------------------------
[Stalled]

* pp/add-parse-range-unit-test (2024-05-27) 1 commit
- apply: add unit tests for parse_range

A unit test for code that parses the hunk offset and length from a
patch fragment header as been added.

Expecting a reroll.
cf. <b7eca313-9ea8-4132-ba1d-ed9236e07095@gmail.com>
source: <pull.1677.v2.git.git.1716710073910.gitgitgadget@gmail.com>

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

* sj/ref-fsck (2024-08-05) 9 commits
* sj/ref-fsck (2024-08-08) 9 commits
- fsck: add ref name check for files backend
- files-backend: add unified interface for refs scanning
- builtin/refs: add verify subcommand
@ -176,78 +406,35 @@ Release tarballs are available at:
"git fsck" infrastructure has been taught to also check the sanity
of the ref database, in addition to the object database.

Ready?
source: <ZrEBKjzbyxtMdCCx@ArchLinux>


* dd/notes-empty-no-edit-by-default (2024-07-29) 1 commit
(merged to 'next' on 2024-08-01 at fe75c53260)
+ notes: do not trigger editor when adding an empty note

"git notes add -m '' --allow-empty" and friends that take prepared
data to create notes should not invoke an editor, but it started
doing so since Git 2.42, which has been corrected.

Will merge to 'master'.
source: <20240729151639.19192-2-ddiss@suse.de>


* ks/unit-test-comment-typofix (2024-07-29) 1 commit
(merged to 'next' on 2024-08-01 at 35c44187b1)
+ unit-tests/test-lib: fix typo in check_pointer_eq() description

Typofix.

Will merge to 'master'.
source: <20240729043303.3486-1-five231003@gmail.com>


* dh/encoding-trace-optim (2024-07-31) 1 commit
(merged to 'next' on 2024-08-01 at c5e023eeaf)
+ convert: return early when not tracing

An expensive operation to prepare tracing was done in re-encoding
code path even when the tracing was not requested, which has been
corrected.

Will merge to 'master'.
source: <pull.1744.v6.git.git.1722432839473.gitgitgadget@gmail.com>
Will merge to 'next'.
source: <ZrSqMmD-quQ18a9F@ArchLinux.localdomain>


* ps/refs-wo-the-repository (2024-07-30) 5 commits
- refs/reftable: stop using `the_repository`
- refs/packed: stop using `the_repository`
- refs/files: stop using `the_repository`
- refs/files: stop using `the_repository` in `parse_loose_ref_contents()`
- refs: stop using `the_repository`
(merged to 'next' on 2024-08-06 at fef5e26d47)
+ refs/reftable: stop using `the_repository`
+ refs/packed: stop using `the_repository`
+ refs/files: stop using `the_repository`
+ refs/files: stop using `the_repository` in `parse_loose_ref_contents()`
+ refs: stop using `the_repository`
(this branch is used by ps/config-wo-the-repository.)

In the refs subsystem, implicit reliance of the_repository has been
eliminated; the repository associated with the ref store object is
used instead.

Will merge to 'next'?
Will merge to 'master'.
cf. <ZqnEuz9uFgUwWKkc@tanuki>
source: <cover.1722316795.git.ps@pks.im>


* rs/grep-omit-blank-lines-after-function-at-eof (2024-07-30) 1 commit
(merged to 'next' on 2024-08-01 at 0c6e2b21f9)
+ grep: -W: skip trailing empty lines at EOF, too

"git grep -W" omits blank lines that follow the found function at
the end of the file, just like it omits blank lines before the next
function.

Will merge to 'master'.
source: <8b90e0ec-251f-46b3-8777-96efd58e227b@web.de>


* rs/t-example-simplify (2024-07-30) 1 commit
- t-example-decorate: remove test messages
(merged to 'next' on 2024-08-08 at edeb01c38e)
+ t-example-decorate: remove test messages

Unit test simplification.

Will merge to 'next'?
Will merge to 'master'.
source: <5c838884-b606-465a-8f7e-ab760ddadef8@web.de>


@ -266,7 +453,7 @@ Release tarballs are available at:
source: <20240731134014.2299361-1-christian.couder@gmail.com>


* ps/reftable-stack-compaction (2024-08-05) 9 commits
* ps/reftable-stack-compaction (2024-08-08) 9 commits
- reftable/stack: handle locked tables during auto-compaction
- reftable/stack: fix corruption on concurrent compaction
- reftable/stack: use lock_file when adding table to "tables.list"
@ -281,8 +468,8 @@ Release tarballs are available at:
to correctly deal with multiple compaction triggering at the same
time.

Inviting further discussion.
source: <cover.1722862822.git.ps@pks.im>
Will merge to 'next'.
source: <cover.1723123606.git.ps@pks.im>


* rh/http-proxy-path (2024-08-02) 1 commit
@ -298,8 +485,7 @@ Release tarballs are available at:
source: <pull.1767.v5.git.1722576007398.gitgitgadget@gmail.com>


* jc/refs-symref-referent (2024-08-01) 4 commits
- SQUASH???
* jc/refs-symref-referent (2024-08-07) 3 commits
- ref-filter: populate symref from iterator
- refs: add referent to each_ref_fn
- refs: keep track of unresolved reference value in iterators
@ -308,8 +494,8 @@ Release tarballs are available at:
the users of ref iterators, allowing for-each-ref and friends to
avoid an extra ref_resolve_* API call per a symbolic ref.

Inviting further discussion.
source: <pull.1712.v2.git.git.1722524334.gitgitgadget@gmail.com>
Waiting for review response.
source: <pull.1712.v3.git.git.1723059768.gitgitgadget@gmail.com>


* jk/osxkeychain-username-is-nul-terminated (2024-08-01) 1 commit
@ -324,22 +510,24 @@ Release tarballs are available at:


* tb/config-fixed-value-with-valueless-true (2024-08-01) 1 commit
- config.c: avoid segfault with --fixed-value and valueless config
(merged to 'next' on 2024-08-06 at 0476e5ba76)
+ config.c: avoid segfault with --fixed-value and valueless config

"git config --value=foo --fixed-value section.key newvalue" barfed
when the existing value in the configuration file used the
valueless true syntax, which has been corrected.

Will merge to 'next'.
Will merge to 'master'.
source: <c78bacfa8fb274fbb48f259b13f4f30253932f69.1722532013.git.me@ttaylorr.com>


* jc/jl-git-no-advice-fix (2024-08-01) 1 commit
- t0018: remove leftover debugging cruft
(merged to 'next' on 2024-08-06 at 468bfce24b)
+ t0018: remove leftover debugging cruft

Remove leftover debugging cruft from a test script.

Will merge to 'next'.
Will merge to 'master'.
source: <xmqq7cd0ulen.fsf_-_@gitster.g>


@ -361,7 +549,7 @@ Release tarballs are available at:
source: <20240801110453.5087-1-chandrapratap3519@gmail.com>


* tb/incremental-midx-part-1 (2024-07-17) 19 commits
* tb/incremental-midx-part-1 (2024-08-06) 19 commits
- midx: implement support for writing incremental MIDX chains
- t/t5313-pack-bounds-checks.sh: prepare for sub-directories
- t: retire 'GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAP'
@ -384,9 +572,8 @@ Release tarballs are available at:

Incremental updates of multi-pack index files.

Expecting a reroll.
cf. <ZqvZeWDGDAeZNZjW@nand.local>
source: <cover.1721250704.git.me@ttaylorr.com>
Will merge to 'next'?
source: <cover.1722958595.git.me@ttaylorr.com>


* ja/doc-synopsis-markup (2024-07-24) 3 commits
@ -402,21 +589,6 @@ Release tarballs are available at:
source: <pull.1766.v2.git.1721855179.gitgitgadget@gmail.com>


* ps/doc-more-c-coding-guidelines (2024-07-30) 6 commits
(merged to 'next' on 2024-08-01 at 8f8ac5d6ca)
+ Documentation: consistently use spaces inside initializers
+ Documentation: document idiomatic function names
+ Documentation: document naming schema for structs and their functions
+ Documentation: clarify indentation style for C preprocessor directives
+ clang-format: fix indentation width for preprocessor directives
+ Merge branch 'kn/ci-clang-format' into ps/doc-more-c-coding-guidelines

Some project conventions have been added to CodingGuidelines.

Will merge to 'master'.
source: <cover.1722323818.git.ps@pks.im>


* tc/fetch-bundle-uri (2024-07-24) 3 commits
- fetch: use bundle URIs when having creationToken heuristic
- transport: introduce transport_has_remote_bundle_uri()
@ -429,29 +601,32 @@ Release tarballs are available at:


* jc/leakfix-hashfile (2024-07-26) 1 commit
- csum-file: introduce discard_hashfile()
(merged to 'next' on 2024-08-06 at 7793a7fc56)
+ csum-file: introduce discard_hashfile()

Leakfix.

Will merge to 'next'.
Will merge to 'master'.
source: <xmqqle1p1367.fsf@gitster.g>


* jc/leakfix-mailmap (2024-07-26) 1 commit
- mailmap: plug memory leak in read_mailmap_blob()
(merged to 'next' on 2024-08-06 at 22f73301fd)
+ mailmap: plug memory leak in read_mailmap_blob()

Leakfix.

Will merge to 'next'.
Will merge to 'master'.
source: <xmqqcyn112xi.fsf@gitster.g>


* jr/ls-files-expand-literal-doc (2024-07-26) 1 commit
- doc: fix hex code escapes in git-ls-files
(merged to 'next' on 2024-08-06 at 0e7c8858ef)
+ doc: fix hex code escapes in git-ls-files

Docfix.

Will merge to 'next'.
Will merge to 'master'.
source: <CACStHN-Gs2Sxej+md6zWr3V1dFo+pp=B4yEPm9=uPambDR2NaQ@mail.gmail.com>


@ -481,6 +656,7 @@ Release tarballs are available at:
+ builtin/describe: fix memory leak with `--contains=`
+ builtin/log: fix leaking branch name when creating cover letters
+ builtin/replay: plug leaking `advance_name` variable
(this branch is used by ps/leakfixes-part-4.)

More leakfixes.

@ -489,44 +665,16 @@ Release tarballs are available at:
source: <cover.1722499961.git.ps@pks.im>


* ps/p4-tests-updates (2024-07-31) 3 commits
(merged to 'next' on 2024-08-01 at e559c4bf1a)
+ t98xx: mark Perforce tests as memory-leak free
+ ci: update Perforce version to r23.2
+ t98xx: fix Perforce tests with p4d r23 and newer

Perforce tests have been updated.

Will merge to 'master'.
cf. <na5mwletzpnacietbc7pzqcgb622mvrwgrkjgjosysz3gvjcso@gzxxi7d7icr7>
source: <cover.1722421911.git.ps@pks.im>


* ag/git-svn-global-ignores (2024-07-18) 2 commits
- git-svn: use `svn:global-ignores` to create .gitignore
- git-svn: add public property `svn:global-ignores`
(merged to 'next' on 2024-08-08 at 3ba5e164a6)
+ git-svn: use `svn:global-ignores` to create .gitignore
+ git-svn: add public property `svn:global-ignores`

"git svn" has been taught about svn:global-ignores property
recent versions of Subversion has.

Will merge to 'next'?
source: <pull.1747.v2.git.git.1721335657.gitgitgadget@gmail.com>


* es/shell-check-updates (2024-07-26) 5 commits
(merged to 'next' on 2024-08-01 at cf06aced6d)
+ check-non-portable-shell: improve `VAR=val shell-func` detection
+ check-non-portable-shell: suggest alternative for `VAR=val shell-func`
+ check-non-portable-shell: loosen one-shot assignment error message
+ t4034: fix use of one-shot variable assignment with shell function
+ t3430: drop unnecessary one-shot "VAR=val shell-func" invocation

Test script linter has been updated to catch an attempt to use
one-shot export construct "VAR=VAL func" for shell functions (which
does not work for some shells) better.

Will merge to 'master'.
source: <20240727053509.34339-1-ericsunshine@charter.net>
source: <pull.1747.v2.git.git.1721335657.gitgitgadget@gmail.com>


* jc/safe-directory (2024-07-30) 4 commits
@ -543,16 +691,17 @@ Release tarballs are available at:


* cp/unit-test-reftable-tree (2024-08-04) 5 commits
- t-reftable-tree: improve the test for infix_walk()
- t-reftable-tree: add test for non-existent key
- t-reftable-tree: split test_tree() into two sub-test functions
- t: move reftable/tree_test.c to the unit testing framework
- reftable: remove unnecessary curly braces in reftable/tree.c
(merged to 'next' on 2024-08-06 at e32c456e45)
+ t-reftable-tree: improve the test for infix_walk()
+ t-reftable-tree: add test for non-existent key
+ t-reftable-tree: split test_tree() into two sub-test functions
+ t: move reftable/tree_test.c to the unit testing framework
+ reftable: remove unnecessary curly braces in reftable/tree.c

A test in reftable library has been rewritten using the unit test
framework.

Will merge to 'next'.
Will merge to 'master'.
cf. <Zqt1WTT_eJKEuO1z@tanuki>
cf. <ZrCx0NWRbFOOReki@tanuki>
source: <20240804141105.4268-1-chandrapratap3519@gmail.com>
@ -578,21 +727,23 @@ Release tarballs are available at:


* jc/document-use-of-local (2024-07-15) 1 commit
- doc: note that AT&T ksh does not work with our test suite
(merged to 'next' on 2024-08-07 at 3321b54659)
+ doc: note that AT&T ksh does not work with our test suite

Doc update.

Will merge to 'next'.
Will merge to 'master'.
source: <xmqq1q3u8zmr.fsf@gitster.g>


* jc/reflog-expire-lookup-commit-fix (2024-07-16) 1 commit
- Revert "reflog expire: don't use lookup_commit_reference_gently()"
(merged to 'next' on 2024-08-06 at 1e59eac417)
+ Revert "reflog expire: don't use lookup_commit_reference_gently()"

"git reflog expire" failed to honor annotated tags when computing
reachable commits.

Will merge to 'next'.
Will merge to 'master'.
source: <xmqqv8156rh2.fsf@gitster.g>


@ -606,28 +757,15 @@ Release tarballs are available at:
source: <20240802221948.2367124-1-emilyshaffer@google.com>


* rj/add-p-pager (2024-07-25) 4 commits
(merged to 'next' on 2024-08-01 at 6f66ace52d)
+ add-patch: render hunks through the pager
+ pager: introduce wait_for_pager
+ pager: do not close fd 2 unnecessarily
+ add-patch: test for 'p' command

A 'P' command to "git add -p" that passes the patch hunk to the
pager has been added.

Will merge to 'master'.
source: <76936fb1-446d-455f-b4e7-6e24dda3c17d@gmail.com>


* gt/unit-test-hashmap (2024-07-30) 1 commit
* gt/unit-test-hashmap (2024-08-06) 1 commit
- t: port helper/test-hashmap.c to unit-tests/t-hashmap.c

An existing test of hashmap API has been rewritten with the
unit-test framework.

What's the doneness of this one?
source: <20240730115101.188100-1-author@example.com>
Getting there?
cf. <CAP8UFD04uQbWhY0QDp+nC8VyBvpUs=tBDm=w4CzKK2GcwFZdGQ@mail.gmail.com>
source: <20240803133517.73308-2-shyamthakkar001@gmail.com>


* rs/unit-tests-test-run (2024-07-30) 6 commits
@ -638,23 +776,26 @@ Release tarballs are available at:
- unit-tests: show location of checks outside of tests
- t0080: use here-doc test body

Unit-test framework clean-up.
Unit-test framework has learned a simple control structure to allow
embedding test statements in-line instead of having to create a new
function to contain them.

Still under discussion?
Will merge to 'next'?
source: <077a178e-eb30-45ff-b653-a514bfd33077@web.de>


* jc/patch-id (2024-07-29) 5 commits
- patch-id: tighten code to detect the patch header
- patch-id: rewrite code that detects the beginning of a patch
- patch-id: make get_one_patchid() more extensible
- patch-id: call flush_current_id() only when needed
- t4204: patch-id supports various input format
(merged to 'next' on 2024-08-06 at 9ad078b49c)
+ patch-id: tighten code to detect the patch header
+ patch-id: rewrite code that detects the beginning of a patch
+ patch-id: make get_one_patchid() more extensible
+ patch-id: call flush_current_id() only when needed
+ t4204: patch-id supports various input format

The patch parser in "git patch-id" has been tightened to avoid
getting confused by lines that look like a patch header in the log
message.

Will merge to 'next'.
Will merge to 'master'.
cf. <Zqh2T_2RLt0SeKF7@tanuki>
source: <20240730011738.4032377-1-gitster@pobox.com>