mirror of
https://github.com/git/git.git
synced 2026-08-10 17:15:14 +00:00
What's cooking (2021/08 #05)
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user