What's cooking (2023/09 #06)

todo
Junio C Hamano 2023-09-19 15:47:42 -07:00
parent e9a185d825
commit 94ea1d925d
1 changed files with 129 additions and 197 deletions

View File

@ -1,10 +1,10 @@
To: git@vger.kernel.org
Subject: What's cooking in git.git (Sep 2023, #05; Fri, 15)
X-master-at: bda494f4043963b9ec9a1ecd4b19b7d1cd9a0518
X-next-at: 380fc7ccd1acc85fe06785a0a56d9f99d56dc306
Subject: What's cooking in git.git (Sep 2023, #06; Tue, 19)
X-master-at: d4a83d07b8cc66d4afac2f33a8af729f2ba93bba
X-next-at: bd06505f9e3b71fbe55c339b9e635ade27246b0f
Bcc: lwn@lwn.net, gitster@pobox.com

What's cooking in git.git (Sep 2023, #05; Fri, 15)
What's cooking in git.git (Sep 2023, #06; Tue, 19)
--------------------------------------------------

Here are the topics that have been cooking in my tree. Commits
@ -48,145 +48,107 @@ Release tarballs are available at:
--------------------------------------------------
[Graduated to 'master']

* ak/pretty-decorate-more (2023-08-21) 8 commits
(merged to 'next' on 2023-09-07 at 6f5e14cef2)
+ decorate: use commit color for HEAD arrow
+ pretty: add pointer and tag options to %(decorate)
+ pretty: add %(decorate[:<options>]) format
+ decorate: color each token separately
+ decorate: avoid some unnecessary color overhead
+ decorate: refactor format_decorations()
+ pretty-formats: enclose options in angle brackets
+ pretty-formats: define "literal formatting code"
* js/complete-checkout-t (2023-09-08) 1 commit
(merged to 'next' on 2023-09-08 at 461bb28fbd)
+ completion(switch/checkout): treat --track and -t the same

"git log --format" has been taught the %(decorate) placeholder.
source: <20230820185009.20095-1-andy.koppe@gmail.com>
The completion script (in contrib/) has been taught to treat the
"-t" option to "git checkout" and "git switch" just like the
"--track" option, to complete remote-tracking branches.
source: <pull.1584.git.1694176123471.gitgitgadget@gmail.com>


* bc/more-git-var (2023-09-05) 1 commit
(merged to 'next' on 2023-09-06 at d8af32874c)
+ var: avoid a segmentation fault when `HOME` is unset
* rs/grep-no-no-or (2023-09-07) 1 commit
(merged to 'next' on 2023-09-08 at 33849032bc)
+ grep: reject --no-or

Fix-up for a topic that already has graduated.
source: <pull.1580.git.1693808487058.gitgitgadget@gmail.com>


* ew/hash-with-openssl-evp (2023-08-31) 1 commit
(merged to 'next' on 2023-09-05 at 1ddc0078c8)
+ treewide: fix various bugs w/ OpenSSL 3+ EVP API

Fix-up new-ish code to support OpenSSL EVP API.
source: <20230901020928.M610756@dcvr>


* jk/tree-name-and-depth-limit (2023-08-31) 10 commits
(merged to 'next' on 2023-09-07 at 7ad767ab0d)
+ lower core.maxTreeDepth default to 2048
+ tree-diff: respect max_allowed_tree_depth
+ list-objects: respect max_allowed_tree_depth
+ read_tree(): respect max_allowed_tree_depth
+ traverse_trees(): respect max_allowed_tree_depth
+ add core.maxTreeDepth config
+ fsck: detect very large tree pathnames
+ tree-walk: rename "error" variable
+ tree-walk: drop MAX_TRAVERSE_TREES macro
+ tree-walk: reduce stack size for recursive functions

We now limit depth of the tree objects and maximum length of
pathnames recorded in tree objects.
source: <20230831061735.GA2702156@coredump.intra.peff.net>


* jk/unused-post-2.42-part2 (2023-09-05) 10 commits
(merged to 'next' on 2023-09-05 at 308ca3a052)
+ parse-options: mark unused parameters in noop callback
+ interpret-trailers: mark unused "unset" parameters in option callbacks
+ parse-options: add more BUG_ON() annotations
+ merge: do not pass unused opt->value parameter
+ parse-options: mark unused "opt" parameter in callbacks
+ parse-options: prefer opt->value to globals in callbacks
+ checkout-index: delay automatic setting of to_tempfile
+ format-patch: use OPT_STRING_LIST for to/cc options
+ merge: simplify parsing of "-n" option
+ merge: make xopts a strvec

Unused parameters to functions are marked as such, and/or removed,
in order to bring us closer to -Wunused-parameter clean.
source: <20230831211637.GA949188@coredump.intra.peff.net>


