What's cooking (2023/03 #03)

todo
Junio C Hamano 2023-03-13 09:49:22 -07:00
parent 3452d82fc2
commit 5f8cabe56e
1 changed files with 209 additions and 112 deletions

View File

@ -1,10 +1,10 @@
To: git@vger.kernel.org
Subject: What's cooking in git.git (Mar 2023, #02; Tue, 7)
X-master-at: 725f57037d81e24eacfda6e59a19c60c0b4c8062
X-next-at: 97d40d926ee7422876456a84ac38bfc5edc7d9d1
Subject: What's cooking in git.git (Mar 2023, #03; Mon, 13)
X-master-at: 73876f4861cd3d187a4682290ab75c9dccadbc56
X-next-at: 60544f874fd51e4f7a5848f94bc42e74e5323d6a
Bcc: lwn@lwn.net, gitster@pobox.com

What's cooking in git.git (Mar 2023, #02; Tue, 7)
What's cooking in git.git (Mar 2023, #03; Mon, 13)
--------------------------------------------------

Here are the topics that have been cooking in my tree. Commits
@ -16,6 +16,12 @@ message that raises issues but they are no means exhaustive. A
topic without enough support may be discarded after a long period of
no activity.

Git 2.40 (final) has been tagged and pushed out and we have about
two dozens of topics in 'next'. Let's spend this week to look for
regression reports and fix them, and to decide which ones to eject
out of 'next' as necessary. I'll start moving stalled topics into
to-be-discarded bin and discard them.

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.
@ -47,112 +53,109 @@ Release tarballs are available at:
--------------------------------------------------
[New Topics]

* as/doc-markup-fix (2023-03-06) 1 commit
- git-merge-tree.txt: replace spurious HTML entity
* ab/fix-strategy-opts-parsing (2023-03-08) 1 commit
(merged to 'next' on 2023-03-08 at bd9eff2779)
+ sequencer.c: fix overflow & segfault in parse_strategy_opts()

Fix for a mis-mark-up in doc made in Git 2.39 days.

Will merge to 'next'.
source: <87y1oco3i9.fsf@igel.home>


* ds/ahead-behind (2023-03-06) 8 commits
- ahead-behind: add --contains mode
- ahead-behind: implement ahead_behind() logic
- commit-graph: introduce `ensure_generations_valid()`
- commit-graph: return generation from memory
- commit-graph: combine generation computations
- ahead-behind: implement --ignore-missing option
- ahead-behind: parse tip references
- ahead-behind: create empty builtin

"git ahead-behind --base=<reference> --stdin" computes the
distances from a single reference point in the history with bunch
of commits in bulk.

Comments?
source: <pull.1489.git.1678111598.gitgitgadget@gmail.com>


* gc/config-parsing-cleanup (2023-03-03) 6 commits
- config.c: remove current_parsing_scope
- config.c: remove current_config_kvi
- config.c: plumb the_reader through callbacks
- config.c: create config_reader and the_reader
- config.c: don't assign to "cf" directly
- config.c: plumb config_source through static fns

Config API clean-up to reduce its dependence on static variables

Comments?
source: <pull.1463.git.git.1677631097.gitgitgadget@gmail.com>


* jk/bundle-progress (2023-03-06) 1 commit
- bundle: turn on --all-progress-implied by default

Simplify UI to control progress meter given by "git bundle" command.

Will merge to 'next'.
source: <ZAMjkffYmp+DNmr+@coredump.intra.peff.net>


* jk/bundle-use-dash-for-stdfiles (2023-03-06) 5 commits
- parse-options: use prefix_filename_except_for_dash() helper
- parse-options: consistently allocate memory in fix_filename()
- bundle: don't blindly apply prefix_filename() to "-"
- bundle: document handling of "-" as stdin
- bundle: let "-" mean stdin for reading operations

"git bundle" learned that "-" is a common way to say that the input
comes from the standard input and/or the output goes to the
standard output. It used to work only for output and only from the
root level of the working tree.

Will merge to 'next'.
source: <ZAMb8LSpm2gOrpeY@coredump.intra.peff.net>


* jk/format-patch-change-format-for-empty-commits (2023-03-03) 1 commit
- format-patch: output header for empty commits

"git format-patch" learned to write a log-message only output file
for empty commits.

Will merge to 'next'.
source: <20230303160301.3659328-1-john@keeping.me.uk>


* ds/reprepare-alternates-when-repreparing-packfiles (2023-03-06) 1 commit
- object-file: reprepare alternates when necessary

Once we start running, we assumed that the list of alternate object
databases would never change. Hook into the machinery used to
update the list of packfiles during runtime to update this list as
well.

Comments?
source: <pull.1490.git.1678136369387.gitgitgadget@gmail.com>

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

