What's cooking (2024/06 #08)

This commit is contained in:
Junio C Hamano 2024-06-24 17:40:22 -07:00
parent 0524b14f52
commit b1d1cc7242

View file

@ -1,10 +1,10 @@
To: git@vger.kernel.org
Subject: What's cooking in git.git (Jun 2024, #07; Thu, 20)
X-master-at: 9005149a4a77e2d3409c6127bf4fd1a0893c3495
X-next-at: 4e1b14247adedf68e1c01a595e53106096e867db
Subject: What's cooking in git.git (Jun 2024, #08; Mon, 24)
X-master-at: 1e1586e4ed626bde864339c10570bc0e73f0ab97
X-next-at: ab0bdd149968b12afd2b3f9286d175ab2112b72f
Bcc: lwn@lwn.net, gitster@pobox.com
What's cooking in git.git (Jun 2024, #07; Thu, 20)
What's cooking in git.git (Jun 2024, #08; Mon, 24)
--------------------------------------------------
Here are the topics that have been cooking in my tree. Commits
@ -48,139 +48,152 @@ Release tarballs are available at:
--------------------------------------------------
[Graduated to 'master']
* ds/ahead-behind-fix (2024-06-12) 1 commit
(merged to 'next' on 2024-06-13 at df378ec81e)
+ commit-graph: increment progress indicator
* jc/add-i-retire-usebuiltin-config (2024-06-05) 1 commit
(merged to 'next' on 2024-06-17 at e1fc71db3a)
+ add-i: finally retire add.interactive.useBuiltin
Fix for a progress bar.
source: <pull.1743.git.1718118555197.gitgitgadget@gmail.com>
For over a year, setting add.interactive.useBuiltin configuration
variable did nothing but giving a "this does not do anything"
warning. Finally remove it.
source: <xmqqikynqdvq.fsf@gitster.g>
* ds/doc-add-interactive-singlekey (2024-06-07) 1 commit
(merged to 'next' on 2024-06-12 at cf3de70246)
+ doc: interactive.singleKey is disabled by default
* jc/no-default-attr-tree-in-bare (2024-06-05) 1 commit
(merged to 'next' on 2024-06-17 at 6bfacc9102)
+ attr.tree: HEAD:.gitattributes is no longer the default in a bare repo
Doc update.
source: <xmqq4ja4e6d6.fsf@gitster.g>
Earlier we stopped using the tree of HEAD as the default source of
attributes in a bare repository, but failed to document it. This
has been corrected.
source: <xmqqa5jzqd5k.fsf_-_@gitster.g>
* gt/unit-test-oidtree (2024-06-12) 1 commit
(merged to 'next' on 2024-06-13 at eb3700b002)
+ t/: migrate helper/test-oidtree.c to unit-tests/t-oidtree.c
(this branch is used by ps/use-the-repository.)
* jc/worktree-git-path (2024-06-08) 1 commit
(merged to 'next' on 2024-06-17 at a87c318e45)
+ worktree_git_path(): move the declaration to path.h
"oidtree" tests were rewritten to use the unit test framework.
cf. <7o6fuymnfn6b6buyw3yyctjd4dlwlrazspv3xgxvys6djjivxh@qbhyurorgbtt>
source: <20240608165731.29467-1-shyamthakkar001@gmail.com>
Code cleanup.
source: <20240608183901.2084546-1-gitster@pobox.com>
* jc/heads-are-branches (2024-06-04) 3 commits
(merged to 'next' on 2024-06-14 at b56b59d1d7)
+ show-ref: introduce --branches and deprecate --heads
+ ls-remote: introduce --branches and deprecate --heads
+ refs: call branches branches
* kl/attr-read-attr-fromindex-msan-workaround (2024-06-17) 1 commit
(merged to 'next' on 2024-06-18 at eebafb2d71)
+ attr: fix msan issue in read_attr_from_index
The "--heads" option of "ls-remote" and "show-ref" has been been
deprecated; "--branches" replaces "--heads".
source: <20240604220145.3260714-1-gitster@pobox.com>
Code clarification to avoid an appearance of using an uninitialized
variable.
source: <pull.1747.git.1718654424683.gitgitgadget@gmail.com>
* kn/update-ref-symref (2024-06-07) 8 commits
(merged to 'next' on 2024-06-13 at 5cf8d7513e)
+ update-ref: add support for 'symref-update' command
+ reftable: pick either 'oid' or 'target' for new updates
+ update-ref: add support for 'symref-create' command
+ update-ref: add support for 'symref-delete' command
+ update-ref: add support for 'symref-verify' command
+ refs: specify error for regular refs with `old_target`
+ refs: create and use `ref_update_expects_existing_old_ref()`
+ Merge branch 'kn/ref-transaction-symref' into kn/update-ref-symref
* tb/commit-graph-use-tempfile (2024-06-07) 2 commits
(merged to 'next' on 2024-06-17 at e0baebe6b3)
+ server-info.c: remove temporary info files on exit
+ commit-graph.c: remove temporary graph layers on exit
"git update-ref --stdin" learned to handle transactional updates of
symbolic-refs.
source: <20240607133304.2333280-1-knayak@gitlab.com>
"git update-server-info" and "git commit-graph --write" have been
updated to use the tempfile API to avoid leaving cruft after
failing.
source: <cover.1717712358.git.me@ttaylorr.com>
* ps/abbrev-length-before-setup-fix (2024-06-12) 3 commits
(merged to 'next' on 2024-06-13 at e5d17f7da2)
+ object-name: don't try to abbreviate to lengths greater than hexsz
+ parse-options-cb: stop clamping "--abbrev=" to hash length
+ config: fix segfault when parsing "core.abbrev" without repo
* tb/precompose-getcwd (2024-05-31) 1 commit
(merged to 'next' on 2024-06-17 at 7596abec9f)
+ macOS: ls-files path fails if path of workdir is NFD
Setting core.abbrev too early before the repository set-up
(typically in "git clone") caused segfault, which as been
corrected.
source: <cover.1718178996.git.ps@pks.im>
We forgot to normalize the result of getcwd() to NFC on macOS where
all other paths are normalized, which has been corrected. This still
does not address the case where core.precomposeUnicode configuration
is not defined globally.
source: <20240531193156.28046-1-tboegi@web.de>
* ps/document-breaking-changes (2024-06-14) 4 commits
(merged to 'next' on 2024-06-14 at 8089bf6f81)
+ BreakingChanges: document that we do not plan to deprecate git-checkout
+ BreakingChanges: document removal of grafting
+ BreakingChanges: document upcoming change from "sha1" to "sha256"
+ docs: introduce document to announce breaking changes
* tb/pseudo-merge-reachability-bitmap (2024-06-14) 27 commits
(merged to 'next' on 2024-06-14 at 447d99e1c3)
+ pack-bitmap.c: ensure pseudo-merge offset reads are bounded
+ Documentation/technical/bitmap-format.txt: add missing position table
(merged to 'next' on 2024-06-03 at fcaa39de12)
+ t/perf: implement performance tests for pseudo-merge bitmaps
+ pseudo-merge: implement support for finding existing merges
+ ewah: `bitmap_equals_ewah()`
+ pack-bitmap: extra trace2 information
+ pack-bitmap.c: use pseudo-merges during traversal
+ t/test-lib-functions.sh: support `--notick` in `test_commit_bulk()`
+ pack-bitmap: implement test helpers for pseudo-merge
+ ewah: implement `ewah_bitmap_popcount()`
+ pseudo-merge: implement support for reading pseudo-merge commits
+ pack-bitmap.c: read pseudo-merge extension
+ pseudo-merge: scaffolding for reads
+ pack-bitmap: extract `read_bitmap()` function
+ pack-bitmap-write.c: write pseudo-merge table
+ pseudo-merge: implement support for selecting pseudo-merge commits
+ config: introduce `git_config_double()`
+ pack-bitmap: make `bitmap_writer_push_bitmapped_commit()` public
+ pack-bitmap: implement `bitmap_writer_has_bitmapped_object_id()`
+ pack-bitmap-write: support storing pseudo-merge commits
+ pseudo-merge.ch: initial commit
+ pack-bitmap: move some initialization to `bitmap_writer_init()`
+ ewah: implement `ewah_bitmap_is_subset()`
+ Documentation/technical: describe pseudo-merge bitmaps format
+ Documentation/gitpacking.txt: describe pseudo-merge bitmaps
+ Documentation/gitpacking.txt: initial commit
+ Merge branch 'tb/pack-bitmap-write-cleanups' into tb/pseudo-merge-reachability-bitmap
The structure of the document that records longer-term project
decisions to deprecate/remove/update various behaviour has been
outlined.
source: <cover.1718345026.git.ps@pks.im>
* ps/make-append-to-cflags (2024-06-11) 1 commit
(merged to 'next' on 2024-06-12 at d57b04bf16)
+ Makefile: add ability to append to CFLAGS and LDFLAGS
To help developers, the build procedure now allows builders to use
CFLAGS_APPEND to specify additional CFLAGS.
source: <8120ddaf0bdfd50e0fc4cf9a04f833102630b639.1718001244.git.ps@pks.im>
* pw/rebase-i-error-message (2024-05-30) 2 commits
(merged to 'next' on 2024-06-13 at dbec12cfda)
+ rebase -i: improve error message when picking merge
+ rebase -i: pass struct replay_opts to parse_insn_line()
When the user adds to "git rebase -i" instruction to "pick" a merge
commit, the error experience is not pleasant. Such an error is now
caught earlier in the process that parses the todo list.
source: <pull.1672.v3.git.1717076630.gitgitgadget@gmail.com>
* rj/format-patch-auto-cover-with-interdiff (2024-06-07) 2 commits
(merged to 'next' on 2024-06-13 at 3fad4afcfd)
+ format-patch: assume --cover-letter for diff in multi-patch series
+ t4014: cleanups in a few tests
"git format-patch --interdiff" for multi-patch series learned to
turn on cover letters automatically (unless told never to enable
cover letter with "--no-cover-letter" and such).
* rs/diff-exit-code-with-external-diff (2024-06-10) 3 commits
(merged to 'next' on 2024-06-12 at 9ce495b6cc)
+ diff: let external diffs report that changes are uninteresting
+ userdiff: add and use struct external_diff
+ t4020: test exit code with external diffs
"git diff --exit-code --ext-diff" learned to take the exit status
of the external diff driver into account when deciding the exit
status of the overall "git diff" invocation when configured to do
so.
source: <168fecaa-2ebd-4897-b0ba-3bd2a37c01e7@web.de>
* tb/multi-pack-reuse-fix (2024-06-11) 3 commits
(merged to 'next' on 2024-06-13 at 1cd0259667)
+ pack-revindex.c: guard against out-of-bounds pack lookups
+ pack-bitmap.c: avoid uninitialized `pack_int_id` during reuse
+ midx-write.c: do not read existing MIDX with `packs_to_include`
Assorted fixes to multi-pack-index code paths.
source: <cover.1718126886.git.me@ttaylorr.com>
The pseudo-merge reachability bitmap to help more efficient storage
of the reachability bitmap in a repository with too many refs has
been added.
source: <cover.1716499565.git.me@ttaylorr.com>
source: <cover.1718392943.git.me@ttaylorr.com>
--------------------------------------------------
[New Topics]
* jc/patch-id (2024-06-21) 5 commits
- patch-id: tighten code to detect the patch header
- patch-id: rewrite code that detects the beginning of a patch
- patch-id: make get_one_patchid() more extensible
- patch-id: call flush_current_id() only when needed
- t4204: patch-id supports various input format
The patch parser in "git patch-id" has been tightened to avoid
getting confused by lines that look like a patch header in the log
message.
Needs review.
source: <20240621231826.3280338-1-gitster@pobox.com>
* jc/fuzz-sans-curl (2024-06-21) 1 commit
- fuzz: minimum fuzzers environment lacks libcURL
CI job to build minimum fuzzers learned to pass NO_CURL=NoThanks to
the build procedure, as its build environment does not offer, or
the rest of the build needs, anything cURL.
Will merge to 'next'.
source: <xmqqwmmhimxx.fsf@gitster.g>
* ew/object-convert-leakfix (2024-06-24) 1 commit
- object-file: fix leak on conversion failure
Leakfix.
Will merge to 'next'.
source: <20240622043648.M78681@dcvr>
* rs/diff-color-moved-w-no-ext-diff-fix (2024-06-24) 1 commit
- diff: allow --color-moved with --no-ext-diff
"git diff --no-ext-diff" when diff.external is configured ignored
the "--color-moved" option.
Will merge to 'next'.
source: <fee1815c-80bb-42a4-97f3-d3f8e9b3a6ca@web.de>
--------------------------------------------------
[Cooking]
* kz/merge-fail-early-upon-refresh-failure (2024-06-18) 1 commit
(merged to 'next' on 2024-06-20 at 01d4bdd019)
+ merge: avoid write merge state when unable to write index
@ -241,18 +254,21 @@ Release tarballs are available at:
source: <pull.1752.git.1718777398765.gitgitgadget@gmail.com>
* rb/build-options-w-openssl (2024-06-20) 1 commit
* rb/build-options-w-lib-versions (2024-06-21) 3 commits
- version: teach --build-options to reports zlib version information
- version: teach --build-options to reports libcurl version information
(merged to 'next' on 2024-06-20 at b75df251ae)
+ version: --build-options reports OpenSSL version information
"git version --build-options" reports the version information of
OpenSSL (if used) in the build.
OpenSSL and other libraries (if used) in the build.
Will merge to 'master'.
source: <20240619172421.33548-2-randall.becker@nexbridge.ca>
Will merge to 'next' and then to 'master'.
source: <20240619172421.33548-1-randall.becker@nexbridge.ca>
source: <20240621180947.64419-1-randall.becker@nexbridge.ca>
* rj/pager-die-upon-exec-failure (2024-06-20) 1 commit
* rj/pager-die-upon-exec-failure (2024-06-21) 1 commit
- pager: die when paging to non-existing command
When GIT_PAGER failed to spawn, depending on the code path taken,
@ -261,7 +277,7 @@ Release tarballs are available at:
when GIT_PAGER fails.
Will merge to 'next'?
source: <f7106878-5ec5-4fe7-940b-2fb1d9707f7d@gmail.com>
source: <0df06a80-723f-4ad7-9f2e-74c8fb5b8283@gmail.com>
* rs/remove-unused-find-header-mem (2024-06-20) 1 commit
@ -273,33 +289,21 @@ Release tarballs are available at:
Will merge to 'master'.
source: <0d85712c-5beb-4a64-a7f4-797782c26694@web.de>
--------------------------------------------------
[Cooking]
* ew/cat-file-unbuffered-tests (2024-06-20) 2 commits
- t1006: ensure cat-file info isn't buffered by default
- Git.pm: use array in command_bidi_pipe example
(merged to 'next' on 2024-06-24 at d605297495)
+ t1006: ensure cat-file info isn't buffered by default
+ Git.pm: use array in command_bidi_pipe example
The output from "git cat-file --batch-check" and "--batch-command
(info)" should not be unbuffered, for which some tests have been
added.
Will merge to 'next'.
Will merge to 'master'.
source: <20240617104326.3522535-1-e@80x24.org>
source: <20240618213041.M462972@dcvr>
* kl/attr-read-attr-fromindex-msan-workaround (2024-06-17) 1 commit
(merged to 'next' on 2024-06-18 at eebafb2d71)
+ attr: fix msan issue in read_attr_from_index
Code clarification to avoid an appearance of using an uninitialized
variable.
Will merge to 'master'.
source: <pull.1747.git.1718654424683.gitgitgadget@gmail.com>
* cp/unit-test-reftable-tree (2024-06-13) 5 commits
- t-reftable-tree: improve the test for infix_walk()
- t-reftable-tree: add test for non-existent key
@ -315,34 +319,35 @@ Release tarballs are available at:
* ps/use-the-repository (2024-06-14) 22 commits
- hex: guard declarations with `USE_THE_REPOSITORY_VARIABLE`
- t/helper: remove dependency on `the_repository` in "proc-receive"
- t/helper: fix segfault in "oid-array" command without repository
- t/helper: use correct object hash in partial-clone helper
- compat/fsmonitor: fix socket path in networked SHA256 repos
- replace-object: use hash algorithm from passed-in repository
- protocol-caps: use hash algorithm from passed-in repository
- oidset: pass hash algorithm when parsing file
- http-fetch: don't crash when parsing packfile without a repo
- hash-ll: merge with "hash.h"
- refs: avoid include cycle with "repository.h"
- global: introduce `USE_THE_REPOSITORY_VARIABLE` macro
- hash: require hash algorithm in `empty_tree_oid_hex()`
- hash: require hash algorithm in `is_empty_{blob,tree}_oid()`
- hash: make `is_null_oid()` independent of `the_repository`
- hash: convert `oidcmp()` and `oideq()` to compare whole hash
- global: ensure that object IDs are always padded
- hash: require hash algorithm in `oidread()` and `oidclr()`
- hash: require hash algorithm in `hasheq()`, `hashcmp()` and `hashclr()`
- hash: drop (mostly) unused `is_empty_{blob,tree}_sha1()` functions
- Merge branch 'gt/unit-test-oidtree' into ps/use-the-repository
- Merge branch 'ps/ref-storage-migration' into ps/use-the-repository
(merged to 'next' on 2024-06-24 at ca97784ba8)
+ hex: guard declarations with `USE_THE_REPOSITORY_VARIABLE`
+ t/helper: remove dependency on `the_repository` in "proc-receive"
+ t/helper: fix segfault in "oid-array" command without repository
+ t/helper: use correct object hash in partial-clone helper
+ compat/fsmonitor: fix socket path in networked SHA256 repos
+ replace-object: use hash algorithm from passed-in repository
+ protocol-caps: use hash algorithm from passed-in repository
+ oidset: pass hash algorithm when parsing file
+ http-fetch: don't crash when parsing packfile without a repo
+ hash-ll: merge with "hash.h"
+ refs: avoid include cycle with "repository.h"
+ global: introduce `USE_THE_REPOSITORY_VARIABLE` macro
+ hash: require hash algorithm in `empty_tree_oid_hex()`
+ hash: require hash algorithm in `is_empty_{blob,tree}_oid()`
+ hash: make `is_null_oid()` independent of `the_repository`
+ hash: convert `oidcmp()` and `oideq()` to compare whole hash
+ global: ensure that object IDs are always padded
+ hash: require hash algorithm in `oidread()` and `oidclr()`
+ hash: require hash algorithm in `hasheq()`, `hashcmp()` and `hashclr()`
+ hash: drop (mostly) unused `is_empty_{blob,tree}_sha1()` functions
+ Merge branch 'gt/unit-test-oidtree' into ps/use-the-repository
+ Merge branch 'ps/ref-storage-migration' into ps/use-the-repository
A CPP macro USE_THE_REPOSITORY_VARIABLE is introduced to help
transition the codebase to rely less on the availability of the
singleton the_repository instance.
Will merge to 'next'.
Will merge to 'master'.
source: <cover.1718347699.git.ps@pks.im>
@ -441,19 +446,6 @@ Release tarballs are available at:
source: <pull.1726.v3.git.git.1717719428510.gitgitgadget@gmail.com>
* tb/commit-graph-use-tempfile (2024-06-07) 2 commits
(merged to 'next' on 2024-06-17 at e0baebe6b3)
+ server-info.c: remove temporary info files on exit
+ commit-graph.c: remove temporary graph layers on exit
"git update-server-info" and "git commit-graph --write" have been
updated to use the tempfile API to avoid leaving cruft after
failing.
Will merge to 'master'.
source: <cover.1717712358.git.me@ttaylorr.com>
* tb/incremental-midx-part-1 (2024-06-07) 19 commits
- midx: implement support for writing incremental MIDX chains
- t/t5313-pack-bounds-checks.sh: prepare for sub-directories
@ -481,16 +473,6 @@ Release tarballs are available at:
source: <cover.1717715060.git.me@ttaylorr.com>
* jc/worktree-git-path (2024-06-08) 1 commit
(merged to 'next' on 2024-06-17 at a87c318e45)
+ worktree_git_path(): move the declaration to path.h
Code cleanup.
Will merge to 'master'.
source: <20240608183901.2084546-1-gitster@pobox.com>
* vd/mktree (2024-06-20) 17 commits
- mktree: remove entries when mode is 0
- mktree: allow deeper paths in input
@ -530,30 +512,6 @@ Release tarballs are available at:
source: <pull.1730.v8.git.1718770053.gitgitgadget@gmail.com>
* jc/add-i-retire-usebuiltin-config (2024-06-05) 1 commit
(merged to 'next' on 2024-06-17 at e1fc71db3a)
+ add-i: finally retire add.interactive.useBuiltin
For over a year, setting add.interactive.useBuiltin configuration
variable did nothing but giving a "this does not do anything"
warning. Finally remove it.
Will merge to 'master'.
source: <xmqqikynqdvq.fsf@gitster.g>
* jc/no-default-attr-tree-in-bare (2024-06-05) 1 commit
(merged to 'next' on 2024-06-17 at 6bfacc9102)
+ attr.tree: HEAD:.gitattributes is no longer the default in a bare repo
Earlier we stopped using the tree of HEAD as the default source of
attributes in a bare repository, but failed to document it. This
has been corrected.
Will merge to 'master'.
source: <xmqqa5jzqd5k.fsf_-_@gitster.g>
* ps/leakfixes-more (2024-06-11) 30 commits
- builtin/blame: fix leaking ignore revs files
- builtin/blame: fix leaking prefixed paths
@ -603,59 +561,6 @@ Release tarballs are available at:
source: <pull.1677.v2.git.git.1716710073910.gitgitgadget@gmail.com>
* tb/pseudo-merge-reachability-bitmap (2024-06-14) 27 commits
(merged to 'next' on 2024-06-14 at 447d99e1c3)
+ pack-bitmap.c: ensure pseudo-merge offset reads are bounded
+ Documentation/technical/bitmap-format.txt: add missing position table
(merged to 'next' on 2024-06-03 at fcaa39de12)
+ t/perf: implement performance tests for pseudo-merge bitmaps
+ pseudo-merge: implement support for finding existing merges
+ ewah: `bitmap_equals_ewah()`
+ pack-bitmap: extra trace2 information
+ pack-bitmap.c: use pseudo-merges during traversal
+ t/test-lib-functions.sh: support `--notick` in `test_commit_bulk()`
+ pack-bitmap: implement test helpers for pseudo-merge
+ ewah: implement `ewah_bitmap_popcount()`
+ pseudo-merge: implement support for reading pseudo-merge commits
+ pack-bitmap.c: read pseudo-merge extension
+ pseudo-merge: scaffolding for reads
+ pack-bitmap: extract `read_bitmap()` function
+ pack-bitmap-write.c: write pseudo-merge table
+ pseudo-merge: implement support for selecting pseudo-merge commits
+ config: introduce `git_config_double()`
+ pack-bitmap: make `bitmap_writer_push_bitmapped_commit()` public
+ pack-bitmap: implement `bitmap_writer_has_bitmapped_object_id()`
+ pack-bitmap-write: support storing pseudo-merge commits
+ pseudo-merge.ch: initial commit
+ pack-bitmap: move some initialization to `bitmap_writer_init()`
+ ewah: implement `ewah_bitmap_is_subset()`
+ Documentation/technical: describe pseudo-merge bitmaps format
+ Documentation/gitpacking.txt: describe pseudo-merge bitmaps
+ Documentation/gitpacking.txt: initial commit
+ Merge branch 'tb/pack-bitmap-write-cleanups' into tb/pseudo-merge-reachability-bitmap
The pseudo-merge reachability bitmap to help more efficient storage
of the reachability bitmap in a repository with too many refs has
been added.
Will merge to 'master'.
source: <cover.1716499565.git.me@ttaylorr.com>
source: <cover.1718392943.git.me@ttaylorr.com>
* tb/precompose-getcwd (2024-05-31) 1 commit
(merged to 'next' on 2024-06-17 at 7596abec9f)
+ macOS: ls-files path fails if path of workdir is NFD
We forgot to normalize the result of getcwd() to NFC on macOS where
all other paths are normalized, which has been corrected. This still
does not address the case where core.precomposeUnicode configuration
is not defined globally.
Will merge to 'master'.
source: <20240531193156.28046-1-tboegi@web.de>
* ie/config-includeif-hostname (2024-03-19) 2 commits
- config: learn the "hostname:" includeIf condition
- t: add a test helper for getting hostname