* ks/ref-filter-sort-numerically (2023-09-05) 1 commit
(merged to 'next' on 2023-09-06 at aa4d156366)
+ ref-filter: sort numerically when ":size" is used

"git for-each-ref --sort='contents:size'" sorts the refs according
to size numerically, giving a ref that points at a blob twelve-byte
(12) long before showing a blob hundred-byte (100) long.
source: <20230902090155.8978-1-five231003@gmail.com>


* ob/revert-of-revert-is-reapply (2023-09-02) 2 commits
(merged to 'next' on 2023-09-07 at 9a54f66511)
+ git-revert.txt: add discussion
+ sequencer: beautify subject of reverts of reverts

The default log message created by "git revert", when reverting a
commit that records a revert, has been tweaked.
source: <20230821170720.577850-1-oswald.buddenhagen@gmx.de>
source: <20230902072035.652549-1-oswald.buddenhagen@gmx.de>


* ob/sequencer-reword-error-message (2023-09-05) 1 commit
(merged to 'next' on 2023-09-06 at c5154b7aa2)
+ sequencer: fix error message on failure to copy SQUASH_MSG

Update an error message (which would probably never been seen).
source: <20230903151132.739136-1-oswald.buddenhagen@gmx.de>


* pw/rebase-i-after-failure (2023-09-06) 7 commits
(merged to 'next' on 2023-09-07 at 3cbc3c4d63)
+ rebase -i: fix adding failed command to the todo list
+ rebase --continue: refuse to commit after failed command
+ rebase: fix rewritten list for failed pick
+ sequencer: factor out part of pick_commits()
+ sequencer: use rebase_path_message()
+ rebase -i: remove patch file after conflict resolution
+ rebase -i: move unlink() calls

Various fixes to the behaviour of "rebase -i" when the command got
interrupted by conflicting changes.
cf. <6b927687-cf6e-d73e-78fb-bd4f46736928@gmx.de>
source: <pull.1492.v4.git.1694013771.gitgitgadget@gmail.com>


* rs/grep-parseopt-simplify (2023-09-05) 1 commit
(merged to 'next' on 2023-09-06 at 249b69cfd2)
+ grep: use OPT_INTEGER_F for --max-depth

Simplify use of parse-options API a bit.
source: <4d2eb736-4f34-18f8-2eb7-20e7f7b8c2f8@web.de>


* rs/name-rev-use-opt-hidden-bool (2023-09-05) 1 commit
(merged to 'next' on 2023-09-06 at 9b251a5392)
+ name-rev: use OPT_HIDDEN_BOOL for --peel-tag

Simplify use of parse-options API a bit.
source: <5a86c8f8-fcdc-fee9-8af5-aa5ecb036d2e@web.de>


* so/diff-doc-for-patch-update (2023-09-06) 1 commit
(merged to 'next' on 2023-09-07 at 6da5e9defd)
+ doc/diff-options: fix link to generating patch section

References from description of the `--patch` option in various
manual pages have been simplified and improved.
source: <87msxzpybo.fsf_-_@osv.gnss.ru>
"git grep -e A --no-or -e B" is accepted, even though the negation
of "or" did not mean anything, which has been tightened.
source: <6aeb0ebe-0fea-ccd3-089a-ee0b5b5baf10@web.de>

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

* jc/diff-cached-fsmonitor-fix (2023-09-15) 3 commits
- diff-lib: fix check_removed() when fsmonitor is active
- Merge branch 'jc/fake-lstat' into jc/diff-cached-fsmonitor-fix
- Merge branch 'js/diff-cached-fsmonitor-fix' into jc/diff-cached-fsmonitor-fix
(this branch uses jc/fake-lstat and js/diff-cached-fsmonitor-fix.)

The optimization based on fsmonitor in the "diff --cached"
codepath is resurrected with the "fake-lstat" introduced earlier.

It is unknown if the optimization is worth resurrecting, but in case...
source: <xmqqr0n0h0tw.fsf@gitster.g>


* ml/git-gui-exec-path-fix (2023-09-18) 3 commits
(merged to 'next' on 2023-09-19 at 0565b0b14b)
+ Merge git-gui into ml/git-gui-exec-path-fix
+ git-gui - use git-hook, honor core.hooksPath
+ git-gui - re-enable use of hook scripts

Fix recent regression in Git-GUI that fails to run hook scripts at
all.

Will merge to 'master'.


* ds/stat-name-width-configuration (2023-09-18) 1 commit
- diff --stat: add config option to limit filename width

"git diff" learned diff.statNameWidth configuration variable, to
give the default width for the name part in the "--stat" output.

