What's cooking (2024/04 #09)

todo
Junio C Hamano 2024-04-23 17:10:44 -07:00
parent 0d2241241b
commit 4210716096
1 changed files with 222 additions and 216 deletions

View File

@ -1,10 +1,10 @@
To: git@vger.kernel.org
Subject: What's cooking in git.git (Apr 2024, #08; Mon, 22)
X-master-at: 00e10ef10e161a913893b8cb33aa080d4ca5baa6
X-next-at: 0c9c63564e25443fb8d0688fe3c87722ba128238
Subject: What's cooking in git.git (Apr 2024, #09; Tue, 23)
X-master-at: bf995e7a4f94a9388aa8042dc9e338f3fcb75496
X-next-at: d95f3e8691c1cba156beb6189d8229bc2ee0caab
Bcc: lwn@lwn.net, gitster@pobox.com

What's cooking in git.git (Apr 2024, #08; Mon, 22)
What's cooking in git.git (Apr 2024, #09; Tue, 23)
--------------------------------------------------

Here are the topics that have been cooking in my tree. Commits
@ -17,6 +17,8 @@ topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

A release candidate Git 2.45-rc1 has been tagged.

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.
@ -45,77 +47,260 @@ Release tarballs are available at:

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

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

* dd/t9604-use-posix-timezones (2024-04-10) 1 commit
(merged to 'next' on 2024-04-16 at 46ab81737f)
+ t9604: Fix test for musl libc and new Debian

The cvsimport tests required that the platform understands
traditional timezone notations like CST6CDT, which has been
updated to work on those systems as long as they understand
POSIX notation with explicit tz transition dates.
source: <20240410032812.30476-1-congdanhqx@gmail.com>


* la/format-trailer-info (2024-03-15) 5 commits
(merged to 'next' on 2024-04-16 at dca4784407)
+ trailer: finish formatting unification
+ trailer: begin formatting unification
+ format_trailer_info(): append newline for non-trailer lines
+ format_trailer_info(): drop redundant unfold_value()
+ format_trailer_info(): use trailer_item objects
(this branch is used by la/hide-trailer-info.)

The code to format trailers have been cleaned up.
source: <pull.1694.git.1710485706.gitgitgadget@gmail.com>


* mr/rerere-crash-fix (2024-04-16) 1 commit
(merged to 'next' on 2024-04-17 at 60be8e2d74)
+ rerere: fix crashes due to unmatched opening conflict markers

When .git/rr-cache/ rerere database gets corrupted or rerere is fed to
work on a file with conflicted hunks resolved incompletely, the rerere
machinery got confused and segfaulted, which has been corrected.
source: <20240416105320.1113401-1-marcel@roethke.info>


* pk/bisect-use-show (2024-04-15) 1 commit
(merged to 'next' on 2024-04-22 at 4dd13c288f)
+ bisect: report the found commit with "show"

When "git bisect" reports the commit it determined to be the
culprit, we used to show it in a format that does not honor common
UI tweaks, like log.date and log.decorate. The code has been
taught to use "git show" to follow more customizations.
source: <965ae345-fd58-c46c-5a7a-de181e901f21@softwolves.pp.se>


* ps/missing-btmp-fix (2024-04-15) 1 commit
(merged to 'next' on 2024-04-16 at c70779ba4b)
+ pack-bitmap: gracefully handle missing BTMP chunks

GIt 2.44 introduced a regression that makes the updated code to
barf in repositories with multi-pack index written by older
versions of Git, which has been corrected.
source: <a8251f8278ba9a3b41a8e299cb4918a62df6d1c7.1713163238.git.ps@pks.im>


* ps/reftable-block-iteration-optim (2024-04-15) 10 commits
(merged to 'next' on 2024-04-15 at 3a2353c7f2)
+ reftable/block: avoid copying block iterators on seek
+ reftable/block: reuse `zstream` state on inflation
+ reftable/block: open-code call to `uncompress2()`
+ reftable/block: reuse uncompressed blocks
+ reftable/reader: iterate to next block in place
+ reftable/block: move ownership of block reader into `struct table_iter`
+ reftable/block: introduce `block_reader_release()`
+ reftable/block: better grouping of functions
+ reftable/block: merge `block_iter_seek()` and `block_reader_seek()`
+ reftable/block: rename `block_reader_start()`

The code to iterate over reftable blocks has seen some optimization
to reduce memory allocation and deallocation.
source: <cover.1712578376.git.ps@pks.im>


