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
'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
https://www.kernel.org/pub/software/scm/git/
--------------------------------------------------
-[New Topics]
-
-* 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'.
-
+[Graduated to 'master']
-* 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
Build fix.
- Will merge to 'master'.
+* jn/log-m-does-not-imply-p (2021-08-09) 1 commit
+ (merged to 'next' on 2021-08-09 at d937d09924)
+ + Revert 'diff-merges: let "-m" imply "-p"'
-* 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
+ Earlier "git log -m" was changed to always produce patch output,
+ which would break existing scripts, which has been reverted.
- "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.
+--------------------------------------------------
+[New Topics]
+* th/userdiff-more-java (2021-08-11) 1 commit
+ - userdiff: improve java hunk header regex
-* np/blame-ignore-revs-file-may-be-optional (2021-08-09) 1 commit
- - blame: add config `blame.ignoreRevsFileIsOptional`
+ The userdiff pattern for "java" language has been updated.
- 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).
+ Will merge to 'next'.
- 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.
+* zh/cherry-pick-advice (2021-08-11) 1 commit
+ - cherry-pick: use better advice message
+ 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.
-* 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.)
+ cf. <a510722c-d5a2-f00c-dd20-dd7f76da2408@gmail.com>
- CI update.
- Will merge to 'next'.
+* 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.
-* jn/log-m-does-not-imply-p (2021-08-09) 1 commit
- (merged to 'next' on 2021-08-09 at d937d09924)
- + Revert 'diff-merges: let "-m" imply "-p"'
- Earlier "git log -m" was changed to always produce patch output,
- which would break existing scripts, which has been reverted.
+* mk/clone-recurse-submodules (2021-08-11) 1 commit
+ - clone: set submodule.recurse=true if user enables feature.experimental flag
- Will merge to 'master'.
+ 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.
-* 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.)
+* bc/t5607-avoid-broken-test-fail-prereqs (2021-08-11) 1 commit
+ - t5607: avoid using prerequisites to select algorithm
- 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.
+ 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'.
-* 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/commit-edit-fixup-fix (2021-08-12) 1 commit
+ - commit: restore --edit when combined with --fixup
+ "git commit --fixup" now works with "--edit" again, after it was
+ broken in v2.32.
-* jk/apply-binary-hunk-parsing-fix (2021-08-10) 1 commit
- - apply: keep buffer/size pair in sync when parsing binary hunks
+ Will merge to 'next'?
- "git apply" miscounted the bytes and failed to read to the end of
- binary hunks.
- Will merge to 'next'.
+* tl/traverse-non-commits-rename (2021-08-12) 1 commit
+ - list-objects.c: rename "traverse_trees_and_blobs" to "traverse_non_commits"
-
-* 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.
+ Meh.
Will merge to 'next'.
-* js/advise-when-skipping-cherry-picked (2021-08-10) 2 commits
- - SQUASH???
- - sequencer: advise if skipping cherry-picked commit
+* cb/ci-freebsd-update (2021-08-12) 1 commit
+ - ci: update freebsd 12 cirrus job
- "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
+ Update FreeBSD CI job
- 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).
+ Will merge to 'next'.
--------------------------------------------------
[Stalled]
--------------------------------------------------
[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
- 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.
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
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
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
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
- 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