Will merge to 'next'.
source: <87badb12f040d1c66cd9b89074d3de5015a45983.1694446743.git.dsimic@manjaro.org>


* tb/send-email-extract-valid-address-error-message-fix (2023-09-18) 1 commit
(merged to 'next' on 2023-09-19 at d037282391)
+ git-send-email.perl: avoid printing undef when validating addresses

An error message given by "git send-email" when given a malformed
address did not give correct information, which has been corrected.

Will merge to 'master'.
source: <545729b619308c6f3397b9aa1747f26ddc58f461.1695054945.git.me@ttaylorr.com>


* jk/fsmonitor-unused-parameter (2023-09-18) 8 commits
(merged to 'next' on 2023-09-19 at bd06505f9e)
+ run-command: mark unused parameters in start_bg_wait callbacks
+ fsmonitor: mark unused hashmap callback parameters
+ fsmonitor/darwin: mark unused parameters in system callback
+ fsmonitor: mark unused parameters in stub functions
+ fsmonitor/win32: mark unused parameter in fsm_os__incompatible()
+ fsmonitor: mark some maybe-unused parameters
+ fsmonitor/win32: drop unused parameters
+ fsmonitor: prefer repo_git_path() to git_pathdup()

Unused parameters in fsmonitor related code paths have been marked
as such.

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

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

* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
- cherry-pick: refuse cherry-pick sequence if index is dirty

"git cherry-pick A" that replays a single commit stopped before
clobbering local modification, but "git cherry-pick A..B" did not,
which has been corrected.

Expecting a reroll.
cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>

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

* ob/sequencer-remove-dead-code (2023-09-12) 1 commit
(merged to 'next' on 2023-09-13 at 1f6c2b336b)
+ sequencer: remove unreachable exit condition in pick_commits()
@ -207,20 +169,23 @@ Release tarballs are available at:
source: <20230912104237.271616-1-oswald.buddenhagen@gmx.de>


* jk/ort-unused-parameter-cleanups (2023-09-14) 4 commits
- merge-ort: drop unused "opt" parameter from merge_check_renames_reusable()
- merge-ort: drop unused parameters from detect_and_process_renames()
- merge-ort: stop passing "opt" to read_oid_strbuf()
- merge-ort: drop custom err() function
* jk/ort-unused-parameter-cleanups (2023-09-16) 5 commits
(merged to 'next' on 2023-09-18 at 25a5dfc38e)
+ merge-ort: lowercase a few error messages
+ merge-ort: drop unused "opt" parameter from merge_check_renames_reusable()
+ merge-ort: drop unused parameters from detect_and_process_renames()
+ merge-ort: stop passing "opt" to read_oid_strbuf()
+ merge-ort: drop custom err() function

Code clean-up.

Needs review.
Will merge to 'master'.
source: <20230914093409.GA2254811@coredump.intra.peff.net>


* jc/fake-lstat (2023-09-14) 1 commit
* jc/fake-lstat (2023-09-15) 1 commit
- cache: add fake_lstat()
(this branch is used by jc/diff-cached-fsmonitor-fix.)

A new helper to let us pretend that we called lstat() when we know
our cache_entry is up-to-date via fsmonitor.
@ -230,32 +195,35 @@ Release tarballs are available at:


* jk/redact-h2h3-headers-fix (2023-09-15) 2 commits
- http: update curl http/2 info matching for curl 8.3.0
- http: factor out matching of curl http/2 trace lines
(merged to 'next' on 2023-09-19 at d40278ef9e)
+ http: update curl http/2 info matching for curl 8.3.0
+ http: factor out matching of curl http/2 trace lines

HTTP Header redaction code has been adjusted for a newer version of
cURL library that shows its traces differently from earlier
versions.

Will merge to 'next'.
Will merge to 'master'.
source: <20230915113237.GA3531328@coredump.intra.peff.net>


* ch/clean-docfix (2023-09-15) 1 commit
- git-clean doc: fix "without do cleaning" typo
(merged to 'next' on 2023-09-19 at 1e16b715bb)
+ git-clean doc: fix "without do cleaning" typo

Typofix.

Will merge to 'next'.
Will merge to 'master'.
source: <pull.1572.git.git.1694800409471.gitgitgadget@gmail.com>


* eg/config-type-path-docfix (2023-09-15) 1 commit
- git-config: fix misworded --type=path explanation
(merged to 'next' on 2023-09-19 at 2c8ad3e731)
+ git-config: fix misworded --type=path explanation

Typofix.

Will merge to 'next'.
Will merge to 'master'.
source: <20230915202610.21206-1-evan.gates@gmail.com>


