What's cooking (2021/08 #05)

This commit is contained in:
Junio C Hamano
2021-08-12 14:50:11 -07:00
parent 05ed462663
commit de5838d630

View File

@@ -1,9 +1,9 @@
To: git@vger.kernel.org
Subject: What's cooking in git.git (Aug 2021, #04; Tue, 10)
X-master-at: 2d755dfac9aadab25c3e025b849252b8c0a61465
X-next-at: d937d09924f20c2ef76e4ae1cc20f566d2ecf953
Subject: What's cooking in git.git (Aug 2021, #05; Thu, 12)
X-master-at: 5d213e46bb7b880238ff5ea3914e940a50ae9369
X-next-at: ed5fa647cd5d07bf513e4487e6352c72bffe54ea
What's cooking in git.git (Aug 2021, #04; Tue, 10)
What's cooking in git.git (Aug 2021, #05; Thu, 12)
--------------------------------------------------
Here are the topics that have been cooking in my tree. Commits
@@ -17,8 +17,11 @@ useful"). Do not read too much into a topic being in (or not in)
'seen'. The ones marked with '.' do not appear in any of the
integration branches, but I am still holding onto them.
Git 2.33-rc2 will be tagged tomorrow, with a few build and
regression fixes (not in 'master' yet as of this writing).
Git 2.33-rc2 has been tagged. The last couple of days, I may have
ignored patches on new topics that are irrelevant to the upcoming
release, and will continue to do so until the current cycle is over.
Please resend them after the final release of Git 2.33 if they are
still relevant.
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
@@ -49,17 +52,11 @@ Release tarballs are available at:
https://www.kernel.org/pub/software/scm/git/
--------------------------------------------------
[New Topics]
[Graduated to 'master']
* cb/builtin-merge-format-string-fix (2021-08-09) 1 commit
- builtin/merge: avoid -Wformat-extra-args from ancient Xcode
Code clean-up.
Will merge to 'next'.
* cb/many-alternate-optim-fixup (2021-08-09) 2 commits
* cb/many-alternate-optim-fixup (2021-08-11) 3 commits
(merged to 'next' on 2021-08-11 at 02b3558652)
+ object-file: use unsigned arithmetic with bit mask
(merged to 'next' on 2021-08-09 at 3572bef349)
+ object-store: avoid extra ';' from KHASH_INIT
+ oidtree: avoid nested struct oidtree_node
@@ -67,44 +64,6 @@ Release tarballs are available at:
Build fix.
Will merge to 'master'.
* ka/want-ref-in-namespace (2021-08-09) 3 commits
- docs: clarify the interaction of transfer.hideRefs and namespaces
- upload-pack.c: treat want-ref relative to namespace
- t5730: introduce fetch command helper
"git upload-pack" which runs on the other side of "git fetch"
forgot to take the ref namespaces into account when handling
want-ref requests.
* np/blame-ignore-revs-file-may-be-optional (2021-08-09) 1 commit
- blame: add config `blame.ignoreRevsFileIsOptional`
When the file named by blame.ignoreRevsFile configuration variable
does not exist, it causes "git blame" to die. Sometimes, it is
useful if the files named by configuration variables can be made
optional (it would allow ~/.gitconfig to give a filename, and make
it effective only in repositories that have a file with that name).
This uses an extra variable that marks that the variable is
optional. Yet another alternative is being discussed to define
syntax for "optional" filename values, so that the same mechanism
can be used for not just blame.ignoreRevsFile but other filenames.
Queued just as a reminder of the theme.
* cb/ci-build-pedantic (2021-08-09) 1 commit
- ci: run a pedantic build as part of the GitHub workflow
(this branch uses cb/many-alternate-optim-fixup.)
CI update.
Will merge to 'next'.
* jn/log-m-does-not-imply-p (2021-08-09) 1 commit
(merged to 'next' on 2021-08-09 at d937d09924)
@@ -113,77 +72,84 @@ Release tarballs are available at:
Earlier "git log -m" was changed to always produce patch output,
which would break existing scripts, which has been reverted.
Will merge to 'master'.
--------------------------------------------------
[New Topics]
* th/userdiff-more-java (2021-08-11) 1 commit
- userdiff: improve java hunk header regex
* ds/sparse-index-ignored-files (2021-08-10) 9 commits
- sparse-checkout: clear tracked sparse dirs
- sparse-index: add SPARSE_INDEX_IGNORE_CONFIG flag
- attr: be careful about sparse directories
- sparse-checkout: create helper methods
- unpack-trees: fix nested sparse-dir search
- sparse-index: silently return when cache tree fails
- sparse-index: silently return when not using cone-mode patterns
- t7519: rewrite sparse index test
- Merge branch 'ds/add-with-sparse-index' into ds/sparse-index-ignored-files
(this branch uses ds/add-with-sparse-index.)
In cone mode, the sparse-index codepath learned to remove ignored
files (like build artifacts) outside the sparse cone, allowing the
entire directory outside the sparse cone to be removed, which is
especially useful when the sparse patterns change.
* jc/userdiff-pattern-hint (2021-08-10) 1 commit
- userdiff: comment on the builtin patterns
Remind developers that the userdiff patterns should be kept simple
and permissive, assuming that the contents they apply are always
syntactically correct.
* jk/apply-binary-hunk-parsing-fix (2021-08-10) 1 commit
- apply: keep buffer/size pair in sync when parsing binary hunks
"git apply" miscounted the bytes and failed to read to the end of
binary hunks.
The userdiff pattern for "java" language has been updated.
Will merge to 'next'.
* jk/range-diff-fixes (2021-08-10) 3 commits
- range-diff: use ssize_t for parsed "len" in read_patches()
- range-diff: handle unterminated lines in read_patches()
- range-diff: drop useless "offset" variable from read_patches()
* zh/cherry-pick-advice (2021-08-11) 1 commit
- cherry-pick: use better advice message
"git range-diff" code clean-up.
The advice message that "git cherry-pick" gives when it asks
conflicted replay of a commit to be resolved by the end user has
been updated.
cf. <a510722c-d5a2-f00c-dd20-dd7f76da2408@gmail.com>
* es/config-based-hooks (2021-08-11) 7 commits
- hook: allow out-of-repo 'git hook' invocations
- hook: include hooks from the config
- hook: allow running non-native hooks
- hook: introduce "git hook list"
- hook: allow parallel hook execution
- hook: run a list of hooks instead
- Merge branch 'ab/config-based-hooks-base' into es/config-based-hooks
(this branch uses ab/config-based-hooks-base.)
Revamp the hooks subsystem to allow multiple of them to trigger
upon the same event and control via the configuration variables.
* mk/clone-recurse-submodules (2021-08-11) 1 commit
- clone: set submodule.recurse=true if user enables feature.experimental flag
It is proposed that in the future "git clone --recurse-submodules"
unconditionally sets "submodule.recurse" configuration variable to
true. Users can opt into the future early to enable this (and
other new features) by setting the "feature.experimental" variable
to true.
* bc/t5607-avoid-broken-test-fail-prereqs (2021-08-11) 1 commit
- t5607: avoid using prerequisites to select algorithm
The current implementation of GIT_TEST_FAIL_PREREQS is broken in
that checking for the lack of a prerequisite would not work. Avoid
the use of "if ! test_have_prereq X" in a test script.
Will merge to 'next'.
* js/advise-when-skipping-cherry-picked (2021-08-10) 2 commits
- SQUASH???
- sequencer: advise if skipping cherry-picked commit
* jk/commit-edit-fixup-fix (2021-08-12) 1 commit
- commit: restore --edit when combined with --fixup
"git rebase" by default skips changes that are equivalent to
commits that are already in the history the branch is rebased onto;
give messages when this happens to let the users be aware of
skipped commits, and also teach them how to tell "rebase" to keep
duplicated changes.
"git commit --fixup" now works with "--edit" again, after it was
broken in v2.32.
Will merge to 'next'?
* jt/grep-wo-submodule-odb-as-alternate (2021-08-10) 7 commits
- t7814: show lack of alternate ODB-adding
- grep: add repository to OID grep sources
- grep: allocate subrepos on heap
- grep: read submodule entry with explicit repo
- grep: typesafe versions of grep_source_init
- grep: use submodule-ODB-as-alternate lazy-addition
- submodule: lazily add submodule ODBs as alternates
* tl/traverse-non-commits-rename (2021-08-12) 1 commit
- list-objects.c: rename "traverse_trees_and_blobs" to "traverse_non_commits"
The code to make "git grep" recurse into submodules has been
updated to migrate away from the "add submodule's object store as
an alternate object store" mechanism (which is suboptimal).
Meh.
Will merge to 'next'.
* cb/ci-freebsd-update (2021-08-12) 1 commit
- ci: update freebsd 12 cirrus job
Update FreeBSD CI job
Will merge to 'next'.
--------------------------------------------------
[Stalled]
@@ -266,6 +232,121 @@ Release tarballs are available at:
--------------------------------------------------
[Cooking]
* cb/builtin-merge-format-string-fix (2021-08-09) 1 commit
- builtin/merge: avoid -Wformat-extra-args from ancient Xcode
Code clean-up.
Will merge to 'next'.
* ka/want-ref-in-namespace (2021-08-09) 3 commits
- docs: clarify the interaction of transfer.hideRefs and namespaces
- upload-pack.c: treat want-ref relative to namespace
- t5730: introduce fetch command helper
"git upload-pack" which runs on the other side of "git fetch"
forgot to take the ref namespaces into account when handling
want-ref requests.
* np/blame-ignore-revs-file-may-be-optional (2021-08-09) 1 commit
- blame: add config `blame.ignoreRevsFileIsOptional`
When the file named by blame.ignoreRevsFile configuration variable
does not exist, it causes "git blame" to die. Sometimes, it is
useful if the files named by configuration variables can be made
optional (it would allow ~/.gitconfig to give a filename, and make
it effective only in repositories that have a file with that name).
This uses an extra variable that marks that the variable is
optional. Yet another alternative is being discussed to define
syntax for "optional" filename values, so that the same mechanism
can be used for not just blame.ignoreRevsFile but other filenames.
Queued just as a reminder of the theme.
* cb/ci-build-pedantic (2021-08-11) 1 commit
- ci: run a pedantic build as part of the GitHub workflow
CI update.
Expecting a reroll.
* ds/sparse-index-ignored-files (2021-08-10) 9 commits
- sparse-checkout: clear tracked sparse dirs
- sparse-index: add SPARSE_INDEX_IGNORE_CONFIG flag
- attr: be careful about sparse directories
- sparse-checkout: create helper methods
- unpack-trees: fix nested sparse-dir search
- sparse-index: silently return when cache tree fails
- sparse-index: silently return when not using cone-mode patterns
- t7519: rewrite sparse index test
- Merge branch 'ds/add-with-sparse-index' into ds/sparse-index-ignored-files
(this branch uses ds/add-with-sparse-index.)
In cone mode, the sparse-index codepath learned to remove ignored
files (like build artifacts) outside the sparse cone, allowing the
entire directory outside the sparse cone to be removed, which is
especially useful when the sparse patterns change.
* jc/userdiff-pattern-hint (2021-08-11) 1 commit
- userdiff: comment on the builtin patterns
Remind developers that the userdiff patterns should be kept simple
and permissive, assuming that the contents they apply are always
syntactically correct.
Will merge to 'next'.
* jk/apply-binary-hunk-parsing-fix (2021-08-10) 1 commit
- apply: keep buffer/size pair in sync when parsing binary hunks
"git apply" miscounted the bytes and failed to read to the end of
binary hunks.
Will merge to 'next'.
* jk/range-diff-fixes (2021-08-10) 3 commits
- range-diff: use ssize_t for parsed "len" in read_patches()
- range-diff: handle unterminated lines in read_patches()
- range-diff: drop useless "offset" variable from read_patches()
"git range-diff" code clean-up.
Will merge to 'next'.
* js/advise-when-skipping-cherry-picked (2021-08-10) 2 commits
- SQUASH???
- sequencer: advise if skipping cherry-picked commit
"git rebase" by default skips changes that are equivalent to
commits that are already in the history the branch is rebased onto;
give messages when this happens to let the users be aware of
skipped commits, and also teach them how to tell "rebase" to keep
duplicated changes.
* jt/grep-wo-submodule-odb-as-alternate (2021-08-10) 7 commits
- t7814: show lack of alternate ODB-adding
- grep: add repository to OID grep sources
- grep: allocate subrepos on heap
- grep: read submodule entry with explicit repo
- grep: typesafe versions of grep_source_init
- grep: use submodule-ODB-as-alternate lazy-addition
- submodule: lazily add submodule ODBs as alternates
The code to make "git grep" recurse into submodules has been
updated to migrate away from the "add submodule's object store as
an alternate object store" mechanism (which is suboptimal).
* ps/fetch-pack-load-refs-optim (2021-08-04) 1 commit
(merged to 'next' on 2021-08-09 at 4744a01fd5)
+ fetch-pack: speed up loading of refs via commit graph
@@ -284,7 +365,7 @@ Release tarballs are available at:
- connected: do not sort input revisions
- revision: separate walk and unsorted flags
The revision traversal API has been optimized by taking advanrage
The revision traversal API has been optimized by taking advantage
of the commit-graph, when available, to determine if a commit is
reachable from any of the existing refs.
@@ -471,6 +552,9 @@ Release tarballs are available at:
The code to show progress indicator in a few codepaths did not
cover between 0-100%, which has been corrected.
The middle one wants to be discarded.
cf. <87v94jzoxj.fsf@evledraar.gmail.com>
* ar/submodule-add-config (2021-08-10) 1 commit
- submodule--helper: introduce add-config subcommand
@@ -524,8 +608,8 @@ Release tarballs are available at:
Will cook in 'next'.
* dt/submodule-diff-fixes (2021-08-02) 3 commits
- diff --submodule=diff: Don't print failure message twice
* dt/submodule-diff-fixes (2021-08-11) 3 commits
- diff --submodule=diff: don't print failure message twice
- diff --submodule=diff: do not fail on ever-initialied deleted submodules
- t4060: remove unused variable
@@ -533,8 +617,8 @@ Release tarballs are available at:
trying to run diff inside a submodule, when the user manually
removes the submodule directory.
Seems to break CI when merged to 'seen'
cf. https://github.com/git/git/runs/3259477809?check_suite_focus=true#step:4:2618
Will merge to 'next'?
cf. <20210812001332.715876-1-dturner@twosigma.com>
* fs/ssh-signing (2021-08-03) 9 commits
@@ -649,9 +733,8 @@ Release tarballs are available at:
Usability update for inactive submodules.
Comments?
cf. <fc5ec100-1d42-4199-236e-7a99c9218f38@gmail.com>
cf. <bf1893ee-6973-d8b2-659e-bb239a0a9ae2@gmail.com>
Retracted for now.
cf. <YRMpEV/uuHrxcOug@camp.crustytoothpaste.net>
* cf/fetch-set-upstream-while-detached (2021-07-06) 1 commit
@@ -783,6 +866,7 @@ Release tarballs are available at:
- Makefile: remove an out-of-date comment
- Makefile: stop hardcoding {command,config}-list.h
- Makefile: mark "check" target as .PHONY
(this branch is used by es/config-based-hooks.)
Restructuring of (a subset of) Emily's config-based-hooks series,
to demonstrate that a series can be presented as a more logical and