What's cooking (2021/08 #04)

This commit is contained in:
Junio C Hamano
2021-08-10 16:01:08 -07:00
parent 872951c1f0
commit 05ed462663

View File

@@ -1,9 +1,9 @@
To: git@vger.kernel.org
Subject: What's cooking in git.git (Aug 2021, #03; Fri, 6)
Subject: What's cooking in git.git (Aug 2021, #04; Tue, 10)
X-master-at: 2d755dfac9aadab25c3e025b849252b8c0a61465
X-next-at: 0d66db33f37daf054bbe20901c0ccadbc4558854
X-next-at: d937d09924f20c2ef76e4ae1cc20f566d2ecf953
What's cooking in git.git (Aug 2021, #03; Fri, 6)
What's cooking in git.git (Aug 2021, #04; Tue, 10)
--------------------------------------------------
Here are the topics that have been cooking in my tree. Commits
@@ -17,11 +17,8 @@ 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-rc1 has been tagged. The much less invasive "shopt -u
checkwinsize" approach will be used to address the COLUMNS issue at
least for the final release. I do not know what we want to do with
the "log -m" means "log -m -p" issue yet (we haven't heard from the
other camp), so it is in a "broken" state in -rc1.
Git 2.33-rc2 will be tagged tomorrow, with a few build and
regression fixes (not in 'master' yet as of this writing).
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
@@ -51,190 +48,143 @@ Release tarballs are available at:
https://www.kernel.org/pub/software/scm/git/
--------------------------------------------------
[Graduated to 'master']
* ab/getcwd-test (2021-07-30) 1 commit
(merged to 'next' on 2021-08-02 at 22ecd02929)
+ t0001: fix broken not-quite getcwd(3) test in bed67874e2
Portability test update.
* ab/pickaxe-pcre2 (2021-08-04) 1 commit
(merged to 'next' on 2021-08-05 at 2c90b51f76)
+ diff: --pickaxe-all typofix
Documentation update.
* ab/update-submitting-patches (2021-07-22) 2 commits
(merged to 'next' on 2021-07-30 at 9ae2de7f7a)
+ SubmittingPatches: replace discussion of Travis with GitHub Actions
+ SubmittingPatches: move discussion of Signed-off-by above "send"
Reorganize and update the SubmitingPatches document.
* ah/plugleaks (2021-07-26) 12 commits
(merged to 'next' on 2021-07-28 at fa15f6d1f4)
+ reset: clear_unpack_trees_porcelain to plug leak
+ builtin/rebase: fix options.strategy memory lifecycle
+ builtin/merge: free found_ref when done
+ builtin/mv: free or UNLEAK multiple pointers at end of cmd_mv
+ convert: release strbuf to avoid leak
+ read-cache: call diff_setup_done to avoid leak
+ ref-filter: also free head for ATOM_HEAD to avoid leak
+ diffcore-rename: move old_dir/new_dir definition to plug leak
+ builtin/for-each-repo: remove unnecessary argv copy to plug leak
+ builtin/submodule--helper: release unused strbuf to avoid leak
+ environment: move strbuf into block to plug leak
+ fmt-merge-msg: free newly allocated temporary strings when done
Leak plugging.
* ar/doc-markup-fix (2021-07-30) 1 commit
(merged to 'next' on 2021-08-02 at b99073fa75)
+ Documentation: render special characters correctly
Doc mark-up fix.
* ar/submodule-add (2021-07-26) 5 commits
(merged to 'next' on 2021-07-28 at 7d315a0f67)
+ submodule: drop unused sm_name parameter from show_fetch_remotes()
(merged to 'next' on 2021-07-22 at b8b636c9a1)
+ submodule--helper: introduce add-clone subcommand
+ submodule--helper: refactor module_clone()
+ submodule: prefix die messages with 'fatal'
+ t7400: test failure to add submodule in tracked path
(this branch is used by ar/submodule-add-config.)
Rewrite of "git submodule" in C continues.
* cb/t7508-regexp-fix (2021-08-02) 1 commit
(merged to 'next' on 2021-08-04 at 87e2b70ba1)
+ t7508: avoid non POSIX BRE
Test fix.
* ds/commit-and-checkout-with-sparse-index (2021-07-20) 7 commits
(merged to 'next' on 2021-07-30 at 52ed1b0091)
+ unpack-trees: resolve sparse-directory/file conflicts
+ t1092: document bad 'git checkout' behavior
+ checkout: stop expanding sparse indexes
+ sparse-index: recompute cache-tree
+ commit: integrate with sparse-index
+ p2000: compress repo names
+ p2000: add 'git checkout -' test and decrease depth
(this branch is used by ds/add-with-sparse-index.)
"git checkout" and "git commit" learn to work without unnecessarily
expanding sparse indexes.
* en/ort-perf-batch-14 (2021-07-20) 7 commits
(merged to 'next' on 2021-07-30 at 89cfdc4513)
+ merge-ort: restart merge with cached renames to reduce process entry cost
+ merge-ort: avoid recursing into directories when we don't need to
+ merge-ort: defer recursing into directories when merge base is matched
+ merge-ort: add a handle_deferred_entries() helper function
+ merge-ort: add data structures for allowable trivial directory resolves
+ merge-ort: add some more explanations in collect_merge_info_callback()
+ merge-ort: resolve paths early when we have sufficient information
(this branch is used by en/ort-perf-batch-15.)
Further optimization on "merge -sort" backend.
* pb/merge-autostash-more (2021-07-23) 4 commits
(merged to 'next' on 2021-07-30 at bfc8b41932)
+ merge: apply autostash if merge strategy fails
+ merge: apply autostash if fast-forward fails
+ Documentation: define 'MERGE_AUTOSTASH'
+ merge: add missing word "strategy" to a message
The local changes stashed by "git merge --autostash" were lost when
the merge failed in certain ways, which has been corrected.
* rs/use-fspathhash (2021-07-30) 1 commit
(merged to 'next' on 2021-08-02 at 72c388e867)
+ use fspathhash() everywhere
Code simplification.
* tb/mingw-rmdir-symlink-to-directory (2021-08-02) 1 commit
(merged to 'next' on 2021-08-03 at a027d43cca)
+ mingw: align symlinks-related rmdir() behavior with Linux
Windows rmdir() equivalent behaves differently from POSIX ones in
that when used on a symbolic link that points at a directory, the
target directory gets removed, which has been corrected.
--------------------------------------------------
[New Topics]
* ps/fetch-pack-load-refs-optim (2021-08-04) 1 commit
- fetch-pack: speed up loading of refs via commit graph
* cb/builtin-merge-format-string-fix (2021-08-09) 1 commit
- builtin/merge: avoid -Wformat-extra-args from ancient Xcode
Loading of ref tips to prepare for common ancestry negotiation in
"git fetch-pack" has been optimized by taking advantage of the
commit graph when available.
Code clean-up.
Will merge to 'next'.
* ps/connectivity-optim (2021-08-05) 6 commits
- revision: avoid hitting packfiles when commits are in commit-graph
- commit-graph: split out function to search commit position
- revision: avoid loading object headers multiple times
- revision: stop retrieving reference twice
- connected: do not sort input revisions
- revision: separate walk and unsorted flags
* cb/many-alternate-optim-fixup (2021-08-09) 2 commits
(merged to 'next' on 2021-08-09 at 3572bef349)
+ object-store: avoid extra ';' from KHASH_INIT
+ oidtree: avoid nested struct oidtree_node
(this branch is used by cb/ci-build-pedantic.)
The revision traversal API has been optimized by taking advanrage
of the commit-graph, when available, to determine if a commit is
reachable from any of the existing refs.
Build fix.
Looking good.
Will merge to 'master'.
* ar/submodule-add-more (2021-08-06) 9 commits
- submodule--helper: remove resolve-relative-url subcommand
- submodule--helper: remove add-config subcommand
- submodule--helper: remove add-clone subcommand
- submodule--helper: convert the bulk of cmd_add() to C
- dir: libify and export helper functions from clone.c
- submodule--helper: remove repeated code in sync_submodule()
- submodule--helper: refactor resolve_relative_url() helper
- submodule--helper: add options for compute_submodule_clone_url()
- Merge branch 'ar/submodule-add-config' into ar/submodule-add
(this branch uses ar/submodule-add-config.)
* 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
More parts of "git submoudle add" has been rewritten in C.
"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.
* cb/makefile-apple-clang (2021-08-06) 3 commits
- build: catch clang that identifies itself as "$VENDOR clang"
- build: clang version may not be followed by extra words
- build: update detect-compiler for newer Xcode version
* np/blame-ignore-revs-file-may-be-optional (2021-08-09) 1 commit
- blame: add config `blame.ignoreRevsFileIsOptional`
Build update.
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.
* jk/refs-files-cleanup-cleanup (2021-08-06) 1 commit
- refs: drop unused "flags" parameter to lock_ref_oid_basic()
(this branch uses ab/refs-files-cleanup.)
* 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.)
Code cleanup.
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)
+ 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.
Will merge to 'master'.
* 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.
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).
--------------------------------------------------
[Stalled]
@@ -316,6 +266,65 @@ Release tarballs are available at:
--------------------------------------------------
[Cooking]
* 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
Loading of ref tips to prepare for common ancestry negotiation in
"git fetch-pack" has been optimized by taking advantage of the
commit graph when available.
Will cook in 'next'.
* ps/connectivity-optim (2021-08-09) 5 commits
- revision: avoid hitting packfiles when commits are in commit-graph
- commit-graph: split out function to search commit position
- revision: stop retrieving reference twice
- connected: do not sort input revisions
- revision: separate walk and unsorted flags
The revision traversal API has been optimized by taking advanrage
of the commit-graph, when available, to determine if a commit is
reachable from any of the existing refs.
Will merge to 'next'.
* ar/submodule-add-more (2021-08-10) 10 commits
- submodule--helper: rename compute_submodule_clone_url()
- submodule--helper: remove resolve-relative-url subcommand
- submodule--helper: remove add-config subcommand
- submodule--helper: remove add-clone subcommand
- submodule--helper: convert the bulk of cmd_add() to C
- dir: libify and export helper functions from clone.c
- submodule--helper: remove repeated code in sync_submodule()
- submodule--helper: refactor resolve_relative_url() helper
- submodule--helper: add options for compute_submodule_clone_url()
- Merge branch 'ar/submodule-add-config' into ar/submodule-add
(this branch uses ar/submodule-add-config.)
More parts of "git submoudle add" has been rewritten in C.
* cb/makefile-apple-clang (2021-08-06) 3 commits
- build: catch clang that identifies itself as "$VENDOR clang"
- build: clang version may not be followed by extra words
- build: update detect-compiler for newer Xcode version
Build update.
* jk/refs-files-cleanup-cleanup (2021-08-06) 1 commit
(merged to 'next' on 2021-08-09 at 37b0b8c910)
+ refs: drop unused "flags" parameter to lock_ref_oid_basic()
(this branch uses ab/refs-files-cleanup.)
Code cleanup.
Will cook in 'next'.
* cb/reftable-fixup (2021-08-02) 3 commits
- openbsd: allow reftable building with zlib 1.2.3
- reftable: clarify zlib version dependency
@@ -342,7 +351,7 @@ Release tarballs are available at:
Documentation updates.
Expecting a (hopefully final) reroll.
Will merge to 'next'.
* en/ort-becomes-the-default (2021-08-05) 2 commits
@@ -352,15 +361,15 @@ Release tarballs are available at:
Use `ort` instead of `recursive` as the default merge strategy.
Waiting for the base topic to settle.
Will merge to 'next'.
* js/log-protocol-version (2021-08-03) 1 commit
* js/log-protocol-version (2021-08-10) 1 commit
- connect, protocol: log negotiated protocol version
Debugging aid.
Expecting a reroll.
Will merge to 'next'.
* ow/clone-bare-origin (2021-08-03) 1 commit
@@ -434,6 +443,7 @@ Release tarballs are available at:
+ pathspec: stop calling ensure_full_index
+ add: allow operating on a sparse-only index
+ t1092: test merge conflicts outside cone
(this branch is used by ds/sparse-index-ignored-files.)
"git add" can work better with the sparse index.
@@ -462,7 +472,7 @@ Release tarballs are available at:
cover between 0-100%, which has been corrected.
* ar/submodule-add-config (2021-08-05) 1 commit
* ar/submodule-add-config (2021-08-10) 1 commit
- submodule--helper: introduce add-config subcommand
(this branch is used by ar/submodule-add-more.)
@@ -631,7 +641,7 @@ Release tarballs are available at:
but went ahead and rebased when the history on other side is not a
descendant of our history. The series tries to fix them up.
Comments?
Will merge to 'next'.
* bc/inactive-submodules (2021-07-02) 1 commit
@@ -678,14 +688,15 @@ Release tarballs are available at:
* jt/push-negotiation-fixes (2021-07-15) 3 commits
- fetch: die on invalid --negotiation-tip hash
- send-pack: fix push nego. when remote has refs
- send-pack: fix push.negotiate with remote helper
(merged to 'next' on 2021-08-09 at ea7da8239c)
+ fetch: die on invalid --negotiation-tip hash
+ send-pack: fix push nego. when remote has refs
+ send-pack: fix push.negotiate with remote helper
Bugfix for common ancestor negotiation recently introduced in "git
push" codepath.
Needs review.
Will cook in 'next'.
* ab/make-tags-cleanup (2021-08-05) 5 commits
@@ -973,5 +984,3 @@ Release tarballs are available at:
Seems too involved for a last-minute fix.
cf. <20210804212825.GH23408@szeder.dev>