What's cooking (2023/08 #03)

This commit is contained in:
Junio C Hamano
2023-08-08 18:33:21 -07:00
parent 0e87def282
commit 21dd98b20b

View File

@@ -1,10 +1,10 @@
To: git@vger.kernel.org
Subject: What's cooking in git.git (Aug 2023, #02; Fri, 4)
X-master-at: ac83bc5054c2ac489166072334b4147ce6d0fccb
X-next-at: 6953b252045fa7a4c836b56ff7a46e3e85c8275b
Subject: What's cooking in git.git (Aug 2023, #03; Tue, 8)
X-master-at: a82fb66fed250e16d3010c75404503bea3f0ab61
X-next-at: fd1ba4accffeede84a3a0c749bb6e1e407769a41
Bcc: lwn@lwn.net, gitster@pobox.com
What's cooking in git.git (Aug 2023, #02; Fri, 4)
What's cooking in git.git (Aug 2023, #03; Tue, 8)
--------------------------------------------------
Here are the topics that have been cooking in my tree. Commits
@@ -17,8 +17,9 @@ topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).
Git 2.42-rc0 has been tagged. Hopefully people can help find and
fix plenty of regressions before we tag -rc1 mid next week ;-)
There are some last-minute fixes that update or add messages that
are marked for i18n, and they may have to be fast-tracked to -rc1,
which we may want to delay by one day for that reason.
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
@@ -51,168 +52,200 @@ Release tarballs are available at:
--------------------------------------------------
[Graduated to 'master']
* hy/blame-in-bare-with-contents (2023-07-21) 1 commit
(merged to 'next' on 2023-07-31 at 39ac96d8d8)
+ blame: allow --contents to work with bare repo
* am/doc-sha256 (2023-07-31) 1 commit
(merged to 'next' on 2023-08-01 at d7419bf527)
+ doc: sha256 is no longer experimental
"git blame --contents=file" has been taught to work in a bare
repository.
source: <20230721035758.61956-1-hanyang.tony@bytedance.com>
Tone down the warning on SHA-256 repositories being an experimental
curiosity. We do not have support for them to interoperate with
traditional SHA-1 repositories, but at this point, we do not plan
to make breaking changes to SHA-256 repositories and there is no
longer need for such a strongly phrased warning.
source: <ZMe6KmzZGVubYpvO@adams>
* ja/worktree-orphan-fix (2023-07-26) 3 commits
(merged to 'next' on 2023-07-27 at e475016065)
+ t2400: rewrite regex to avoid unintentional PCRE
+ builtin/worktree.c: convert tab in advice to space
+ t2400: drop no-op `--sq` from rev-parse call
* ew/sha256-gcrypt-leak-fixes (2023-07-31) 3 commits
(merged to 'next' on 2023-08-01 at eed83801c3)
+ sha256/gcrypt: die on gcry_md_open failures
+ sha256/gcrypt: fix memory leak with SHA-256 repos
+ sha256/gcrypt: fix build with SANITIZE=leak
Fix tests with unportable regex patterns.
source: <20230726214202.15775-1-jacobabel@nullpo.dev>
Leakfixes.
source: <20230731120808.1230210-1-e@80x24.org>
* jc/branch-in-use-error-message (2023-07-21) 1 commit
(merged to 'next' on 2023-07-31 at 22f17d131b)
+ branch: update the message to refuse touching a branch in-use
* rs/bundle-parseopt-cleanup (2023-07-31) 1 commit
(merged to 'next' on 2023-08-01 at 405eb138fa)
+ bundle: use OPT_PASSTHRU_ARGV
"git branch -f X" to repoint the branch X said that X was "checked
out" in another worktree, even when branch X was not and instead
being bisected or rebased. The message was reworded to say the
branch was "in use".
source: <xmqqr0p1szhz.fsf_-_@gitster.g>
Code clean-up.
source: <2dcb915f-b926-e024-6394-23aff200955c@web.de>
* jc/doc-sent-patch-now-what (2023-07-27) 1 commit
(merged to 'next' on 2023-07-31 at 51f5d9d465)
+ MyFirstContribution: refrain from self-iterating too much
* tb/commit-graph-tests (2023-07-24) 5 commits
(merged to 'next' on 2023-07-31 at 740a260315)
+ t/lib-commit-graph.sh: avoid sub-shell in `graph_git_behavior()`
+ t5328: avoid top-level directory changes
+ t5318: avoid top-level directory changes
+ t/lib-commit-graph.sh: avoid directory change in `graph_git_behavior()`
+ t/lib-commit-graph.sh: allow `graph_read_expect()` in sub-directories
Process document update.
source: <xmqqmszg987u.fsf_-_@gitster.g>
* jc/parse-options-short-help (2023-07-19) 3 commits
(merged to 'next' on 2023-07-31 at e076d1f497)
+ short help: allow a gap smaller than USAGE_GAP
+ remote: simplify "remote add --tags" help text
+ short help: allow multi-line opthelp
Command line parser fix, and a small parse-options API update.
source: <xmqq5y6gg8fn.fsf@gitster.g>
* jc/retire-get-sha1-hex (2023-07-24) 1 commit
(merged to 'next' on 2023-07-27 at eeb9cc37f5)
+ hex: retire get_sha1_hex()
The implementation of "get_sha1_hex()" that reads a hexadecimal
string that spells a full object name has been extended to cope
with any hash function used in the repository, but the "sha1" in
its name survived. Rename it to get_hash_hex(), a name that is
more consistent within its friends like get_hash_hex_algop().
source: <xmqq1qgwoqgo.fsf_-_@gitster.g>
* la/doc-choose-starting-point (2023-07-14) 5 commits
(merged to 'next' on 2023-07-19 at 5a807cae46)
+ SubmittingPatches: simplify guidance for choosing a starting point
+ SubmittingPatches: emphasize need to communicate non-default starting points
+ SubmittingPatches: de-emphasize branches as starting points
+ SubmittingPatches: discuss subsystems separately from git.git
+ SubmittingPatches: reword awkward phrasing
(this branch is used by la/doc-choose-starting-point-fixup.)
Clarify how to choose the starting point for a new topic in
developer guidance document.
Will merge to 'master' together with the follow-on topic.
source: <pull.1556.v2.git.1689314493.gitgitgadget@gmail.com>
* la/doc-choose-starting-point-fixup (2023-07-27) 3 commits
(merged to 'next' on 2023-07-28 at 047dcae31c)
+ SubmittingPatches: use of older maintenance tracks is an exception
+ SubmittingPatches: explain why 'next' and above are inappropriate base
+ SubmittingPatches: choice of base for fixing an older maintenance track
(this branch uses la/doc-choose-starting-point.)
Clarify how to pick a starting point for a new topic in the
SubmittingPatches document.
Will merge to 'master', together with the underlying topic.
source: <pull.1556.v2.git.1689314493.gitgitgadget@gmail.com>
source: <pull.1556.v3.git.1690340701.gitgitgadget@gmail.com>
* pv/doc-submodule-update-settings (2023-07-25) 1 commit
(merged to 'next' on 2023-07-27 at e27b5b7ba8)
+ doc: highlight that .gitmodules does not support !command
Rewrite the description of giving a custom command to the
submodule.<name>.update configuration variable.
source: <20230725212218.711116-1-pvutov@imap.cc>
Test updates.
source: <cover.1690216758.git.me@ttaylorr.com>
--------------------------------------------------
[New Topics]
* jc/rerere-cleanup (2023-08-03) 5 commits
- rerere: plug small strbuf leak
- rerere: modernize use of empty strbuf
- rerere: try_merge() should use LL_MERGE_ERROR when it means an error
- rerere: fix comment on handle_file() helper
- rerere: simplify check_one_conflict() helper function
(this branch uses jc/unresolve-removal.)
* la/trailer-cleanups (2023-08-06) 5 commits
- trailer: rename *_DEFAULT enums to *_UNSPECIFIED
- trailer: teach find_patch_start about --no-divider
- trailer: split process_command_line_args into separate functions
- trailer: split process_input_file into separate pieces
- trailer: separate public from internal portion of trailer_iterator
Code clean-up.
Not ready to be reviewed yet.
source: <20230731224409.4181277-1-gitster@pobox.com>
Needs review.
source: <pull.1563.git.1691211879.gitgitgadget@gmail.com>
* ma/locate-in-path-for-windows (2023-08-04) 3 commits
- docs: update when `git bisect visualize` uses `gitk`
- compat/mingw: implement a native locate_in_PATH()
- run-command: conditionally define locate_in_PATH()
* la/trailer-test-and-doc-updates (2023-08-06) 5 commits
- trailer --no-divider help: describe usual "---" meaning
- trailer: trailer location is a place, not an action
- trailer: add tests to check defaulting behavior with --no-* flags
- trailer test description: this tests --where=after, not --where=before
- trailer tests: make test cases self-contained
"git bisect visualize" stopped running "gitk" on Git for Windows
when the command was reimplemented in C around Git 2.34 timeframe.
This has been corrected.
Test coverage improvement for trailers.
Needs review.
source: <pull.1564.git.1691210737.gitgitgadget@gmail.com>
* jk/repack-leakfix (2023-08-08) 1 commit
- repack: free geometry struct
Leakfix.
Will merge to 'next'.
source: <pull.1560.v2.git.1691122124.gitgitgadget@gmail.com>
source: <20230808185023.GA3498623@coredump.intra.peff.net>
* pw/rebase-skip-commit-message-fix (2023-08-03) 1 commit
- rebase --skip: fix commit message clean up when skipping squash
* jk/send-email-with-new-readline (2023-08-08) 2 commits
- send-email: avoid creating more than one Term::ReadLine object
- send-email: drop FakeTerm hack
"git rebase -i" with a series of squash/fixup, when one of the
steps stopped in conflicts and ended up getting skipped, did not
handle the accumulated commit log messages, which has been
corrected.
Adjust to newer Term::ReadLine to prevent it from breaking
the interactive prompt code in send-email.
Will merge to 'next'.
source: <pull.1558.git.git.1691068176051.gitgitgadget@gmail.com>
source: <20230808180935.GA2096901@coredump.intra.peff.net>
* bc/ignore-cland-cache (2023-08-04) 1 commit
(merged to 'next' on 2023-08-04 at 5cf8d41911)
+ gitignore: ignore clangd .cache directory
* js/allow-t4000-to-be-indented-with-spaces (2023-08-08) 1 commit
- t0040: declare non-tab indentation to be okay in this script
.gitignore update.
File attribute update.
Will merge to 'master'.
source: <20230804171328.1737188-1-sandals@crustytoothpaste.net>
Will merge to 'next'.
source: <pull.1568.git.1691491054706.gitgitgadget@gmail.com>
* ob/rebase-conflict-advice-i18n-fix (2023-08-07) 1 commit
- advice: handle "rebase" in error_resolve_conflict()
i18n coverage improvement and avoidance of sentence lego.
Will merge to 'next'.
source: <20230807170935.2336715-1-oswald.buddenhagen@gmx.de>
* rs/parse-opt-forbid-set-int-0-without-noneg (2023-08-08) 1 commit
- parse-options: disallow negating OPTION_SET_INT 0
Developer support to detect meaningless combination of options.
Will merge to 'next'.
source: <c4cd1591-3a83-920a-6a80-19ffbfe3089d@web.de>
* ds/maintenance-schedule-fuzz (2023-08-07) 6 commits
- maintenance: use random minute in systemd scheduler
- maintenance: swap method locations
- maintenance: use random minute in cron scheduler
- maintenance: use random minute in Windows scheduler
- maintenance: use random minute in launchctl scheduler
- maintenance: add get_random_minute()
Allow "git maintenance" schedule to be randomly distributed.
Still under discussion.
Expecting a reroll.
source: <pull.1567.git.1691434300.gitgitgadget@gmail.com>
* ob/send-email-interactive-failure (2023-08-07) 1 commit
- send-email: prompt-dependent exit codes
"git send-email" exits with non-zero status when end-user
interaction causes any prepared message not to be sent.
Expecting a reroll.
Without an opt-in fix, this will be a backward-incompatible
change that needs mention in the release notes.
source: <20230807165850.2335067-1-oswald.buddenhagen@gmx.de>
* ob/sequencer-empty-hint-fix (2023-08-07) 1 commit
- sequencer: rectify empty hint in call of require_clean_work_tree()
Under some unspecified condition, a code that calls into the
sequencer can produce an extra "error:" output that has no
meaningful message on it.
Expecting a reroll.
cf. <xmqqcyzx6ma1.fsf@gitster.g>
source: <20230807170935.2336730-1-oswald.buddenhagen@gmx.de>
* ob/test-lib-rebase-fake-editor-updates (2023-08-07) 3 commits
- t/lib-rebase: improve documentation of set_fake_editor()
- t/lib-rebase: set_fake_editor(): handle FAKE_LINES more consistently
- t/lib-rebase: set_fake_editor(): fix recognition of reset's short command
Test updates.
Will merge to 'next'.
source: <20230807170935.2336663-1-oswald.buddenhagen@gmx.de>
* rj/branch-in-use-error-message (2023-08-08) 2 commits
- branch: error message checking out a branch in use
- branch: error message deleting a branch in use
A message written in olden time prevented a branch from getting
checked out saying it is already checked out elsewhere, but these
days, we treat a branch that is being bisected or rebased just like
a branch that is checked out and protect it. Rephrase the message
to say that the branch is in use.
Will merge to 'next'.
source: <7710c002-0832-d8f6-59b8-30119bd5efe6@gmail.com>
--------------------------------------------------
[Stalled]
* mh/credential-libsecret-attrs (2023-06-16) 1 commit
- credential/libsecret: store new attributes
* sl/sparse-check-attr (2023-07-18) 3 commits
- check-attr: integrate with sparse-index
- attr.c: read attributes in a sparse directory
- t1092: add tests for 'git check-attr'
The way authentication related data other than passwords (e.g.
oath token and password expiration data) are stored in libsecret
keyrings has been rethought.
Teach "git check-attr" work better with sparse-index.
Needs review.
source: <pull.1469.v5.git.git.1686945306242.gitgitgadget@gmail.com>
Expecting a reroll.
cf. <c3ebe3b4-88b9-8ca2-2ee3-39a3e0d82201@github.com>
cf. <5e478d8b-9ef4-864b-41e4-e0a79877d278@github.com>
source: <20230718232916.31660-1-cheskaqiqi@gmail.com>
* cc/git-replay (2023-06-03) 15 commits
@@ -264,6 +297,70 @@ Release tarballs are available at:
--------------------------------------------------
[Cooking]
* mh/credential-libsecret-attrs (2023-06-16) 1 commit
(merged to 'next' on 2023-08-08 at dc73a2c55a)
+ credential/libsecret: store new attributes
The way authentication related data other than passwords (e.g.
oath token and password expiration data) are stored in libsecret
keyrings has been rethought.
Will cook in 'next'.
Needs review.
source: <pull.1469.v5.git.git.1686945306242.gitgitgadget@gmail.com>
* jc/rerere-cleanup (2023-08-03) 5 commits
- rerere: plug small strbuf leak
- rerere: modernize use of empty strbuf
- rerere: try_merge() should use LL_MERGE_ERROR when it means an error
- rerere: fix comment on handle_file() helper
- rerere: simplify check_one_conflict() helper function
(this branch uses jc/unresolve-removal.)
Code clean-up.
Not ready to be reviewed yet.
source: <20230731224409.4181277-1-gitster@pobox.com>
* ma/locate-in-path-for-windows (2023-08-04) 3 commits
(merged to 'next' on 2023-08-06 at 02bc13f4a3)
+ docs: update when `git bisect visualize` uses `gitk`
+ compat/mingw: implement a native locate_in_PATH()
+ run-command: conditionally define locate_in_PATH()
"git bisect visualize" stopped running "gitk" on Git for Windows
when the command was reimplemented in C around Git 2.34 timeframe.
This has been corrected.
Will merge to 'master'.
source: <pull.1560.v2.git.1691122124.gitgitgadget@gmail.com>
* pw/rebase-skip-commit-message-fix (2023-08-03) 1 commit
(merged to 'next' on 2023-08-06 at 1e44443e65)
+ rebase --skip: fix commit message clean up when skipping squash
"git rebase -i" with a series of squash/fixup, when one of the
steps stopped in conflicts and ended up getting skipped, did not
handle the accumulated commit log messages, which has been
corrected.
Will merge to 'master'.
source: <pull.1558.git.git.1691068176051.gitgitgadget@gmail.com>
* bc/ignore-clangd-cache (2023-08-04) 1 commit
(merged to 'next' on 2023-08-04 at 5cf8d41911)
+ gitignore: ignore clangd .cache directory
.gitignore update.
Will merge to 'master'.
source: <20230804171328.1737188-1-sandals@crustytoothpaste.net>
* pw/rebase-i-after-failure (2023-08-01) 7 commits
- rebase -i: fix adding failed command to the todo list
- rebase --continue: refuse to commit after failed command
@@ -334,43 +431,10 @@ Release tarballs are available at:
source: <48745298-f12b-8efb-4e48-90d2c22a8349@gmail.com>
* ew/sha256-gcrypt-leak-fixes (2023-07-31) 3 commits
(merged to 'next' on 2023-08-01 at eed83801c3)
+ sha256/gcrypt: die on gcry_md_open failures
+ sha256/gcrypt: fix memory leak with SHA-256 repos
+ sha256/gcrypt: fix build with SANITIZE=leak
Leakfixes.
Will merge to 'master'.
source: <20230731120808.1230210-1-e@80x24.org>
* rs/bundle-parseopt-cleanup (2023-07-31) 1 commit
(merged to 'next' on 2023-08-01 at 405eb138fa)
+ bundle: use OPT_PASSTHRU_ARGV
Code clean-up.
Will merge to 'master'.
source: <2dcb915f-b926-e024-6394-23aff200955c@web.de>
* am/doc-sha256 (2023-07-31) 1 commit
(merged to 'next' on 2023-08-01 at d7419bf527)
+ doc: sha256 is no longer experimental
Tone down the warning on SHA-256 repositories being an experimental
curiosity. We do not have support for them to interoperate with
traditional SHA-1 repositories, but at this point, we do not plan
to make breaking changes to SHA-256 repositories and there is no
longer need for such a strongly phrased warning.
Will merge to 'master'.
source: <ZMe6KmzZGVubYpvO@adams>
* rs/parse-options-negation-help (2023-07-24) 5 commits
* rs/parse-options-negation-help (2023-08-06) 8 commits
- parse-options: simplify usage_padding()
- parse-options: no --[no-]no-...
- parse-options: factor out usage_indent() and usage_padding()
- parse-options: show negatability of options in short help
- t1502: test option negation
- t1502: move optionspec help output to a file
@@ -380,54 +444,25 @@ Release tarballs are available at:
"git cmd -h" learned to signal which options can be negated by
listing such options like "--[no-]opt".
Will merge to 'next'.
I personally liked a later suggestion to deal with "--[no-]no-foo"
but that can be done as a separate enhancement.
cf. <31b71333-de8b-d9a8-3ec4-1bad9cae2bf3@web.de>
cf. <xmqqjzug14jo.fsf@gitster.g>
source: <4d01e971-07cb-4f11-3cc6-9d9f21e590c1@web.de>
* tb/commit-graph-tests (2023-07-24) 5 commits
(merged to 'next' on 2023-07-31 at 740a260315)
+ t/lib-commit-graph.sh: avoid sub-shell in `graph_git_behavior()`
+ t5328: avoid top-level directory changes
+ t5318: avoid top-level directory changes
+ t/lib-commit-graph.sh: avoid directory change in `graph_git_behavior()`
+ t/lib-commit-graph.sh: allow `graph_read_expect()` in sub-directories
Test updates.
Will merge to 'master'.
source: <cover.1690216758.git.me@ttaylorr.com>
* sl/sparse-check-attr (2023-07-18) 3 commits
- check-attr: integrate with sparse-index
- attr.c: read attributes in a sparse directory
- t1092: add tests for 'git check-attr'
Teach "git check-attr" work better with sparse-index.
Expecting a reroll.
cf. <c3ebe3b4-88b9-8ca2-2ee3-39a3e0d82201@github.com>
cf. <5e478d8b-9ef4-864b-41e4-e0a79877d278@github.com>
source: <20230718232916.31660-1-cheskaqiqi@gmail.com>
Comments?
source: <e4d46d97-1cd4-7fea-afd1-7de5023b1b09@web.de>
* mh/credential-erase-improvements-more (2023-07-26) 2 commits
- credential/wincred: erase matching creds only
- credential/libsecret: erase matching creds only
(merged to 'next' on 2023-08-08 at fd1ba4accf)
+ credential/wincred: erase matching creds only
+ credential/libsecret: erase matching creds only
Update two credential helpers to correctly match which credential
to erase; they dropped not the ones with stale password.
Will cook in 'next'.
Needs review.
source: <pull.1527.v2.git.git.1690387585634.gitgitgadget@gmail.com>
source: <pull.1529.git.git.1687596777147.gitgitgadget@gmail.com>
* cc/repack-sift-filtered-objects-to-separate-pack (2023-07-24) 8 commits
* cc/repack-sift-filtered-objects-to-separate-pack (2023-08-08) 8 commits
. gc: add `gc.repackFilterTo` config option
. repack: implement `--filter-to` for storing filtered out objects
. gc: add `gc.repackFilter` config option
@@ -440,21 +475,21 @@ Release tarballs are available at:
"git repack" machinery learns to pay attention to the "--filter="
option.
Breaks CI with some environment variables configured.
cf. <xmqqo7jzh9mh.fsf@gitster.g>
source: <20230724085909.3831831-1-christian.couder@gmail.com>
Comments?
source: <20230808082608.582319-1-christian.couder@gmail.com>
* js/doc-unit-tests (2023-06-30) 1 commit
- unit tests: Add a project plan document
* js/doc-unit-tests (2023-08-07) 1 commit
- unit tests: add a project plan document
Process to add some form of low-level unit tests has started.
Still filling in blanks.
source: <0169ce6fb9ccafc089b74ae406db0d1a8ff8ac65.1688165272.git.steadmon@google.com>
Comments?
source: <c7dca1a805a16fd4fd68e86efeec97510e3ac4b8.1691449216.git.steadmon@google.com>
* jt/path-filter-fix (2023-08-01) 7 commits
* jt/path-filter-fix (2023-08-08) 8 commits
- commit-graph: fix small leak with invalid changedPathsVersion
(merged to 'next' on 2023-08-03 at d99958c287)
+ commit-graph: new filter ver. that fixes murmur3
+ repo-settings: introduce commitgraph.changedPathsVersion
@@ -468,6 +503,7 @@ Release tarballs are available at:
on systems whose "char" is unsigned; update the implementation and
bump the format version to 2.
Will merge to 'master'.
Will cook in 'next'.
cf. <ZMqp6K2iXixWH/zT@nand.local>
source: <cover.1690912539.git.jonathantanmy@google.com>
source: <20230808192240.GA4091261@coredump.intra.peff.net>