@ -270,22 +238,6 @@ Release tarballs are available at:
Waiting for review response.
source: <20230915083415.263187-1-knayak@gitlab.com>

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

* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
- cherry-pick: refuse cherry-pick sequence if index is dirty

"git cherry-pick A" that replays a single commit stopped before
clobbering local modification, but "git cherry-pick A..B" did not,
which has been corrected.

Expecting a reroll.
cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>

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

* js/systemd-timers-wsl-fix (2023-09-11) 1 commit
(merged to 'next' on 2023-09-12 at 71c4cbb1df)
@ -298,15 +250,14 @@ Release tarballs are available at:
source: <pull.1586.git.1694334620260.gitgitgadget@gmail.com>


* kh/range-diff-notes (2023-09-11) 1 commit
* kh/range-diff-notes (2023-09-19) 1 commit
- range-diff: treat notes like `log`

"git range-diff --notes=foo" compared "log --notes=foo --notes" of
the two ranges, instead of using just the specified notes tree.

Expecting a reroll.
cf. <dd2958c5-58bf-86dd-b666-9033259a8e1a@gmx.de>
source: <a37dfb3748e23b4f5081bc9a3c80a5c546101f1d.1694383248.git.code@khaugsbakk.name>
Will merge to 'next'.
source: <6e114271a2e7d2323193bd58bb307f60101942ce.1695154855.git.code@khaugsbakk.name>


* pw/diff-no-index-from-named-pipes (2023-09-11) 1 commit
@ -320,14 +271,14 @@ Release tarballs are available at:
source: <22fdfa3b-f90e-afcc-667c-705fb7670245@web.de>


* rs/parse-options-value-int (2023-09-11) 2 commits
* rs/parse-options-value-int (2023-09-18) 2 commits
- parse-options: use and require int pointer for OPT_CMDMODE
- parse-options: add int value pointer to struct option

A bit of type safety for the "value" pointer used in the
parse-options API.

What's the status of this one?
Comments?
source: <e6d8a291-03de-cfd3-3813-747fc2cad145@web.de>


@ -338,13 +289,14 @@ Release tarballs are available at:
Teach a new "-d" option that shows the patch against the first
parent for merge commits (which is "--diff-merges=first-parent -p").

Needs more work.
Letting a less useful combination of options squat on short-and-sweet "-d" feels dubious.
source: <20230909125446.142715-1-sorganov@gmail.com>


* js/diff-cached-fsmonitor-fix (2023-09-11) 1 commit
(merged to 'next' on 2023-09-12 at 7479278da0)
+ diff-lib: fix check_removed when fsmonitor is on
(this branch is used by jc/diff-cached-fsmonitor-fix.)

"git diff --cached" codepath did not fill the necessary stat
information for a file when fsmonitor knows it is clean and ended
@ -445,29 +397,6 @@ Release tarballs are available at:
source: <pull.1581.git.1694080982621.gitgitgadget@gmail.com>


* rs/grep-no-no-or (2023-09-07) 1 commit
(merged to 'next' on 2023-09-08 at 33849032bc)
+ grep: reject --no-or

"git grep -e A --no-or -e B" is accepted, even though the negation
of "or" did not mean anything, which has been tightened.

Will merge to 'master'.
source: <6aeb0ebe-0fea-ccd3-089a-ee0b5b5baf10@web.de>


* js/complete-checkout-t (2023-09-08) 1 commit
(merged to 'next' on 2023-09-08 at 461bb28fbd)
+ completion(switch/checkout): treat --track and -t the same

The completion script (in contrib/) has been taught to treat the
"-t" option to "git checkout" and "git switch" just like the
"--track" option, to complete remote-tracking branches.

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


* cw/git-std-lib (2023-09-11) 7 commits
- SQUASH???
- git-std-lib: add test file to call git-std-lib.a functions
@ -542,7 +471,10 @@ Release tarballs are available at:
source: <cover.1692297001.git.steadmon@google.com>


* js/doc-unit-tests-with-cmake (2023-08-31) 4 commits
* js/doc-unit-tests-with-cmake (2023-09-18) 7 commits
- cmake: handle also unit tests
- cmake: use test names instead of full paths
- cmake: fix typo in variable name
- artifacts-tar: when including `.dll` files, don't forget the unit-tests
- unit-tests: do show relative file paths
- unit-tests: do not mistake `.pdb` files for being executable
@ -552,7 +484,7 @@ Release tarballs are available at:
Update the base topic to work with CMake builds.

Waiting for the base topic to settle.
source: <pull.1579.git.1693462532.gitgitgadget@gmail.com>
source: <pull.1579.v2.git.1695070468.gitgitgadget@gmail.com>


* tb/path-filter-fix (2023-08-30) 15 commits