* ps/run-auto-maintenance-in-receive-pack (2024-04-17) 2 commits
(merged to 'next' on 2024-04-22 at cacdcac452)
+ builtin/receive-pack: convert to use git-maintenance(1)
+ run-command: introduce function to prepare auto-maintenance process

The "receive-pack" program (which responds to "git push") was not
converted to run "git maintenance --auto" when other codepaths that
used to run "git gc --auto" were updated, which has been corrected.
source: <cover.1713334241.git.ps@pks.im>


* rj/launch-editor-error-message (2024-04-15) 1 commit
(merged to 'next' on 2024-04-16 at 3d0dd46fc2)
+ launch_editor: waiting message on error

Git writes a "waiting for your editor" message on an incomplete
line after launching an editor, and then append another error
message on the same line if the editor errors out. It now clears
the "waiting for..." line before giving the error message.
source: <e208da74-8f16-44ae-912e-ae968da82057@gmail.com>


* rs/apply-reject-long-name (2024-04-16) 1 commit
(merged to 'next' on 2024-04-17 at 701ccded8b)
+ apply: avoid using fixed-size buffer in write_out_one_reject()

The filename used for rejected hunks "git apply --reject" creates
was limited to PATH_MAX, which has been lifted.
source: <a93cd243-cb17-4ad5-8d23-30768dc5213b@web.de>


* rs/imap-send-simplify-cmd-issuing-codepath (2024-04-15) 1 commit
(merged to 'next' on 2024-04-17 at 0255e49f8b)
+ imap-send: increase command size limit

Code simplification.
source: <7026075c-db4e-4d43-bbd1-d2edb52da9b7@web.de>


* rs/no-openssl-compilation-fix-on-macos (2024-04-15) 1 commit
(merged to 'next' on 2024-04-15 at 48cab93d0a)
+ git-compat-util: fix NO_OPENSSL on current macOS

Build fix.
source: <3188f4e2-9744-40b1-8f05-0896b8679d25@web.de>


* ta/fast-import-parse-path-fix (2024-04-15) 8 commits
(merged to 'next' on 2024-04-15 at 00cc71a679)
+ fast-import: make comments more precise
+ fast-import: forbid escaped NUL in paths
+ fast-import: document C-style escapes for paths
+ fast-import: improve documentation for path quoting
+ fast-import: remove dead strbuf
+ fast-import: allow unquoted empty path for root
+ fast-import: directly use strbufs for paths
+ fast-import: tighten path unquoting

The way "git fast-import" handles paths described in its input has
been tightened up and more clearly documented.
source: <cover.1713056559.git.thalia@archibald.dev>


* xx/rfc2822-date-format-in-doc (2024-04-12) 1 commit
(merged to 'next' on 2024-04-17 at f2186bd6e8)
+ Documentation: fix typos describing date format

Docfix.
source: <pull.1716.git.1712911876943.gitgitgadget@gmail.com>


* yb/replay-doc-linkfix (2024-04-15) 1 commit
(merged to 'next' on 2024-04-15 at e8cf9cd9a8)
+ Documentation: fix linkgit reference

Docfix.
source: <pull.1706.git.git.1713132482976.gitgitgadget@gmail.com>

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

* ps/undecided-is-not-necessarily-sha1 (2024-04-23) 12 commits
- repository: stop setting SHA1 as the default object hash
- builtin/shortlog: don't set up revisions without repo
- builtin/diff: explicitly set hash algo when there is no repo
- builtin/bundle: abort "verify" early when there is no repository
- builtin/blame: don't access potentially unitialized `the_hash_algo`
- builtin/rev-parse: allow shortening to more than 40 hex characters
- remote-curl: fix parsing of detached SHA256 heads
- attr: fix BUG() when parsing attrs outside of repo
- attr: don't recompute default attribute source
- parse-options-cb: only abbreviate hashes when hash algo is known
- path: move `validate_headref()` to its only user
- path: harden validation of HEAD with non-standard hashes

Before discovering the repository details, We used to assume SHA-1
as the "default" hash function, which has been corrected. Hopefully
this will smoke out codepaths that rely on such an unwarranted
assumptions.

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

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

* aj/stash-staged-fix (2024-04-22) 1 commit
- stash: fix "--staged" with binary files
(merged to 'next' on 2024-04-23 at d49e9dade0)
+ stash: fix "--staged" with binary files

"git stash -S" did not handle binary files correctly, which has
been corrected.

Will merge to 'next'.
Will cook in 'next'.
source: <pull.1722.git.1713781694490.gitgitgadget@gmail.com>