* gm/signature-format-doc (2023-02-27) 1 commit
(merged to 'next' on 2023-03-01 at 19f9ce8c40)
+ signature-format.txt: note SSH and X.509 signature delimiters

Doc update.
The code to parse "git rebase -X<opt>" was not prepared to see an
unparsable option string, which has been corrected.

Will cook in 'next'.
source: <20230227202718.173698-1-gwymor@tilde.club>
source: <patch-1.1-f6a06e25cf3-20230307T182039Z-avarab@gmail.com>


* rs/range-diff-custom-abbrev-fix (2023-02-28) 1 commit
(merged to 'next' on 2023-02-28 at 82f1929a15)
+ range-diff: avoid compiler warning when char is unsigned
* ew/fetch-no-write-fetch-head-fix (2023-03-09) 1 commit
(merged to 'next' on 2023-03-09 at 283e2159c8)
+ fetch: pass --no-write-fetch-head to subprocesses

Hotfix for a topic that is already in 'master'.
source: <1156586e-9dbe-335e-7e33-74eea7913e86@web.de>
Will cook in 'next'.
source: <20230308222205.M679514@dcvr>


* fc/advice-diverged-history (2023-03-08) 1 commit
(merged to 'next' on 2023-03-08 at 30e7016218)
+ advice: add diverging advice for novices

After "git pull" that is configured with pull.rebase=false
merge.ff=only fails due to our end having our own development, give
advice messages to get out of the "Not possible to fast-forward"
state.

Will cook in 'next'.
source: <20230308024834.1562386-2-felipe.contreras@gmail.com>


* jk/add-p-unmerged-fix (2023-03-09) 1 commit
(merged to 'next' on 2023-03-09 at a46443480c)
+ add-patch: handle "* Unmerged path" lines

"git add -p" while the index is unmerged sometimes failed to parse
the diff output it internally produces and died, which has been
corrected.

Will cook in 'next'.
source: <ZAmfqC9WMl3XeyEr@coredump.intra.peff.net>


* jk/format-patch-ignore-noprefix (2023-03-09) 5 commits
(merged to 'next' on 2023-03-12 at 621d71c151)
+ format-patch: add format.noprefix option
+ format-patch: do not respect diff.noprefix
+ diff: add --default-prefix option
+ t4013: add tests for diff prefix options
+ diff: factor out src/dst prefix setup

"git format-patch" honors the src/dst prefixes set to nonstandard
values with configuration variables like "diff.noprefix", causing
receiving end of the patch that expects the standard -p1 format to
break. Teach "format-patch" to ignore end-user configuration and
always use the standard prefixes.

This is a backward compatibility breaking change.

Will merge to 'master'.
source: <ZAl3bHB9zxjLITgf@coredump.intra.peff.net>


* sl/diff-files-sparse (2023-03-09) 2 commits
- diff-files: integrate with sparse index
- t1092: add tests for `git diff-files`

Teach "diff-files" not to expand sparse-index unless needed.

Expecting hopefully a final and minor reroll?
source: <20230309063952.42362-1-cheskaqiqi@gmail.com>


* aj/ls-files-format-fix (2023-03-10) 1 commit
- ls-files: fix "--format" output of relative paths

Fix for a "ls-files --format="%(path)" that produced nonsense
output, which was a bug in 2.38.

Will merge to 'next'.
source: <pull.1465.git.git.1678453473484.gitgitgadget@gmail.com>


* fc/test-aggregation-clean-up (2023-03-09) 2 commits
- test: don't print aggregate-results command
- test: simplify counts aggregation

Code clean-up for test framework.

Will merge to 'next'.
source: <20230309173032.959968-1-felipe.contreras@gmail.com>


* ps/receive-pack-unlock-before-die (2023-03-10) 1 commit
- receive-pack: fix stale packfile locks when dying

"git receive-pack" that responds to "git push" requests failed to
clean a stale lockfile when killed in the middle, which has been
corrected.

Will merge to 'next'.
source: <e1ee1d8026a361bc58d16bc741e2b347ada7a53e.1678431076.git.ps@pks.im>

--------------------------------------------------
[Stalled]
@ -248,6 +251,98 @@ Release tarballs are available at:
--------------------------------------------------
[Cooking]

* as/doc-markup-fix (2023-03-06) 1 commit
(merged to 'next' on 2023-03-07 at 8c7289659a)
+ git-merge-tree.txt: replace spurious HTML entity

Fix for a mis-mark-up in doc made in Git 2.39 days.

Will cook in 'next'.
source: <87y1oco3i9.fsf@igel.home>


* ds/ahead-behind (2023-03-10) 7 commits
- for-each-ref: add ahead-behind format atom
- commit-reach: implement ahead_behind() logic
- commit-graph: introduce `ensure_generations_valid()`
- commit-graph: return generation from memory
- commit-graph: combine generation computations
- for-each-ref: explicitly test no matches
- for-each-ref: add --stdin option

