From: Junio C Hamano Date: Tue, 25 Jun 2024 00:40:22 +0000 (-0700) Subject: What's cooking (2024/06 #08) X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b1d1cc72429c5e0a4865629a0b2fc42c1f4800cd;p=thirdparty%2Fgit.git What's cooking (2024/06 #08) --- diff --git a/whats-cooking.txt b/whats-cooking.txt index 430888d86f..3149b3bd49 100644 --- a/whats-cooking.txt +++ b/whats-cooking.txt @@ -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,138 +48,151 @@ 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: + 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: -* 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: + 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: -* 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: -* 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: -* 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 + + 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> - Setting core.abbrev too early before the repository set-up - (typically in "git clone") caused segfault, which as been - corrected. - source: +* 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 -* 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 + 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: + source: - The structure of the document that records longer-term project - decisions to deprecate/remove/update various behaviour has been - outlined. - source: +-------------------------------------------------- +[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 -* 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 + 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. - To help developers, the build procedure now allows builders to use - CFLAGS_APPEND to specify additional CFLAGS. - source: <8120ddaf0bdfd50e0fc4cf9a04f833102630b639.1718001244.git.ps@pks.im> + Needs review. + source: <20240621231826.3280338-1-gitster@pobox.com> -* 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() +* jc/fuzz-sans-curl (2024-06-21) 1 commit + - fuzz: minimum fuzzers environment lacks libcURL - 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: + 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: -* 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). +* ew/object-convert-leakfix (2024-06-24) 1 commit + - object-file: fix leak on conversion failure + Leakfix. -* 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 + Will merge to 'next'. + source: <20240622043648.M78681@dcvr> - "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> +* rs/diff-color-moved-w-no-ext-diff-fix (2024-06-24) 1 commit + - diff: allow --color-moved with --no-ext-diff -* 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` + "git diff --no-ext-diff" when diff.external is configured ignored + the "--color-moved" option. - Assorted fixes to multi-pack-index code paths. - source: + Will merge to 'next'. + source: -------------------------------------------------- -[New Topics] +[Cooking] * kz/merge-fail-early-upon-refresh-failure (2024-06-18) 1 commit (merged to 'next' on 2024-06-20 at 01d4bdd019) @@ -241,18 +254,21 @@ Release tarballs are available at: source: -* 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: + 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: - - * 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: @@ -441,19 +446,6 @@ Release tarballs are available at: source: -* 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: - - * 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: -* 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: -* 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: - - -* 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: - - * 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: -* 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: - source: - - -* 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