* rj/add-i-leak-fix (2024-04-22) 4 commits
- add: plug a leak on interactive_add
- add-patch: plug a leak handling the '/' command
- add-interactive: plug a leak in get_untracked_files
- apply: plug a leak in apply_data
(merged to 'next' on 2024-04-23 at b10e350a54)
+ add: plug a leak on interactive_add
+ add-patch: plug a leak handling the '/' command
+ add-interactive: plug a leak in get_untracked_files
+ apply: plug a leak in apply_data

Leakfix.

Will merge to 'next'.
Will merge to 'master'.
source: <69f86760-96ff-4c62-9649-4627652b7c19@gmail.com>


* rj/add-p-typo-reaction (2024-04-21) 1 commit
- add-patch: response to unknown command
(merged to 'next' on 2024-04-23 at 8ac0509b47)
+ add-patch: response to unknown command

When the user responds to a prompt given by "git add -p" with an
unsupported command, list of available commands were given, which
was too much if the user knew what they wanted to type but merely
made a typo. Now the user gets a much shorter error message.

Will merge to 'next'.
Will cook in 'next'.
source: <b209a2b8-f98f-4f14-a687-9022d30968dd@gmail.com>


* rs/vsnprintf-failure-is-not-a-bug (2024-04-21) 1 commit
- don't report vsnprintf(3) error as bug
(merged to 'next' on 2024-04-23 at bf66ab6ea7)
+ don't report vsnprintf(3) error as bug

Demote a BUG() to an die() when the failure from vsnprintf() may
not be due to a programmer error.

Will merge to 'next'.
Will merge to 'master'.
source: <ea752a2b-9b74-4a59-a037-4782abf7161e@web.de>

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

* ds/format-patch-rfc-and-k (2024-04-19) 1 commit
- format-patch: ensure that --rfc and -k are mutually exclusive
(merged to 'next' on 2024-04-23 at b3b0c5507a)
+ format-patch: ensure that --rfc and -k are mutually exclusive

The "-k" and "--rfc" options of "format-patch" will now error out
when used together, as one tells us not to add anything to the
title of the commit, and the other one tells us to add "RFC" in
addition to "PATCH".

Will merge to 'next'.
Will cook in 'next'.
source: <71d195c248879e7c46fac0e84c6b0a8aa90bd2c2.1713488563.git.dsimic@manjaro.org>


* jc/format-patch-rfc-more (2024-04-22) 2 commits
- format-patch: "--rfc=-(WIP)" appends to produce [PATCH (WIP)]
- format-patch: allow --rfc to optionally take a value, like --rfc=WIP
* jc/format-patch-rfc-more (2024-04-23) 2 commits
(merged to 'next' on 2024-04-23 at 9f51487974)
+ format-patch: "--rfc=-(WIP)" appends to produce [PATCH (WIP)]
+ format-patch: allow --rfc to optionally take a value, like --rfc=WIP

The "--rfc" option of "git format-patch" learned to take an
optional string value to be used in place of "RFC" to tweak the
"[PATCH]" on the subject header.

Will merge to 'next'?
source: <20240421185915.1031590-1-gitster@pobox.com>
Will cook in 'next'.
source: <20240423175234.170434-1-gitster@pobox.com>


* ps/the-index-is-no-more (2024-04-18) 6 commits
@ -135,112 +320,22 @@ Release tarballs are available at:


* pw/rebase-m-signoff-fix (2024-04-18) 6 commits
- rebase -m: fix --signoff with conflicts
- sequencer: store commit message in private context
- sequencer: move current fixups to private context
- sequencer: start removing private fields from public API
- sequencer: always free "struct replay_opts"
- Merge branch 'pw/t3428-cleanup' into pw/rebase-m-signoff-fix
(merged to 'next' on 2024-04-23 at 66374c00e2)
+ rebase -m: fix --signoff with conflicts
+ sequencer: store commit message in private context
+ sequencer: move current fixups to private context
+ sequencer: start removing private fields from public API
+ sequencer: always free "struct replay_opts"
+ Merge branch 'pw/t3428-cleanup' into pw/rebase-m-signoff-fix

"git rebase --signoff" used to forget that it needs to add a
sign-off to the resulting commit when told to continue after a
conflict stops its operation.

Will merge to 'next'.
Will cook in 'next'.
source: <cover.1713445918.git.phillip.wood@dunelm.org.uk>


* mr/rerere-crash-fix (2024-04-16) 1 commit
(merged to 'next' on 2024-04-17 at 60be8e2d74)
+ rerere: fix crashes due to unmatched opening conflict markers

