From: Junio C Hamano Date: Tue, 8 Apr 2025 20:23:54 +0000 (-0700) Subject: What's cooking (2025/04 #02) X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1f040151504d97e3e5942ca03f2c2673ab8d6309;p=thirdparty%2Fgit.git What's cooking (2025/04 #02) --- diff --git a/whats-cooking.txt b/whats-cooking.txt index 161e069218..057028bdc5 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 (Apr 2025, #01; Mon, 7) -X-master-at: 5b97a56fa0e7d580dc8865b73107407c9b3f0eff -X-next-at: ff1f9ca942cece7b528239c099ac8bd8fcf768ce +Subject: What's cooking in git.git (Apr 2025, #02; Tue, 8) +X-master-at: 485f5f863615e670fd97ae40af744e14072cfe18 +X-next-at: 153de2bbd5a1ce082d4d036a9daca0f0100fe8a1 Bcc: lwn@lwn.net, gitster@pobox.com -What's cooking in git.git (Apr 2025, #01; Mon, 7) +What's cooking in git.git (Apr 2025, #02; Tue, 8) -------------------------------------------------- Here are the topics that have been cooking in my tree. Commits @@ -17,13 +17,10 @@ topic without enough support may be discarded after a long period of no activity (of course they can be resubmit when new interests arise). -As you can see, a handful of topics are marked as "Need to pick up a -newer iteration"; I am aware of these newer threads but haven't -caught up with them. I'll probably spend more time on flushing what -has been cooking already in my tree down to 'master', and then -replace these topics with newer iteration before merging them to -'next', before starting to pick up new topics that haven't hit my -tree yet. Hopefully that would happen in a few days. +As some of you may know, I do not like to issue "What's cooking" +reports rapidly in a row (which in turn means making merges to +'master' too often), but with so many backlogs that have matured, +I couldn't help it. 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 @@ -56,172 +53,289 @@ Release tarballs are available at: -------------------------------------------------- [Graduated to 'master'] -* ab/decorate-code-cleanup (2025-03-10) 1 commit - (merged to 'next' on 2025-03-18 at 7ede1484eb) - + decorate: fix sign comparison warnings +* aj/doc-restore-p-update (2025-03-18) 1 commit + (merged to 'next' on 2025-03-24 at bdcfdc7f4e) + + doc: restore: remove note on --patch w/ pathspecs - Code clean-up. - source: <7c219279-8151-49c0-8fc0-8abe2624aca9@gmail.com> + Stale description in "git restore -p" documentation has been + updated. + source: + + +* cc/lop-remote (2025-03-18) 4 commits + (merged to 'next' on 2025-03-24 at 3b685ceef0) + + promisor-remote: compare remote names case sensitively + + promisor-remote: fix possible issue when no URL is advertised + + promisor-remote: fix segfault when remote URL is missing + + t5710: arrange to delete the client before cloning + + Bugfix in newly introduced large-object-promisor remote support. + source: <20250318110008.656695-1-christian.couder@gmail.com> + + +* dk/vimdiff-doc-fix (2025-03-25) 1 commit + (merged to 'next' on 2025-03-29 at d0c7a36752) + + vimdiff: clarify the sigil used for marking the buffer to save + + Doc update. + source: <20250324205327.79627-1-ben.knoble+github@gmail.com> + + +* dm/completion-remote-names-fix (2025-03-23) 2 commits + (merged to 'next' on 2025-03-26 at b9460e20ae) + + completion: fix bugs with slashes in remote names + + completion: add helper to count path components + + The bash command line completion script (in contrib/) has been + updated to cope with remote repository nicknames with slashes in + them. + source: <17274df2746d304db876ebd82ad8d932@mandelberg.org> + + +* en/assert-wo-side-effects (2025-03-21) 3 commits + (merged to 'next' on 2025-03-29 at de89bb3075) + + treewide: replace assert() with ASSERT() in special cases + + ci: add build checking for side-effects in assert() calls + + git-compat-util: introduce ASSERT() macro + + Ensure what we write in assert() does not have side effects, + and introduce ASSERT() macro to mark those that cannot be + mechanically checked for lack of side effects. + source: + + +* es/meson-build-skip-coccinelle (2025-03-25) 1 commit + (merged to 'next' on 2025-03-29 at 748d830ce7) + + meson: disable coccinelle configuration when building from a tarball + Build fix. + source: <20250325200920.198057-1-eschwartz@gentoo.org> -* am/dir-dedup-decl-of-repository (2025-03-11) 1 commit - (merged to 'next' on 2025-03-18 at 9075454132) - + dir.h: remove duplicate forward declaration of struct repository - Code cleanup. - source: +* fr/vimdiff-layout-fixes (2025-03-25) 2 commits + (merged to 'next' on 2025-03-29 at 367b2105c0) + + mergetools: vimdiff: add tests for layout with REMOTE as the target + + mergetools: vimdiff: fix layout where REMOTE is the target + Layout configuration in vimdiff backend didn't work as advertised, + which has been corrected. + source: <20250325222311.400748-1-greenfoo@u92.eu> -* cc/signed-fast-export-import (2025-03-10) 6 commits - (merged to 'next' on 2025-03-18 at d98973e2cb) - + fast-export, fast-import: add support for signed-commits - + fast-export: do not modify memory from get_commit_buffer - + git-fast-export.adoc: clarify why 'verbatim' may not be a good idea - + fast-export: rename --signed-tags='warn' to 'warn-verbatim' - + fast-export: fix missing whitespace after switch - + git-fast-import.adoc: add missing LF in the BNF - "git fast-export | git fast-import" learns to deal with commit and - tag objects with embedded signatures a bit better. - cf. - source: <20250310155746.879481-1-christian.couder@gmail.com> +* ja/doc-branch-markup (2025-03-20) 2 commits + (merged to 'next' on 2025-03-24 at ba6e1c7d0b) + + doc: apply new format to git-branch man page + + completion: take into account the formatting backticks for options + Doc mark-up updates. + source: -* en/diff-rename-follow-fix (2025-03-14) 1 commit - (merged to 'next' on 2025-03-18 at 56808a7eda) - + diffcore-rename: fix BUG when break detection and --follow used together - A corner-case bug in "git log --follow -B" has been fixed. - source: +* jc/name-rev-stdin (2025-03-12) 6 commits + (merged to 'next' on 2025-03-24 at cfec2e409f) + + name-rev: remove "--stdin" support + + t6120: further modernize + + t6120: avoid hiding "git" exit status + + t: introduce WITH_BREAKING_CHANGES prerequisite + + t: extend test_lazy_prereq + + t: document test_lazy_prereq + Using "git name-rev --stdin" as an example, improve the framework to + prepare tests to pretend to be in the future where the breaking + changes have already happened. + source: <20250311212505.2920181-1-gitster@pobox.com> -* en/merge-ort-prepare-to-remove-recursive (2025-03-18) 6 commits - (merged to 'next' on 2025-03-18 at a911944a1c) - + am: switch from merge_recursive_generic() to merge_ort_generic() - + merge-ort: fix merge.directoryRenames=false - + t3650: document bug when directory renames are turned off - + merge-ort: support having merge verbosity be set to 0 - + merge-ort: allow rename detection to be disabled - + merge-ort: add new merge_ort_generic() function - First step of deprecating and removing merge-recursive. - source: +* jh/hash-init-fixes (2025-03-18) 1 commit + (merged to 'next' on 2025-03-24 at 85b8299403) + + index-pack, unpack-objects: restore missing ->init_fn + + An earlier code refactoring of the hash machinery missed a few + required calls to init_fn. + cf. + source: <20250318111616.113941-1-hmz007@gmail.com> -* en/random-cleanups (2025-03-17) 5 commits - (merged to 'next' on 2025-03-18 at 87acd24a85) - + merge-ort: remove extraneous word in comment - + merge-ort: fix accidental strset<->strintmap - + t7615: be more explicit about diff algorithm used - + t6423: fix a comment that accidentally reversed two commits - + stash: remove merge-recursive.h include +* js/imap-send-peer-cert-verify (2025-03-25) 1 commit + (merged to 'next' on 2025-03-26 at 69df4dd915) + + imap-send: explicitly verify the peer certificate - Miscellaneous code clean-ups. - source: + Will merge to 'master'. + source: -* es/meson-building-docs-requires-perl (2025-03-17) 1 commit - (merged to 'next' on 2025-03-18 at 1c1d88dcb7) - + meson: fix perl detection when docs are enabled, but perl bindings aren't +* js/mingw-admins-are-special (2025-03-25) 2 commits + (merged to 'next' on 2025-03-26 at dfcb9661a6) + + test-tool path-utils: support debugging "dubious ownership" issues + + mingw: special-case administrators even more - Build update. - source: <20250316060605.166364-1-eschwartz@gentoo.org> + "Dubious ownership" checks on Windows has been tightened up. + source: -* hj/doc-rev-list-ancestry-fix (2025-03-18) 1 commit - (merged to 'next' on 2025-03-18 at e94155a9ec) - + doc: add missing commit C to the graph for --ancestry-path=H D..M +* kn/ci-meson-check-build-docs-fix (2025-03-20) 1 commit + (merged to 'next' on 2025-03-24 at 135ce9ce61) + + ci/github: add missing 'CI_JOB_IMAGE' env variable - Doc update. - source: - - -* jk/fetch-ref-prefix-cleanup (2025-03-10) 9 commits - (merged to 'next' on 2025-03-18 at ab3e5cf19f) - + fetch: use ref prefix list to skip ls-refs - + fetch: avoid ls-refs only to ask for HEAD symref update - + fetch: stop protecting additions to ref-prefix list - + fetch: ask server to advertise HEAD for config-less fetch - + refspec_ref_prefixes(): clean up refspec_item logic - + t5516: beef up exact-oid ref prefixes test - + t5516: drop NEEDSWORK about v2 reachability behavior - + t5516: prefer "oid" to "sha1" in some test titles - + t5702: fix typo in test name - (this branch is used by jk/fetch-follow-remote-head-fix and tb/refspec-fetch-cleanup.) - - In protocol v2 where the refs advertisement is constrained, we try - to tell the server side not to limit the advertisement when there - is no specific need to, which has been the source of confusion and - recent bugs. Revamp the logic to simplify. - source: <20250309030101.GA2334064@coredump.intra.peff.net> - - -* jk/use-wunreachable-code-for-devs (2025-03-17) 3 commits - (merged to 'next' on 2025-03-18 at fe32168eef) - + config.mak.dev: enable -Wunreachable-code - + git-compat-util: add NOT_CONSTANT macro and use it in atfork_prepare() - + run-command: use errno to check for sigfillset() error - - Enable -Wunreachable-code for developer builds. - source: <20250317235329.809302-1-gitster@pobox.com> - - -* ps/meson-with-breaking-changes (2025-03-12) 3 commits - (merged to 'next' on 2025-03-18 at 15b1c62eff) - + meson: don't install git-pack-redundant(1) docs with breaking changes - + meson: don't compile git-pack-redundant(1) with breaking changes - + meson: define WITH_BREAKING_CHANGES when enabling breaking changes - - Update meson based build procedure for breaking changes support. - source: <20250312-b4-pks-meson-breaking-changes-v1-0-b89e9a59d228@pks.im> - - -* ps/refname-avail-check-optim (2025-03-12) 16 commits - (merged to 'next' on 2025-03-18 at 726197f7e0) - + refs: reuse iterators when determining refname availability - + refs/iterator: implement seeking for files iterators - + refs/iterator: implement seeking for packed-ref iterators - + refs/iterator: implement seeking for ref-cache iterators - + refs/iterator: implement seeking for reftable iterators - + refs/iterator: implement seeking for merged iterators - + refs/iterator: provide infrastructure to re-seek iterators - + refs/iterator: separate lifecycle from iteration - + refs: stop re-verifying common prefixes for availability - + refs/files: batch refname availability checks for initial transactions - + refs/files: batch refname availability checks for normal transactions - + refs/reftable: batch refname availability checks - + refs: introduce function to batch refname availability checks - + builtin/update-ref: skip ambiguity checks when parsing object IDs - + object-name: allow skipping ambiguity checks in `get_oid()` family - + object-name: introduce `repo_get_oid_with_flags()` - (this branch is used by kn/non-transactional-batch-updates.) - - The code paths to check whether a refname X is available (by seeing - if another ref X/Y exists, etc.) have been optimized. - source: <20250312-pks-update-ref-optimization-v6-0-f778e0414f55@pks.im> - - -* rs/xdiff-context-length-fix (2025-03-14) 1 commit - (merged to 'next' on 2025-03-18 at aca4b320d2) - + xdiff: avoid arithmetic overflow in xdl_get_hunk() - - The xdiff code on 32-bit platform misbehaved when an insanely large - context size is given, which has been corrected. - source: <4e9b6b4c-aaa1-4c6f-93f4-7bb04607e843@web.de> - - -* tb/multi-cruft-pack-refresh-fix (2025-03-13) 1 commit - (merged to 'next' on 2025-03-18 at e3f090e427) - + builtin/pack-objects.c: freshen objects from existing cruft packs - (this branch is used by tb/combine-cruft-below-size.) - - Certain "cruft" objects would have never been refreshed when there - are multiple cruft packs in the repository, which has been + GitHub Actions CI switched on a CI/CD variable that does not exist + when choosing what packages to install etc., which has been corrected. - source: <1563552bbda0bc910c9f41b0fabc3225c4d778fc.1741889018.git.me@ttaylorr.com> + source: <20250319163328.525284-1-karthik.188@gmail.com> + + +* ms/reftable-block-writer-errors (2025-03-21) 3 commits + (merged to 'next' on 2025-03-29 at 67fdddb622) + + reftable: adapt write_object_record() to propagate block_writer_add() errors + + reftable: adapt writer_add_record() to propagate block_writer_add() errors + + reftable: propagate specific error codes in block_writer_add() + + Give more meaningful error return values from block writer layer of + the reftable ref-API backend. + cf. + source: <20250319152927.1263033-1-meetsoni3017@gmail.com> + + +* ps/ci-meson-check-build-docs (2025-03-12) 1 commit + (merged to 'next' on 2025-03-29 at 5aed226a96) + + ci: perform build and smoke tests for Meson docs + + CI update. + source: <20250312-b4-pks-ci-meson-docs-v1-1-5e7cf7ac959a@pks.im> + + +* ps/reftable-sans-compat-util (2025-02-18) 18 commits + (merged to 'next' on 2025-03-29 at 4e9fbae111) + + Makefile: skip reftable library for Coccinelle + + reftable: decouple from Git codebase by pulling in "compat/posix.h" + + git-compat-util.h: split out POSIX-emulating bits + + compat/mingw: split out POSIX-related bits + + reftable/basics: introduce `REFTABLE_UNUSED` annotation + + reftable/basics: stop using `SWAP()` macro + + reftable/stack: stop using `sleep_millisec()` + + reftable/system: introduce `reftable_rand()` + + reftable/reader: stop using `ARRAY_SIZE()` macro + + reftable/basics: provide wrappers for big endian conversion + + reftable/basics: stop using `st_mult()` in array allocators + + reftable: stop using `BUG()` in trivial cases + + reftable/record: don't `BUG()` in `reftable_record_cmp()` + + reftable/record: stop using `BUG()` in `reftable_record_init()` + + reftable/record: stop using `COPY_ARRAY()` + + reftable/blocksource: stop using `xmmap()` + + reftable/stack: stop using `write_in_full()` + + reftable/stack: stop using `read_in_full()` + (this branch is used by ps/reftable-api-revamp and ps/reftable-windows-unlink-fix.) + + Make the code in reftable library less reliant on the service + routines it used to borrow from Git proper, to make it easier to + use by external users of the library. + cf. + source: <20250218-pks-reftable-drop-git-compat-util-v6-0-8c1f39fb4c02@pks.im> + + +* pw/build-breaking-changes-doc (2025-03-18) 1 commit + (merged to 'next' on 2025-03-24 at 56efeea47e) + + docs: add BreakingChanges to TECH_DOCS target + + A documentation page was left out from formatting and installation, + which has been corrected. + source: + + +* pw/doc-pack-refs-markup-fix (2025-03-18) 1 commit + (merged to 'next' on 2025-03-24 at 3bcea36a83) + + pack-refs doc: fix indentation for --exclude + + Doc markup fix. + source: + + +* rs/clear-commit-marks-simplify (2025-03-24) 1 commit + (merged to 'next' on 2025-03-29 at 222799fc4e) + + commit: move clear_commit_marks_many() loop body to clear_commit_marks() + + Code clean-up. + source: <80bfd7a9-904c-49d8-a367-ca268c096a9f@web.de> + + +* ta/bulk-checkin-signed-compare-false-warning-fix (2025-03-25) 1 commit + (merged to 'next' on 2025-03-29 at 6f33c692ce) + + bulk-checkin: fix sign compare warnings + + Compiler warnings workaround. + source: <20250324214703.7547-1-taahol@utu.fi> + + +* tb/bitamp-typofix (2025-03-21) 1 commit + (merged to 'next' on 2025-03-26 at f068ddb5bb) + + pseudo-merge.h: fix a typo + + Typofix. + source: <3b3cc5c0fa2d0696eb15c5d3c97a6c93a0d39252.1742338479.git.me@ttaylorr.com> + + +* tb/combine-cruft-below-size (2025-03-21) 6 commits + (merged to 'next' on 2025-03-24 at 699b83a925) + + repack: begin combining cruft packs with `--combine-cruft-below-size` + + repack: avoid combining cruft packs with `--max-cruft-size` + + t/t7704-repack-cruft.sh: consolidate `write_blob()` + + t/t7704-repack-cruft.sh: clarify wording in --max-cruft-size tests + + t/t5329-pack-objects-cruft.sh: evict 'repack'-related tests + + Merge branch 'tb/multi-cruft-pack-refresh-fix' into tb/combine-cruft-below-size + + "git repack" learned "--combine-cruft-below-size" option that + controls how cruft-packs are combined. + source: + + +* tb/http-curl-keepalive (2025-03-21) 4 commits + (merged to 'next' on 2025-03-29 at 4782cca658) + + http.c: allow custom TCP keepalive behavior via config + + http.c: inline `set_curl_keepalive()` + + http.c: introduce `set_long_from_env()` for convenience + + http.c: remove unnecessary casts to long + + TCP keepalive behaviour on http transports can now be configured by + calling cURL library. + cf. + source: + + +* tb/incremental-midx-part-2 (2025-03-21) 14 commits + (merged to 'next' on 2025-03-29 at 1db17d1a9b) + + midx: implement writing incremental MIDX bitmaps + + pack-bitmap.c: use `ewah_or_iterator` for type bitmap iterators + + pack-bitmap.c: keep track of each layer's type bitmaps + + ewah: implement `struct ewah_or_iterator` + + pack-bitmap.c: apply pseudo-merge commits with incremental MIDXs + + pack-bitmap.c: compute disk-usage with incremental MIDXs + + pack-bitmap.c: teach `rev-list --test-bitmap` about incremental MIDXs + + pack-bitmap.c: support bitmap pack-reuse with incremental MIDXs + + pack-bitmap.c: teach `show_objects_for_type()` about incremental MIDXs + + pack-bitmap.c: teach `bitmap_for_commit()` about incremental MIDXs + + pack-bitmap.c: open and store incremental bitmap layers + + pack-revindex: prepare for incremental MIDX bitmaps + + Documentation: describe incremental MIDX bitmaps + + Documentation: remove a "future work" item from the MIDX docs + (this branch is used by ps/cat-file-filter-batch.) + + Incrementally updating multi-pack index files. + source: + + +* tb/refspec-fetch-cleanup (2025-03-21) 5 commits + (merged to 'next' on 2025-03-29 at 6cf1359bf4) + + refspec: replace `refspec_item_init()` with fetch/push variants + + refspec: remove refspec_item_init_or_die() + + refspec: replace `refspec_init()` with fetch/push variants + + refspec: treat 'fetch' as a Boolean value + + Merge branch 'jk/fetch-ref-prefix-cleanup' into tb/refspec-fetch-cleanup + + Code clean-up. + cf. + source: -------------------------------------------------- -[New Topics] +[Cooking] * js/range-check-codeql-workaround (2025-03-28) 1 commit - read-cache: check range before dereferencing an array element @@ -232,26 +346,28 @@ Release tarballs are available at: source: <73cae30129338cf219a810c3a2a78ef48d5637d0.1743073557.git.gitgitgadget@gmail.com> -* jt/help-sha-backend-info-in-build-options (2025-03-28) 2 commits - - help: include unsafe SHA-1 build info in version - - help: include SHA implementation in version info +* jt/help-sha-backend-info-in-build-options (2025-04-07) 2 commits + (merged to 'next' on 2025-04-08 at 7389752293) + + help: include unsafe SHA-1 build info in version + + help: include SHA implementation in version info "git help --build-options" reports SHA-1 and SHA-256 backends used in the build. - Need to pick up a newer iteration. - cf. <20250403140529.497876-1-jltobler@gmail.com> - source: <20250328170121.157563-1-jltobler@gmail.com> + Will merge to 'master'. + source: <20250403140529.497876-1-jltobler@gmail.com> * pb/perf-test-fixes (2025-03-28) 2 commits - - p9210: fix 'scalar clone' when running from a detached HEAD - - p7821: fix test_perf invocation for prereqs + (merged to 'next' on 2025-04-08 at a8aaeee41e) + + p9210: fix 'scalar clone' when running from a detached HEAD + + p7821: fix test_perf invocation for prereqs "make perf" fixes. - Will merge to 'next'? + Will merge to 'master'. cf. + cf. source: @@ -268,103 +384,105 @@ Release tarballs are available at: source: -* ps/cat-file-filter-batch (2025-03-28) 11 commits - - builtin/cat-file: use bitmaps to efficiently filter by object type - - builtin/cat-file: deduplicate logic to iterate over all objects - - pack-bitmap: introduce function to check whether a pack is bitmapped - - pack-bitmap: add function to iterate over filtered bitmapped objects - - pack-bitmap: allow passing payloads to `show_reachable_fn()` - - builtin/cat-file: support "object:type=" objects filter - - builtin/cat-file: support "blob:limit=" objects filter - - builtin/cat-file: support "blob:none" objects filter - - builtin/cat-file: wire up an option to filter objects - - builtin/cat-file: rename variable that tracks usage - - Merge branch 'tb/incremental-midx-part-2' into ps/cat-file-filter-batch - (this branch uses tb/incremental-midx-part-2.) +* ps/cat-file-filter-batch (2025-04-07) 12 commits + (merged to 'next' on 2025-04-08 at eb8dfb17ea) + + builtin/cat-file: use bitmaps to efficiently filter by object type + + builtin/cat-file: deduplicate logic to iterate over all objects + + pack-bitmap: introduce function to check whether a pack is bitmapped + + pack-bitmap: add function to iterate over filtered bitmapped objects + + pack-bitmap: allow passing payloads to `show_reachable_fn()` + + builtin/cat-file: support "object:type=" objects filter + + builtin/cat-file: support "blob:limit=" objects filter + + builtin/cat-file: support "blob:none" objects filter + + builtin/cat-file: wire up an option to filter objects + + builtin/cat-file: introduce function to report object status + + builtin/cat-file: rename variable that tracks usage + + Merge branch 'tb/incremental-midx-part-2' into ps/cat-file-filter-batch "git cat-file --batch" and friends learned to allow "--filter=" to omit certain objects, just like the transport layer does. - Need to pick up a newer iteration. - cf. <20250402-pks-cat-file-object-type-filter-v3-0-4da6bb21871c@pks.im> - source: <20250327-pks-cat-file-object-type-filter-v2-0-4bbc7085d7c5@pks.im> + Will merge to 'master'. + source: <20250402-pks-cat-file-object-type-filter-v3-0-4da6bb21871c@pks.im> * ps/misc-build-fixes (2025-04-01) 5 commits - - ci: use Visual Studio for win+meson job on GitHub Workflows - - meson: distinguish build and target host binaries - - meson: respect 'tests' build option in contrib - - gitweb: fix generation of "gitweb.js" - - meson: fix handling of '-Dcurl=auto' + (merged to 'next' on 2025-04-08 at 85693b6d96) + + ci: use Visual Studio for win+meson job on GitHub Workflows + + meson: distinguish build and target host binaries + + meson: respect 'tests' build option in contrib + + gitweb: fix generation of "gitweb.js" + + meson: fix handling of '-Dcurl=auto' Random build fixes. - Will merge to 'next'? + Will merge to 'master'. cf. source: <20250331-b4-pks-collect-build-fixes-v2-0-6b06136808f3@pks.im> -* ps/test-wo-perl-prereq (2025-03-28) 20 commits - - t5703: refactor test to not depend on Perl - - t5316: refactor `max_chain()` to not depend on Perl - - t0210: refactor trace2 scrubbing to not use Perl - - t0021: refactor `generate_random_characters()` to not depend on Perl - - t/lib-httpd: refactor "one-time-perl" CGI script to not depend on Perl - - t/lib-t6000: refactor `name_from_description()` to not depend on Perl - - t/lib-gpg: refactor `sanitize_pgp()` to not depend on Perl - - t: refactor tests depending on Perl for textconv scripts - - t: refactor tests depending on Perl to print data - - t: refactor tests depending on Perl substitution operator - - t: refactor tests depending on Perl transliteration operator - - Makefile: stop requiring Perl when running tests - - meson: stop requiring Perl when tests are enabled - - t: adapt existing PERL prerequisites - - t: introduce PERL_TEST_HELPERS prerequisite - - t: adapt `test_readlink()` to not use Perl - - t: adapt `test_copy_bytes()` to not use Perl - - t: adapt character translation helpers to not use Perl - - t: refactor environment sanitization to not use Perl - - t: skip chain lint when PERL_PATH is unset +* ps/test-wo-perl-prereq (2025-04-07) 20 commits + (merged to 'next' on 2025-04-08 at 424e2eab23) + + t5703: refactor test to not depend on Perl + + t5316: refactor `max_chain()` to not depend on Perl + + t0210: refactor trace2 scrubbing to not use Perl + + t0021: refactor `generate_random_characters()` to not depend on Perl + + t/lib-httpd: refactor "one-time-perl" CGI script to not depend on Perl + + t/lib-t6000: refactor `name_from_description()` to not depend on Perl + + t/lib-gpg: refactor `sanitize_pgp()` to not depend on Perl + + t: refactor tests depending on Perl for textconv scripts + + t: refactor tests depending on Perl to print data + + t: refactor tests depending on Perl substitution operator + + t: refactor tests depending on Perl transliteration operator + + Makefile: stop requiring Perl when running tests + + meson: stop requiring Perl when tests are enabled + + t: adapt existing PERL prerequisites + + t: introduce PERL_TEST_HELPERS prerequisite + + t: adapt `test_readlink()` to not use Perl + + t: adapt `test_copy_bytes()` to not use Perl + + t: adapt character translation helpers to not use Perl + + t: refactor environment sanitization to not use Perl + + t: skip chain lint when PERL_PATH is unset "make test" used to have a hard dependency on (basic) Perl; tests have been rewritten help environment with NO_PERL test the build as much as possible. - Need to pick up a newer iteration. - cf. <20250327-b4-pks-t-perlless-v3-0-b436de9da1b8@pks.im> - source: <20250327-b4-pks-t-perlless-v3-0-b436de9da1b8@pks.im> + Will merge to 'master'. + source: <20250403-b4-pks-t-perlless-v4-0-be20ac3db39a@pks.im> * pw/custom-conflict-marker-size-for-merge-related-docs (2025-03-29) 1 commit - - merge-file doc: set conflict-marker-size attribute + (merged to 'next' on 2025-04-07 at 281b7207e3) + + merge-file doc: set conflict-marker-size attribute "git-merge-file" documentation source, which has lines that look like conflict markers, lacked custom conflict marker size defined, which has been corrected.. - Will merge to 'next'. + Will merge to 'master'. source: * ab/rm-sign-compare (2025-03-29) 1 commit - - rm: fix sign comparison warnings + (merged to 'next' on 2025-04-08 at bc1f98e81c) + + rm: fix sign comparison warnings Some warnings from "-Wsign-compare" for builtin/rm.c have been squelched. - Will merge to 'next'. + Will merge to 'master'. source: -* kn/blame-porcelain-unblamable (2025-03-29) 1 commit +* kn/blame-porcelain-unblamable (2025-04-07) 1 commit - blame: print unblamable and ignored commits in porcelain mode "git blame --porcelain" mode now talks about unblamable lines and lines that are blamed to an ignored commit. - Need to pick up a newer iteration. - cf. <20250403160326.120124-1-karthik.188@gmail.com> - source: <20250329-514-git-blame-1-s-porcelain-output-does-not-emit-unblamable-and-ignored-markers-v3-1-10f695ae519a@gmail.com> + Will merge to 'next'. + source: <20250403160326.120124-1-karthik.188@gmail.com> * ua/update-update-server-info (2025-03-29) 1 commit @@ -376,25 +494,27 @@ Release tarballs are available at: * ab/pathspec-sign-compare-workaround (2025-04-01) 1 commit - - pathspec: fix sign comparison warnings + (merged to 'next' on 2025-04-08 at 875fb0e3ee) + + pathspec: fix sign comparison warnings Some warnings from "-Wsign-compare" for pathspec.c have been squelched. - - Will merge to 'next'? + + Will merge to 'master'. source: <127c3010-4b23-436e-a07d-e6031e746113@gmail.com> * bc/allow-upload-pack-from-other-people (2025-04-01) 1 commit - - t5605: fix test for cloning from a different user + (merged to 'next' on 2025-04-07 at c27755834e) + + t5605: fix test for cloning from a different user Test fix for an already graduated topic. - Will merge to 'next'. + Will merge to 'master'. source: -* en/merge-recursive-debug (2025-04-01) 8 commits +* en/merge-recursive-debug (2025-04-07) 8 commits - builtin/{merge,rebase,revert}: remove GIT_TEST_MERGE_ALGORITHM - tests: remove GIT_TEST_MERGE_ALGORITHM and test_expect_merge_algorithm - merge-recursive.[ch]: thoroughly debug these @@ -404,9 +524,9 @@ Release tarballs are available at: - builtin/merge-recursive: switch to using merge_ort_generic() - checkout: replace merge_trees() with merge_ort_nonrecursive() - Need to pick up a newer iteration. - cf. - source: + Expecting a reroll. + cf. + source: * ja/doc-reset-mv-rm-markup-updates (2025-04-01) 5 commits @@ -416,7 +536,6 @@ Release tarballs are available at: - doc: fix synopsis analysis logic - doc: convert git-reset to new documentation format - Expecting a reroll. cf. cf. @@ -443,10 +562,9 @@ Release tarballs are available at: source: <20250330112850.2477673-1-m@lfurio.us> -* ps/reftable-api-revamp (2025-04-01) 18 commits +* ps/reftable-api-revamp (2025-04-07) 17 commits - reftable/table: move printing logic into test helper - reftable/constants: make block types part of the public interface - - SQUASH??? - reftable/table: introduce iterator for table blocks - reftable/table: add `reftable_table` to the public interface - reftable/block: expose a generic iterator over reftable records @@ -462,335 +580,116 @@ Release tarballs are available at: - reftable/reader: rename data structure to "table" - reftable: fix formatting of the license header - Merge branch 'ps/reftable-sans-compat-util' into ps/reftable-api-revamp - (this branch uses ps/reftable-sans-compat-util.) - - Need to pick up a newer iteration. - cf. <20250407-pks-reftable-polishing-v2-0-316c4ff10571@pks.im> - source: <20250331-pks-reftable-polishing-v1-0-ebed5247434c@pks.im> - --------------------------------------------------- -[Cooking] - -* ds/maintenance-loose-objects-batchsize (2025-03-23) 2 commits - - maintenance: add loose-objects.batchSize config - - maintenance: force progress/no-quiet to children - - The job to coalesce loose objects into packfiles in "git - maintenance" now has configurable batch size. - - Will merge to 'next'. - source: - - -* jt/clone-guess-remote-head-fix (2025-03-25) 3 commits - - advice: allow disabling default branch name advice - - builtin/clone: suppress unexpected default branch advice - - remote: allow `guess_remote_head()` to suppress advice - - "git clone" still gave the message about the default branch name; - this message has been turned into an advice message that can be - turned off. - - Will merge to 'next'. - cf. <69ccc682-3f81-440f-8e96-a5af5d49fa60@gmail.com> - source: <20250325005148.1771502-1-jltobler@gmail.com> - - -* lo/userdiff-gitconfig (2025-04-01) 1 commit - - userdiff: add builtin driver for INI files - - Will merge to 'next'. - cf. - source: <20250331031309.94682-1-lucasseikioshiro@gmail.com> - - -* rs/clear-commit-marks-simplify (2025-03-24) 1 commit - (merged to 'next' on 2025-03-29 at 222799fc4e) - + commit: move clear_commit_marks_many() loop body to clear_commit_marks() - - Code clean-up. - - Will merge to 'master'. - source: <80bfd7a9-904c-49d8-a367-ca268c096a9f@web.de> - - -* ta/bulk-checkin-signed-compare-false-warning-fix (2025-03-25) 1 commit - (merged to 'next' on 2025-03-29 at 6f33c692ce) - + bulk-checkin: fix sign compare warnings - - Compiler warnings workaround. - - Will merge to 'master'. - source: <20250324214703.7547-1-taahol@utu.fi> - - -* dk/vimdiff-doc-fix (2025-03-25) 1 commit - (merged to 'next' on 2025-03-29 at d0c7a36752) - + vimdiff: clarify the sigil used for marking the buffer to save - - Doc update. - - Will merge to 'master'. - source: <20250324205327.79627-1-ben.knoble+github@gmail.com> - - -* es/meson-build-skip-coccinelle (2025-03-25) 1 commit - (merged to 'next' on 2025-03-29 at 748d830ce7) - + meson: disable coccinelle configuration when building from a tarball - - Build fix. - - Will merge to 'master'. - source: <20250325200920.198057-1-eschwartz@gentoo.org> - - -* fr/vimdiff-layout-fixes (2025-03-25) 2 commits - (merged to 'next' on 2025-03-29 at 367b2105c0) - + mergetools: vimdiff: add tests for layout with REMOTE as the target - + mergetools: vimdiff: fix layout where REMOTE is the target - - Layout configuration in vimdiff backend didn't work as advertised, - which has been corrected. - - Will merge to 'master'. - source: <20250325222311.400748-1-greenfoo@u92.eu> - - -* js/comma-semicolon-confusion (2025-03-28) 10 commits - - detect-compiler: detect clang even if it found CUDA - - clang: warn when the comma operator is used - - compat/regex: explicitly mark intentional use of the comma operator - - wildmatch: avoid using of the comma operator - - diff-delta: avoid using the comma operator - - xdiff: avoid using the comma operator unnecessarily - - clar: avoid using the comma operator unnecessarily - - kwset: avoid using the comma operator unnecessarily - - rebase: avoid using the comma operator unnecessarily - - remote-curl: avoid using the comma operator unnecessarily - - Code clean-up. - - Will merge to 'next'. - source: - - -* js/imap-send-peer-cert-verify (2025-03-25) 1 commit - (merged to 'next' on 2025-03-26 at 69df4dd915) - + imap-send: explicitly verify the peer certificate - - Will merge to 'master'. - source: - - -* js/mingw-admins-are-special (2025-03-25) 2 commits - (merged to 'next' on 2025-03-26 at dfcb9661a6) - + test-tool path-utils: support debugging "dubious ownership" issues - + mingw: special-case administrators even more - - "Dubious ownership" checks on Windows has been tightened up. - - Will merge to 'master'. - source: - - -* en/assert-wo-side-effects (2025-03-21) 3 commits - (merged to 'next' on 2025-03-29 at de89bb3075) - + treewide: replace assert() with ASSERT() in special cases - + ci: add build checking for side-effects in assert() calls - + git-compat-util: introduce ASSERT() macro - - Ensure what we write in assert() does not have side effects, - and introduce ASSERT() macro to mark those that cannot be - mechanically checked for lack of side effects. - - Will merge to 'master'. - source: - - -* jt/ref-transaction-abort-fix (2025-03-21) 1 commit - - builtin/fetch: avoid aborting closed reference transaction - - A ref transaction corner case fix. - - Will merge to 'next'. - cf. - source: <20250321004437.505461-1-jltobler@gmail.com> - - -* kn/ci-meson-check-build-docs-fix (2025-03-20) 1 commit - (merged to 'next' on 2025-03-24 at 135ce9ce61) - + ci/github: add missing 'CI_JOB_IMAGE' env variable - - GitHub Actions CI switched on a CI/CD variable that does not exist - when choosing what packages to install etc., which has been - corrected. - - Will merge to 'master'. - source: <20250319163328.525284-1-karthik.188@gmail.com> + Comments? + source: <20250407-pks-reftable-polishing-v2-0-316c4ff10571@pks.im> -* ms/reftable-block-writer-errors (2025-03-21) 3 commits - (merged to 'next' on 2025-03-29 at 67fdddb622) - + reftable: adapt write_object_record() to propagate block_writer_add() errors - + reftable: adapt writer_add_record() to propagate block_writer_add() errors - + reftable: propagate specific error codes in block_writer_add() - Give more meaningful error return values from block writer layer of - the reftable ref-API backend. +* ds/maintenance-loose-objects-batchsize (2025-03-23) 2 commits + (merged to 'next' on 2025-04-07 at a4e55af4bc) + + maintenance: add loose-objects.batchSize config + + maintenance: force progress/no-quiet to children + + The job to coalesce loose objects into packfiles in "git + maintenance" now has configurable batch size. Will merge to 'master'. - cf. - source: <20250319152927.1263033-1-meetsoni3017@gmail.com> + source: -* tb/bitamp-typofix (2025-03-21) 1 commit - (merged to 'next' on 2025-03-26 at f068ddb5bb) - + pseudo-merge.h: fix a typo +* jt/clone-guess-remote-head-fix (2025-03-25) 3 commits + (merged to 'next' on 2025-04-07 at 35793fd7d8) + + advice: allow disabling default branch name advice + + builtin/clone: suppress unexpected default branch advice + + remote: allow `guess_remote_head()` to suppress advice - Typofix. + "git clone" still gave the message about the default branch name; + this message has been turned into an advice message that can be + turned off. Will merge to 'master'. - source: <3b3cc5c0fa2d0696eb15c5d3c97a6c93a0d39252.1742338479.git.me@ttaylorr.com> - + cf. <69ccc682-3f81-440f-8e96-a5af5d49fa60@gmail.com> + source: <20250325005148.1771502-1-jltobler@gmail.com> -* tb/http-curl-keepalive (2025-03-21) 4 commits - (merged to 'next' on 2025-03-29 at 4782cca658) - + http.c: allow custom TCP keepalive behavior via config - + http.c: inline `set_curl_keepalive()` - + http.c: introduce `set_long_from_env()` for convenience - + http.c: remove unnecessary casts to long - TCP keepalive behaviour on http transports can now be configured by - calling cURL library. +* lo/userdiff-gitconfig (2025-04-01) 1 commit + (merged to 'next' on 2025-04-07 at 1b906232a1) + + userdiff: add builtin driver for INI files Will merge to 'master'. - cf. - source: + cf. + source: <20250331031309.94682-1-lucasseikioshiro@gmail.com> -* tb/refspec-fetch-cleanup (2025-03-21) 5 commits - (merged to 'next' on 2025-03-29 at 6cf1359bf4) - + refspec: replace `refspec_item_init()` with fetch/push variants - + refspec: remove refspec_item_init_or_die() - + refspec: replace `refspec_init()` with fetch/push variants - + refspec: treat 'fetch' as a Boolean value - + Merge branch 'jk/fetch-ref-prefix-cleanup' into tb/refspec-fetch-cleanup +* js/comma-semicolon-confusion (2025-03-28) 10 commits + (merged to 'next' on 2025-04-07 at 3c1f7f4226) + + detect-compiler: detect clang even if it found CUDA + + clang: warn when the comma operator is used + + compat/regex: explicitly mark intentional use of the comma operator + + wildmatch: avoid using of the comma operator + + diff-delta: avoid using the comma operator + + xdiff: avoid using the comma operator unnecessarily + + clar: avoid using the comma operator unnecessarily + + kwset: avoid using the comma operator unnecessarily + + rebase: avoid using the comma operator unnecessarily + + remote-curl: avoid using the comma operator unnecessarily Code clean-up. Will merge to 'master'. - cf. - source: - - -* zy/send-email-error-handling (2025-03-25) 2 commits - - send-email: finer-grained SMTP error handling - - send-email: capture errors in an eval {} block - - Auth-related (and unrelated) error handling in send-email has been - made more robust. - - Need to pick up a newer iteration. - cf. <20250326075246.2612627-1-05ZYT30@gmail.com> - source: <20250324145332.571813-1-05ZYT30@gmail.com> + source: -* aj/doc-restore-p-update (2025-03-18) 1 commit - (merged to 'next' on 2025-03-24 at bdcfdc7f4e) - + doc: restore: remove note on --patch w/ pathspecs +* jt/ref-transaction-abort-fix (2025-03-21) 1 commit + (merged to 'next' on 2025-04-08 at b653d86941) + + builtin/fetch: avoid aborting closed reference transaction - Stale description in "git restore -p" documentation has been - updated. + A ref transaction corner case fix. Will merge to 'master'. - source: + cf. + source: <20250321004437.505461-1-jltobler@gmail.com> -* ja/doc-branch-markup (2025-03-20) 2 commits - (merged to 'next' on 2025-03-24 at ba6e1c7d0b) - + doc: apply new format to git-branch man page - + completion: take into account the formatting backticks for options +* zy/send-email-error-handling (2025-04-07) 2 commits + (merged to 'next' on 2025-04-08 at d5a716a940) + + send-email: finer-grained SMTP error handling + + send-email: capture errors in an eval {} block - Doc mark-up updates. + Auth-related (and unrelated) error handling in send-email has been + made more robust. Will merge to 'master'. - source: + source: <20250326075246.2612627-1-05ZYT30@gmail.com> * ps/mingw-creat-excl-fix (2025-03-21) 2 commits - - compat/mingw: fix EACCESS when opening files with `O_CREAT | O_EXCL` - - meson: fix compat sources when compiling with MSVC + (merged to 'next' on 2025-04-07 at 590b0d4d21) + + compat/mingw: fix EACCESS when opening files with `O_CREAT | O_EXCL` + + meson: fix compat sources when compiling with MSVC Fix lockfile contention in reftable code on Windows. - Will merge to 'next'. + Will merge to 'master'. cf. <801fac5d-dd98-d157-6ff3-c3e8aa6a68ae@gmx.de> source: <20250320-b4-pks-mingw-lockfile-flake-v2-0-a84c90cfc6c2@pks.im> -* tb/combine-cruft-below-size (2025-03-21) 6 commits - (merged to 'next' on 2025-03-24 at 699b83a925) - + repack: begin combining cruft packs with `--combine-cruft-below-size` - + repack: avoid combining cruft packs with `--max-cruft-size` - + t/t7704-repack-cruft.sh: consolidate `write_blob()` - + t/t7704-repack-cruft.sh: clarify wording in --max-cruft-size tests - + t/t5329-pack-objects-cruft.sh: evict 'repack'-related tests - + Merge branch 'tb/multi-cruft-pack-refresh-fix' into tb/combine-cruft-below-size - - "git repack" learned "--combine-cruft-below-size" option that - controls how cruft-packs are combined. - - Will merge to 'master'. - source: - - -* jh/hash-init-fixes (2025-03-18) 1 commit - (merged to 'next' on 2025-03-24 at 85b8299403) - + index-pack, unpack-objects: restore missing ->init_fn - - An earlier code refactoring of the hash machinery missed a few - required calls to init_fn. - - Will merge to 'master'. - cf. - source: <20250318111616.113941-1-hmz007@gmail.com> - - * jk/fetch-follow-remote-head-fix (2025-03-18) 3 commits - - fetch: don't ask for remote HEAD if followRemoteHEAD is "never" - - fetch: only respect followRemoteHEAD with configured refspecs - - Merge branch 'jk/fetch-ref-prefix-cleanup' into jk/fetch-follow-remote-head-fix + (merged to 'next' on 2025-04-07 at ba5ac342a5) + + fetch: don't ask for remote HEAD if followRemoteHEAD is "never" + + fetch: only respect followRemoteHEAD with configured refspecs + + Merge branch 'jk/fetch-ref-prefix-cleanup' into jk/fetch-follow-remote-head-fix "git fetch []" with only the configured fetch refspec should be the only thing to update refs/remotes//HEAD, but the code was overly eager to do so in other cases. - Will merge to 'next'. + Will merge to 'master'. cf. source: <20250318053905.GA2051217@coredump.intra.peff.net> -* pw/build-breaking-changes-doc (2025-03-18) 1 commit - (merged to 'next' on 2025-03-24 at 56efeea47e) - + docs: add BreakingChanges to TECH_DOCS target - - A documentation page was left out from formatting and installation, - which has been corrected. - - Will merge to 'master'. - source: - - -* pw/doc-pack-refs-markup-fix (2025-03-18) 1 commit - (merged to 'next' on 2025-03-24 at 3bcea36a83) - + pack-refs doc: fix indentation for --exclude - - Doc markup fix. - - Will merge to 'master'. - source: - - * sc/bundle-uri-use-all-refs-in-bundle (2025-03-18) 2 commits - bundle-uri: add test for bundle-uri clones with tags - bundle-uri: copy all bundle references ino the refs/bundle space @@ -826,117 +725,69 @@ Release tarballs are available at: source: -* jc/name-rev-stdin (2025-03-12) 6 commits - (merged to 'next' on 2025-03-24 at cfec2e409f) - + name-rev: remove "--stdin" support - + t6120: further modernize - + t6120: avoid hiding "git" exit status - + t: introduce WITH_BREAKING_CHANGES prerequisite - + t: extend test_lazy_prereq - + t: document test_lazy_prereq - - Using "git name-rev --stdin" as an example, improve the framework to - prepare tests to pretend to be in the future where the breaking - changes have already happened. - - Will merge to 'master'. - source: <20250311212505.2920181-1-gitster@pobox.com> - - * jt/rev-list-z (2025-03-21) 5 commits - - rev-list: support NUL-delimited --missing option - - rev-list: support NUL-delimited --boundary option - - rev-list: support delimiting objects with NUL bytes - - rev-list: refactor early option parsing - - rev-list: inline `show_object_with_name()` in `show_object()` + (merged to 'next' on 2025-04-08 at e608ba85c1) + + rev-list: support NUL-delimited --missing option + + rev-list: support NUL-delimited --boundary option + + rev-list: support delimiting objects with NUL bytes + + rev-list: refactor early option parsing + + rev-list: inline `show_object_with_name()` in `show_object()` "git rev-list" learns machine-parsable output format that delimits each field with NUL. - Will merge to 'next'? + Will merge to 'master'. source: <20250319183410.1225428-1-jltobler@gmail.com> * kn/reflog-drop (2025-03-17) 2 commits - - reflog: implement subcommand to drop reflogs - - reflog: improve error for when reflog is not found + (merged to 'next' on 2025-04-07 at 193c01b203) + + reflog: implement subcommand to drop reflogs + + reflog: improve error for when reflog is not found "git reflog" learns "drop" subcommand, that discards the entire reflog data for a ref. - Will merge to 'next'. + Will merge to 'master'. cf. source: <20250314-493-add-command-to-purge-reflog-entries-v3-0-c24e23a6146d@gmail.com> -* cc/lop-remote (2025-03-18) 4 commits - (merged to 'next' on 2025-03-24 at 3b685ceef0) - + promisor-remote: compare remote names case sensitively - + promisor-remote: fix possible issue when no URL is advertised - + promisor-remote: fix segfault when remote URL is missing - + t5710: arrange to delete the client before cloning - - Bugfix in newly introduced large-object-promisor remote support. - - Will merge to 'master'. - source: <20250318110008.656695-1-christian.couder@gmail.com> - - -* ps/ci-meson-check-build-docs (2025-03-12) 1 commit - (merged to 'next' on 2025-03-29 at 5aed226a96) - + ci: perform build and smoke tests for Meson docs - - CI update. - - Will merge to 'master'. - source: <20250312-b4-pks-ci-meson-docs-v1-1-5e7cf7ac959a@pks.im> - - * md/t1403-path-is-file (2025-03-04) 1 commit - - t1403: verify that path exists and is a file + (merged to 'next' on 2025-04-07 at 93087893e8) + + t1403: verify that path exists and is a file Test tweak. - Will merge to 'next'. + Will merge to 'master'. source: <20250304112728.41228-2-danimahendra0904@gmail.com> * sk/clar-trailer-urlmatch-norm-test (2025-03-04) 2 commits - - t/unit-tests: convert urlmatch-normalization test to clar - - t/unit-tests: convert trailer test to use clar + (merged to 'next' on 2025-04-08 at 51cb3c8bce) + + t/unit-tests: convert urlmatch-normalization test to clar + + t/unit-tests: convert trailer test to use clar A few traditional unit tests have been rewritten to use the clar framework. - Will merge to 'next'? + Will merge to 'master'. cf. + cf. source: <20250304113323.10564-1-kuforiji98@gmail.com> -* dm/completion-remote-names-fix (2025-03-23) 2 commits - (merged to 'next' on 2025-03-26 at b9460e20ae) - + completion: fix bugs with slashes in remote names - + completion: add helper to count path components - - The bash command line completion script (in contrib/) has been - updated to cope with remote repository nicknames with slashes in - them. - - Will merge to 'master'. - source: <17274df2746d304db876ebd82ad8d932@mandelberg.org> - - -* kn/non-transactional-batch-updates (2025-03-29) 10 commits - - SQUASH??? - <6141866.lOV4Wx5bFT@cayenne> - - update-ref: add --batch-updates flag for stdin mode - - refs: support rejection in batch updates during F/D checks - - refs: implement batch reference update support - - refs: introduce enum-based transaction error types - - refs/reftable: extract code from the transaction preparation - - refs/files: remove duplicate duplicates check - - refs: move duplicate refname update check to generic layer - - refs/files: remove redundant check in split_symref_update() - - Merge branch 'ps/refname-avail-check-optim' into kn/non-transactional-batch-updates +* kn/non-transactional-batch-updates (2025-04-08) 9 commits + (merged to 'next' on 2025-04-08 at de64e9c49e) + + update-ref: add --batch-updates flag for stdin mode + + refs: support rejection in batch updates during F/D checks + + refs: implement batch reference update support + + refs: introduce enum-based transaction error types + + refs/reftable: extract code from the transaction preparation + + refs/files: remove duplicate duplicates check + + refs: move duplicate refname update check to generic layer + + refs/files: remove redundant check in split_symref_update() + + Merge branch 'ps/refname-avail-check-optim' into kn/non-transactional-batch-updates Updating multiple references have only been possible in all-or-none fashion with transactions, but it can be more efficient to batch @@ -944,64 +795,64 @@ Release tarballs are available at: best-effort manner. A new "best effort batches of updates" mode has been introduced. - Expecting a (small and hopefully final) reroll. - cf. - source: <20250327-245-partially-atomic-ref-updates-v5-0-4db2a3e34404@gmail.com> + Will merge to 'master'. + source: <20250408085120.614893-1-karthik.188@gmail.com> * ps/object-wo-the-repository (2025-03-10) 12 commits - - hash: stop depending on `the_repository` in `null_oid()` - - hash: fix "-Wsign-compare" warnings - - object-file: split out logic regarding hash algorithms - - delta-islands: stop depending on `the_repository` - - object-file-convert: stop depending on `the_repository` - - pack-bitmap-write: stop depending on `the_repository` - - pack-revindex: stop depending on `the_repository` - - pack-check: stop depending on `the_repository` - - environment: move access to "core.bigFileThreshold" into repo settings - - pack-write: stop depending on `the_repository` and `the_hash_algo` - - object: stop depending on `the_repository` - - csum-file: stop depending on `the_repository` + (merged to 'next' on 2025-04-07 at 0cc0c8631d) + + hash: stop depending on `the_repository` in `null_oid()` + + hash: fix "-Wsign-compare" warnings + + object-file: split out logic regarding hash algorithms + + delta-islands: stop depending on `the_repository` + + object-file-convert: stop depending on `the_repository` + + pack-bitmap-write: stop depending on `the_repository` + + pack-revindex: stop depending on `the_repository` + + pack-check: stop depending on `the_repository` + + environment: move access to "core.bigFileThreshold" into repo settings + + pack-write: stop depending on `the_repository` and `the_hash_algo` + + object: stop depending on `the_repository` + + csum-file: stop depending on `the_repository` The object layer has been updated to take an explicit repository instance as a parameter in more code paths. - Will merge to 'next'. + Will merge to 'master'. cf. source: <20250310-b4-pks-objects-without-the-repository-v4-0-f201b8ec57ba@pks.im> -* ps/maintenance-reflog-expire (2025-02-26) 6 commits - - builtin/maintenance: introduce "reflog-expire" task - - builtin/gc: split out function to expire reflog entries - - builtin/reflog: make functions regarding `reflog_expire_options` public - - builtin/reflog: stop storing per-reflog expiry dates globally - - builtin/reflog: stop storing default reflog expiry dates globally - - reflog: rename `cmd_reflog_expire_cb` to `reflog_expire_options` +* ps/maintenance-reflog-expire (2025-04-08) 6 commits + (merged to 'next' on 2025-04-08 at 40d6884143) + + builtin/maintenance: introduce "reflog-expire" task + + builtin/gc: split out function to expire reflog entries + + builtin/reflog: make functions regarding `reflog_expire_options` public + + builtin/reflog: stop storing per-reflog expiry dates globally + + builtin/reflog: stop storing default reflog expiry dates globally + + reflog: rename `cmd_reflog_expire_cb` to `reflog_expire_options` "git maintenance" learns a new task to expire reflog entries. - Expecting a (small and hopefully final) reroll. - cf. - cf. - source: <20250226-pks-maintenance-reflog-expire-v1-0-a1204a814952@pks.im> + Will merge to 'master'. + source: <20250408-pks-maintenance-reflog-expire-v2-0-1ad8634798b7@pks.im> * jk/zlib-inflate-fixes (2025-02-25) 10 commits - - unpack_loose_rest(): rewrite return handling for clarity - - unpack_loose_rest(): simplify error handling - - unpack_loose_rest(): never clean up zstream - - unpack_loose_rest(): avoid numeric comparison of zlib status - - unpack_loose_header(): avoid numeric comparison of zlib status - - git_inflate(): skip zlib_post_call() sanity check on Z_NEED_DICT - - unpack_loose_header(): fix infinite loop on broken zlib input - - unpack_loose_header(): report headers without NUL as "bad" - - unpack_loose_header(): simplify next_out assignment - - loose_object_info(): BUG() on inflating content with unknown type + (merged to 'next' on 2025-04-07 at 4343a155f7) + + unpack_loose_rest(): rewrite return handling for clarity + + unpack_loose_rest(): simplify error handling + + unpack_loose_rest(): never clean up zstream + + unpack_loose_rest(): avoid numeric comparison of zlib status + + unpack_loose_header(): avoid numeric comparison of zlib status + + git_inflate(): skip zlib_post_call() sanity check on Z_NEED_DICT + + unpack_loose_header(): fix infinite loop on broken zlib input + + unpack_loose_header(): report headers without NUL as "bad" + + unpack_loose_header(): simplify next_out assignment + + loose_object_info(): BUG() on inflating content with unknown type Fix our use of zlib corner cases. - Will merge to 'next'. + Will merge to 'master'. source: <20250225062518.GA1293854@coredump.intra.peff.net> @@ -1025,69 +876,14 @@ Release tarballs are available at: * ps/reftable-windows-unlink-fix (2025-02-18) 2 commits - - reftable: ignore file-in-use errors when unlink(3p) fails on Windows - - Merge branch 'ps/reftable-sans-compat-util' into ps/reftable-windows-unlink-fix - (this branch uses ps/reftable-sans-compat-util.) + (merged to 'next' on 2025-04-07 at 88e2a9a077) + + reftable: ignore file-in-use errors when unlink(3p) fails on Windows + + Merge branch 'ps/reftable-sans-compat-util' into ps/reftable-windows-unlink-fix Portability fix. - Will merge to 'next'. - source: <20250206-b4-pks-reftable-win32-in-use-errors-v2-1-56985a4f6186@pks.im> - - -* ps/reftable-sans-compat-util (2025-02-18) 18 commits - (merged to 'next' on 2025-03-29 at 4e9fbae111) - + Makefile: skip reftable library for Coccinelle - + reftable: decouple from Git codebase by pulling in "compat/posix.h" - + git-compat-util.h: split out POSIX-emulating bits - + compat/mingw: split out POSIX-related bits - + reftable/basics: introduce `REFTABLE_UNUSED` annotation - + reftable/basics: stop using `SWAP()` macro - + reftable/stack: stop using `sleep_millisec()` - + reftable/system: introduce `reftable_rand()` - + reftable/reader: stop using `ARRAY_SIZE()` macro - + reftable/basics: provide wrappers for big endian conversion - + reftable/basics: stop using `st_mult()` in array allocators - + reftable: stop using `BUG()` in trivial cases - + reftable/record: don't `BUG()` in `reftable_record_cmp()` - + reftable/record: stop using `BUG()` in `reftable_record_init()` - + reftable/record: stop using `COPY_ARRAY()` - + reftable/blocksource: stop using `xmmap()` - + reftable/stack: stop using `write_in_full()` - + reftable/stack: stop using `read_in_full()` - (this branch is used by ps/reftable-api-revamp and ps/reftable-windows-unlink-fix.) - - Make the code in reftable library less reliant on the service - routines it used to borrow from Git proper, to make it easier to - use by external users of the library. - - Will merge to 'master'. - cf. - source: <20250218-pks-reftable-drop-git-compat-util-v6-0-8c1f39fb4c02@pks.im> - - -* tb/incremental-midx-part-2 (2025-03-21) 14 commits - (merged to 'next' on 2025-03-29 at 1db17d1a9b) - + midx: implement writing incremental MIDX bitmaps - + pack-bitmap.c: use `ewah_or_iterator` for type bitmap iterators - + pack-bitmap.c: keep track of each layer's type bitmaps - + ewah: implement `struct ewah_or_iterator` - + pack-bitmap.c: apply pseudo-merge commits with incremental MIDXs - + pack-bitmap.c: compute disk-usage with incremental MIDXs - + pack-bitmap.c: teach `rev-list --test-bitmap` about incremental MIDXs - + pack-bitmap.c: support bitmap pack-reuse with incremental MIDXs - + pack-bitmap.c: teach `show_objects_for_type()` about incremental MIDXs - + pack-bitmap.c: teach `bitmap_for_commit()` about incremental MIDXs - + pack-bitmap.c: open and store incremental bitmap layers - + pack-revindex: prepare for incremental MIDX bitmaps - + Documentation: describe incremental MIDX bitmaps - + Documentation: remove a "future work" item from the MIDX docs - (this branch is used by ps/cat-file-filter-batch.) - - Incrementally updating multi-pack index files. - Will merge to 'master'. - source: + source: <20250206-b4-pks-reftable-win32-in-use-errors-v2-1-56985a4f6186@pks.im> * ej/cat-file-remote-object-info (2025-02-24) 8 commits @@ -1148,17 +944,13 @@ Release tarballs are available at: source: <3d127f293818f935efdb9ca7bb556e6a8f233ef7.1741975557.git.sam@gentoo.org> --------------------------------------------------- -[Discarded] - * jc/doc-attr-tree (2024-12-14) 1 commit - - doc: give attr.tree a bit more visibility + . doc: give attr.tree a bit more visibility Make sure that "git --attr-source=X", GIT_ATTR_SOURCE, and attr.tree configuration variables appear at the same places in the documentation. - Will discard. + Discarded. cf. <20241216111112.GA2201417@coredump.intra.peff.net> source: -