"git for-each-ref" learns '%(ahead-behind:<base>)' that computes the
distances from a single reference point in the history with bunch
of commits in bulk.

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


* gc/config-parsing-cleanup (2023-03-03) 6 commits
- config.c: remove current_parsing_scope
- config.c: remove current_config_kvi
- config.c: plumb the_reader through callbacks
- config.c: create config_reader and the_reader
- config.c: don't assign to "cf" directly
- config.c: plumb config_source through static fns

Config API clean-up to reduce its dependence on static variables

Comments?
source: <pull.1463.git.git.1677631097.gitgitgadget@gmail.com>


* jk/bundle-progress (2023-03-06) 1 commit
(merged to 'next' on 2023-03-07 at 0df2b09e1b)
+ bundle: turn on --all-progress-implied by default

Simplify UI to control progress meter given by "git bundle" command.

Will cook in 'next'.
source: <ZAMjkffYmp+DNmr+@coredump.intra.peff.net>


* jk/bundle-use-dash-for-stdfiles (2023-03-06) 5 commits
(merged to 'next' on 2023-03-07 at 8ceb58f725)
+ parse-options: use prefix_filename_except_for_dash() helper
+ parse-options: consistently allocate memory in fix_filename()
+ bundle: don't blindly apply prefix_filename() to "-"
+ bundle: document handling of "-" as stdin
+ bundle: let "-" mean stdin for reading operations

"git bundle" learned that "-" is a common way to say that the input
comes from the standard input and/or the output goes to the
standard output. It used to work only for output and only from the
root level of the working tree.

Will cook in 'next'.
source: <ZAMb8LSpm2gOrpeY@coredump.intra.peff.net>


* jk/format-patch-change-format-for-empty-commits (2023-03-03) 1 commit
(merged to 'next' on 2023-03-07 at 1c421f4a9f)
+ format-patch: output header for empty commits

"git format-patch" learned to write a log-message only output file
for empty commits.

Will cook in 'next'.
source: <20230303160301.3659328-1-john@keeping.me.uk>


* ds/reprepare-alternates-when-repreparing-packfiles (2023-03-09) 1 commit
(merged to 'next' on 2023-03-09 at 851bceed17)
+ object-file: reprepare alternates when necessary

Once we start running, we assumed that the list of alternate object
databases would never change. Hook into the machinery used to
update the list of packfiles during runtime to update this list as
well.

Will cook in 'next'.
source: <pull.1490.v2.git.1678301252360.gitgitgadget@gmail.com>


* ak/restore-both-incompatible-with-conflicts (2023-02-27) 1 commit
(merged to 'next' on 2023-03-06 at 4ee341853c)
+ restore: fault --staged --worktree with merge opts
@ -508,9 +603,10 @@ Release tarballs are available at:
+ branch: avoid unnecessary worktrees traversals

Error messages given when working on an unborn branch that is
checked out in another worktree have been improvved.
checked out in another worktree have been improved.

Will cook in 'next'.
Needs update.
cf. <877b6f9d-bab6-1343-42d0-3e17e3d0a9c5@gmail.com>
source: <139555f1-21ab-d987-a58e-c7f04ce222d3@gmail.com>


@ -531,7 +627,7 @@ Release tarballs are available at:
source: <cover-v2-0.6-00000000000-20230202T093706Z-avarab@gmail.com>


* ab/config-multi-and-nonbool (2023-03-07) 9 commits
* ab/config-multi-and-nonbool (2023-03-08) 9 commits
- for-each-repo: with bad config, don't conflate <path> and <cmd>
- config API: add "string" version of *_value_multi(), fix segfaults
- config API users: test for *_get_value_multi() segfaults
@ -544,8 +640,9 @@ Release tarballs are available at:

Assorted config API updates.

Comments?
source: <cover-v6-0.9-00000000000-20230307T180516Z-avarab@gmail.com>
Almost there.
cf. <kl6l8rg5hhen.fsf@chooglen-macbookpro.roam.corp.google.com>
source: <cover-v7-0.9-00000000000-20230308T090513Z-avarab@gmail.com>


* cb/checkout-same-branch-twice (2023-01-20) 1 commit
@ -578,9 +675,9 @@ Release tarballs are available at:
(merged to 'next' on 2023-03-06 at 3508814a41)
+ bisect: fix "reset" when branch is checked out elsewhere

Allow "git bisect reset [name]" to check out the named branch (or
the original one) even when the branch is already checked out in a
different worktree linked to the same repository.
Allow "git bisect reset" to check out the original branch when the
branch is already checked out in a different worktree linked to the
same repository.

Will cook in 'next'.
source: <1c36c334-9f10-3859-c92f-3d889e226769@gmail.com>