When .git/rr-cache/ rerere database gets corrupted or rerere is fed to
work on a file with conflicted hunks resolved incompletely, the rerere
machinery got confused and segfaulted, which has been corrected.

Will merge to 'master'.
source: <20240416105320.1113401-1-marcel@roethke.info>


* pk/bisect-use-show (2024-04-15) 1 commit
(merged to 'next' on 2024-04-22 at 4dd13c288f)
+ bisect: report the found commit with "show"

When "git bisect" reports the commit it determined to be the
culprit, we used to show it in a format that does not honor common
UI tweaks, like log.date and log.decorate. The code has been
taught to use "git show" to follow more customizations.

Will merge to 'master'.
source: <965ae345-fd58-c46c-5a7a-de181e901f21@softwolves.pp.se>


* ps/missing-btmp-fix (2024-04-15) 1 commit
(merged to 'next' on 2024-04-16 at c70779ba4b)
+ pack-bitmap: gracefully handle missing BTMP chunks

GIt 2.44 introduced a regression that makes the updated code to
barf in repositories with multi-pack index written by older
versions of Git, which has been corrected.

Will merge to 'master'.
source: <a8251f8278ba9a3b41a8e299cb4918a62df6d1c7.1713163238.git.ps@pks.im>


* rj/launch-editor-error-message (2024-04-15) 1 commit
(merged to 'next' on 2024-04-16 at 3d0dd46fc2)
+ launch_editor: waiting message on error

Git writes a "waiting for your editor" message on an incomplete
line after launching an editor, and then append another error
message on the same line if the editor errors out. It now clears
the "waiting for..." line before giving the error message.

Will merge to 'master'.
source: <e208da74-8f16-44ae-912e-ae968da82057@gmail.com>


* rs/imap-send-simplify-cmd-issuing-codepath (2024-04-15) 1 commit
(merged to 'next' on 2024-04-17 at 0255e49f8b)
+ imap-send: increase command size limit

Code simplification.

Will merge to 'master'.
source: <7026075c-db4e-4d43-bbd1-d2edb52da9b7@web.de>


* rs/no-openssl-compilation-fix-on-macos (2024-04-15) 1 commit
(merged to 'next' on 2024-04-15 at 48cab93d0a)
+ git-compat-util: fix NO_OPENSSL on current macOS

Build fix.

Will merge to 'master'.
source: <3188f4e2-9744-40b1-8f05-0896b8679d25@web.de>


* yb/replay-doc-linkfix (2024-04-15) 1 commit
(merged to 'next' on 2024-04-15 at e8cf9cd9a8)
+ Documentation: fix linkgit reference

Docfix.

Will merge to 'master'.
source: <pull.1706.git.git.1713132482976.gitgitgadget@gmail.com>


* rs/apply-reject-long-name (2024-04-16) 1 commit
(merged to 'next' on 2024-04-17 at 701ccded8b)
+ apply: avoid using fixed-size buffer in write_out_one_reject()

The filename used for rejected hunks "git apply --reject" creates
was limited to PATH_MAX, which has been lifted.

Will merge to 'master'.
source: <a93cd243-cb17-4ad5-8d23-30768dc5213b@web.de>


* js/for-each-repo-keep-going (2024-04-18) 2 commits
- maintenance: running maintenance should not stop on errors
- for-each-repo: optionally keep going on an error
@ -255,43 +350,18 @@ Release tarballs are available at:
source: <pull.1719.v2.git.1713444783.gitgitgadget@gmail.com>


* ps/run-auto-maintenance-in-receive-pack (2024-04-17) 2 commits
(merged to 'next' on 2024-04-22 at cacdcac452)
+ builtin/receive-pack: convert to use git-maintenance(1)
+ run-command: introduce function to prepare auto-maintenance process

The "receive-pack" program (which responds to "git push") was not
converted to run "git maintenance --auto" when other codepaths that
used to run "git gc --auto" were updated, which has been corrected.

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


* xx/disable-replace-when-building-midx (2024-04-17) 1 commit
- midx: disable replace objects
(merged to 'next' on 2024-04-23 at 6c8f41740e)
+ midx: disable replace objects

The procedure to build multi-pack-index got confused by the
replace-refs mechanism, which has been corrected by disabling the
latter.

Will merge to 'next'.
Will cook in 'next'.
source: <pull.1711.v2.git.1712554017808.gitgitgadget@gmail.com>


* dd/t9604-use-posix-timezones (2024-04-10) 1 commit
(merged to 'next' on 2024-04-16 at 46ab81737f)
+ t9604: Fix test for musl libc and new Debian

The cvsimport tests required that the platform understands
traditional timezone notations like CST6CDT, which has been
updated to work on those systems as long as they understand
POSIX notation with explicit tz transition dates.

Will merge to 'master'.
source: <20240410032812.30476-1-congdanhqx@gmail.com>


* kn/update-ref-symrefs (2024-04-12) 8 commits
- SQUASH???
- refs: support symrefs in 'reference-transaction' hook
@ -305,34 +375,6 @@ Release tarballs are available at:
source: <20240412095908.1134387-1-knayak@gitlab.com>


* ta/fast-import-parse-path-fix (2024-04-15) 8 commits
(merged to 'next' on 2024-04-15 at 00cc71a679)
+ fast-import: make comments more precise
+ fast-import: forbid escaped NUL in paths
+ fast-import: document C-style escapes for paths
+ fast-import: improve documentation for path quoting
+ fast-import: remove dead strbuf
+ fast-import: allow unquoted empty path for root
+ fast-import: directly use strbufs for paths
+ fast-import: tighten path unquoting

The way "git fast-import" handles paths described in its input has
been tightened up and more clearly documented.

Will merge to 'master'.
source: <cover.1713056559.git.thalia@archibald.dev>


* xx/rfc2822-date-format-in-doc (2024-04-12) 1 commit
(merged to 'next' on 2024-04-17 at f2186bd6e8)
+ Documentation: fix typos describing date format

Docfix.

Will merge to 'master'.
source: <pull.1716.git.1712911876943.gitgitgadget@gmail.com>


* la/doc-use-of-contacts-when-contributing (2024-04-18) 8 commits
- SubmittingPatches: demonstrate using git-contacts with git-send-email
- SubmittingPatches: add heading for format-patch and send-email
@ -347,7 +389,7 @@ Release tarballs are available at:
ask review for their patches, a bit more in our developer
documentation.

Will merge to 'next'?
Will merge to 'next'.
source: <pull.1704.v6.git.1713477125.gitgitgadget@gmail.com>


@ -426,26 +468,6 @@ Release tarballs are available at:
source: <20240328101356.300374-1-e@80x24.org>


* ps/reftable-block-iteration-optim (2024-04-15) 10 commits
(merged to 'next' on 2024-04-15 at 3a2353c7f2)
+ reftable/block: avoid copying block iterators on seek
+ reftable/block: reuse `zstream` state on inflation
+ reftable/block: open-code call to `uncompress2()`
+ reftable/block: reuse uncompressed blocks
+ reftable/reader: iterate to next block in place
+ reftable/block: move ownership of block reader into `struct table_iter`
+ reftable/block: introduce `block_reader_release()`
+ reftable/block: better grouping of functions
+ reftable/block: merge `block_iter_seek()` and `block_reader_seek()`
+ reftable/block: rename `block_reader_start()`

The code to iterate over reftable blocks has seen some optimization
to reduce memory allocation and deallocation.

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


* bc/credential-scheme-enhancement (2024-04-16) 16 commits
- credential: add method for querying capabilities
- credential-cache: implement authtype capability
@ -516,11 +538,10 @@ Release tarballs are available at:
- trailer: add unit tests for trailer iterator
- Makefile: sort UNIT_TEST_PROGRAMS
- Merge branch 'la/format-trailer-info' into la/hide-trailer-info
(this branch uses la/format-trailer-info.)

The trailer API has been reshuffled a bit.

Needs review.
Will merge to 'next'.
source: <pull.1696.v2.git.1713504153.gitgitgadget@gmail.com>


@ -534,21 +555,6 @@ Release tarballs are available at:
source: <97bdaf075bf5a68554cca1731eca78aff2662907.1710444774.git.dsimic@manjaro.org>


* la/format-trailer-info (2024-03-15) 5 commits
(merged to 'next' on 2024-04-16 at dca4784407)
+ trailer: finish formatting unification
+ trailer: begin formatting unification
+ format_trailer_info(): append newline for non-trailer lines
+ format_trailer_info(): drop redundant unfold_value()
+ format_trailer_info(): use trailer_item objects
(this branch is used by la/hide-trailer-info.)

The code to format trailers have been cleaned up.

Will merge to 'master'.
source: <pull.1694.git.1710485706.gitgitgadget@gmail.com>


* ie/config-includeif-hostname (2024-03-19) 2 commits
- config: learn the "hostname:" includeIf condition
- t: add a test helper for getting hostname