To: git@vger.kernel.org
-Subject: What's cooking in git.git (Nov 2025, #03; Fri, 7)
-X-master-at: 4badef0c3503dc29059d678abba7fac0f042bc84
-X-next-at: 30608eb744ed5714313f016f8dabdd2811e7cf7c
+Subject: What's cooking in git.git (Nov 2025, #04; Fri, 14)
+X-master-at: fd372d9b1a69a01a676398882bbe3840bf51fe72
+X-next-at: 230fcf2819a6e6e5372cd128168db10ebbe23885
Bcc: lwn@lwn.net, gitster@pobox.com
-What's cooking in git.git (Nov 2025, #03; Fri, 7)
+What's cooking in git.git (Nov 2025, #04; Fri, 14)
--------------------------------------------------
Here are the topics that have been cooking in my tree. Commits
no activity (of course they can be resubmit when new interests
arise).
-Git 2.52-rc1 has been tagged. Hopefully we can have a reasonably
-solid Git 2.52 in the middle of this month. Until then let's
-concentrate on finding and fixing regressions introduced during this
-cycle, if any.
-
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
repositories have only a subset of branches.
--------------------------------------------------
[Graduated to 'master']
-* cc/fast-import-export-i18n-cleanup (2025-10-30) 5 commits
- (merged to 'next' on 2025-11-03 at 41a35c3e52)
- + gpg-interface: mark a string for translation
- + fast-import: mark strings for translation
- + fast-export: mark strings for translation
- + gpg-interface: use left shift to define GPG_VERIFY_*
- + gpg-interface: simplify ssh fingerprint parsing
+* dk/make-git-contacts-executable (2025-11-04) 1 commit
+ (merged to 'next' on 2025-11-07 at 30608eb744)
+ + perl: also mark git-contacts executable
- Messages from fast-import/export are now marked for i18n.
- source: <20251030123332.3337684-1-christian.couder@gmail.com>
+ Building "git contacts" script (in contrib/) left the resulting
+ file unexecutable, which has been corrected.
+ source: <7fbb341e8f05fcde3a1543e3bb4e5a3ec1101692.1762280097.git.ben.knoble+github@gmail.com>
-* dk/parseopt-optional-filename-fixes (2025-11-04) 6 commits
- (merged to 'next' on 2025-11-04 at 1cb7573414)
- + parseopt: remove unreachable code
- + parseopt: restore const qualifier to parsed filename
- + config: use boolean type for a simple flag
- + parseopt: use boolean type for a simple flag
- + doc: clarify command equivalence comment
- + parseopt: fix :(optional) at command line to only ignore missing files
+* dk/meson-html-dir (2025-11-04) 1 commit
+ (merged to 'next' on 2025-11-07 at b30cf1f060)
+ + meson: make GIT_HTML_PATH configurable
- A recently added configuration variable and command line option
- syntax ":(optional)" for values that are of filename type
- inconsistently behaved on an empty file (configuration took it
- happily, while the command line option pretended as if it did not
- exist), which has been corrected.
- source: <cover.1762100242.git.ben.knoble+github@gmail.com>
- source: <xmqq1pmdr9qu.fsf@gitster.g>
+ The build procedure based on meson learned to allow builders to
+ specify the directory to install HTML documents.
+ source: <385992f6020703558f0ba75a1be6c4f9dae08b83.1762264709.git.ben.knoble+github@gmail.com>
-* js/ci-github-actions-update (2025-11-06) 1 commit
- (merged to 'next' on 2025-11-06 at 68957de207)
- + ci: update {download,upload}-artifact Action versions
+* tc/last-modified-active-paths-optimization (2025-10-23) 1 commit
+ (merged to 'next' on 2025-11-03 at 9ab444edfb)
+ + last-modified: implement faster algorithm
- CI updates.
- source: <pull.1996.git.1762437576488.gitgitgadget@gmail.com>
+ "git last-modified" was optimized by narrowing the set of paths to
+ follow as it dug deeper in the history.
+ source: <20251023-b4-toon-last-modified-faster-v3-1-40a4ddbbadec@iotcl.com>
-* pk/reflog-migrate-message-fix (2025-11-05) 1 commit
- (merged to 'next' on 2025-11-06 at c9c574a496)
- + refs: add missing space in messages
+* tu/credential-wincred-makefile-update (2025-11-05) 1 commit
+ (merged to 'next' on 2025-11-07 at ed74befe91)
+ + wincred: align Makefile with other Makefiles in contrib
- Message fix.
- source: <a8220721-3260-15cb-6960-ca8b6433d7b5@softwolves.pp.se>
+ Build procedure for Wincred credential helper has been updated.
+ source: <3869ec21-e20d-cf9b-5913-6389c372a5f0@mailbox.tu-dresden.de>
--------------------------------------------------
[New Topics]
+* rs/diff-quiet-no-rename (2025-11-09) 1 commit
+ (merged to 'next' on 2025-11-14 at 2d94808185)
+ + diff: disable rename detection with --quiet
+
+ As "git diff --quiet" only cares about the existence of any
+ changes, disable rename/copy detection to skip more expensive
+ processing whose result will be discarded anyway.
+
+ Will cook in 'next'.
+ source: <8796cd59-2335-4674-823d-d682ce7b7f8e@web.de>
+
+
+* jc/gitattributes-whitespace-no-indent-fix (2025-11-11) 1 commit
+ (merged to 'next' on 2025-11-14 at 230fcf2819)
+ + .gitattributes: remove misspelled no-op whitespace attribute
+
+ Ever since we added whitespace rules for this project, we misspelt
+ an entry, which has been corrected.
+
+ Will cook in 'next'.
+ source: <xmqqv7jgwgxb.fsf@gitster.g>
+
+
+* kn/fix-fetch-backfill-tag-with-batched-ref-updates (2025-11-13) 2 commits
+ - fetch: fix non-conflicting tags not being committed
+ - fetch: extract out reference committing logic
+
+ "git fetch" that involves fetching tags, when a tag being fetched
+ needs to overwrite existing one, failed to fetch other tags, which
+ has been corrected.
+
+ Will merge to 'next'?
+ source: <20251113-fix-tags-not-fetching-v5-0-371ea7ec638d@gmail.com>
+
+
+* jk/asan-bonanza (2025-11-12) 10 commits
+ - amend! Makefile: turn on NO_MMAP when building with ASan
+ - t: enable ASan's strict_string_checks option
+ - fsck: avoid parse_timestamp() on buffer that isn't NUL-terminated
+ - fsck: remove redundant date timestamp check
+ - fsck: avoid strcspn() in fsck_ident()
+ - fsck: assert newline presence in fsck_ident()
+ - cache-tree: avoid strtol() on non-string buffer
+ - Makefile: turn on NO_MMAP when building with ASan
+ - pack-bitmap: handle name-hash lookups in incremental bitmaps
+ - compat/mmap: mark unused argument in git_munmap()
+
+ Various issues detected by Asan have been corrected.
+
+ Expecting a reroll?
+ cf. <aRbToFLhzewwBaSv@pks.im>
+ source: <20251112075522.GA978866@coredump.intra.peff.net>
+
+
+* jk/attr-macroexpand-wo-recursion (2025-11-11) 1 commit
+ - attr: avoid recursion when expanding attribute macros
+
+ The code to expand attribute macros has been rewritten to avoid
+ recursion to avoid running out of stack space in an uncontrolled
+ way.
+
+ Will merge to 'next'?
+ source: <20251111223647.GA4055973@coredump.intra.peff.net>
+
+
+* bc/submodule-force-same-hash (2025-11-12) 1 commit
+ - object-file: disallow adding submodules of different hash algo
+
+ Adding a repository that uses a different hash function is a no-no,
+ but "git submodule add" did nt prevent it, which has been corrected.
+
+ Will merge to 'next'?
+ source: <20251112235434.1499699-1-sandals@crustytoothpaste.net>
+
+
+* jc/ci-drop-p4-macosx (2025-11-14) 1 commit
+ - CI: drop Perforce tests from macOSX jobs
+
+ Drop P4 tests on macOSX platform on GitHub Actions CI.
+
+ Comments?
+ source: <xmqqqzu0gxq2.fsf_-_@gitster.g>
+
+
+* jx/repo-struct-utf8width-fix (2025-11-13) 2 commits
+ - builtin/repo: fix table alignment for UTF-8 characters
+ - t/unit-tests: add UTF-8 width tests for CJK chars
+
+ The "git repo structure" subcommand tried to align its output but
+ mixed up byte count and display column width, which has been
+ corrected.
+
+ Comments?
+ source: <cover.1763098804.git.worldhello.net@gmail.com>
+
+
+* kh/doc-commit-extra-references (2025-11-14) 1 commit
+ - doc: commit: link to git-status(1) on all format options
+
+ Doc update.
+
+ Will merge to 'next'?
+ source: <c4349a03724.1763129061.git.code@khaugsbakk.name>
+
+
+* kn/osxkeychain-idempotent-store-fix (2025-11-13) 1 commit
+ - osxkeychain: avoid incorrectly skipping store operation
+
+ An earlier check added to osx keychain credential helper to avoid
+ storing the credential itself supplied was overeager and rejected
+ credential material supplied by other helper backends that it would
+ have wanted to store, which has been corrected.
+
+ Will merge to 'next'?
+ source: <pull.1999.v2.git.1763100270949.gitgitgadget@gmail.com>
+
+--------------------------------------------------
+[Cooking]
+
* lc/rebase-trailer (2025-11-05) 4 commits
- rebase: support --trailer
- trailer: append trailers in-process and drop the fork to `interpret-trailers`
* ps/ref-peeled-tags-fixes (2025-11-06) 2 commits
- - object: fix performance regression when peeling tags
- - Merge branch 'ps/ref-peeled-tags' into ps/ref-peeled-tags-fixes
+ (merged to 'next' on 2025-11-11 at 3549877a16)
+ + object: fix performance regression when peeling tags
+ + Merge branch 'ps/ref-peeled-tags' into ps/ref-peeled-tags-fixes
(this branch uses ps/ref-peeled-tags.)
Another fix-up to "peeled-tags" topic.
- Will merge to 'next'.
- source: <20251106-b4-pks-peel-object-performance-regression-v1-1-a386147750b0@pks.im>
-
-
-* tu/credential-wincred-makefile-update (2025-11-05) 1 commit
- (merged to 'next' on 2025-11-07 at ed74befe91)
- + wincred: align Makefile with other Makefiles in contrib
-
- Build procedure for Wincred credential helper has been updated.
-
Will cook in 'next'.
- source: <3869ec21-e20d-cf9b-5913-6389c372a5f0@mailbox.tu-dresden.de>
+ source: <20251106-b4-pks-peel-object-performance-regression-v1-1-a386147750b0@pks.im>
---------------------------------------------------
-[Cooking]
* en/ort-rename-another-fix (2025-11-03) 3 commits
- merge-ort: fix failing merges in special corner case
source: <pull.1992.git.1762192908.gitgitgadget@gmail.com>
-* dk/make-git-contacts-executable (2025-11-04) 1 commit
- (merged to 'next' on 2025-11-07 at 30608eb744)
- + perl: also mark git-contacts executable
-
- Building "git contacts" script (in contrib/) leaves the resulting
- file unexecutable, which has been corrected.
-
- Will cook in 'next'.
- source: <7fbb341e8f05fcde3a1543e3bb4e5a3ec1101692.1762280097.git.ben.knoble+github@gmail.com>
-
-
-* dk/meson-html-dir (2025-11-04) 1 commit
- (merged to 'next' on 2025-11-07 at b30cf1f060)
- + meson: make GIT_HTML_PATH configurable
-
- The build procedure based on meson learned to allow builders to
- specify the directory to install HTML documents.
-
- Will cook in 'next'.
- source: <385992f6020703558f0ba75a1be6c4f9dae08b83.1762264709.git.ben.knoble+github@gmail.com>
-
-
-* kn/maintenance-is-needed (2025-11-06) 7 commits
- - maintenance: add 'is-needed' subcommand
- - maintenance: add checking logic in `pack_refs_condition()`
- - refs: add a `optimize_required` field to `struct ref_storage_be`
- - reftable/stack: add function to check if optimization is required
- - reftable/stack: return stack segments directly
- - Merge branch 'kn/refs-optim-cleanup' into kn/maintenance-is-needed
- - Merge branch 'ps/ref-peeled-tags' into kn/maintenance-is-needed
+* kn/maintenance-is-needed (2025-11-08) 7 commits
+ (merged to 'next' on 2025-11-14 at ed70525e16)
+ + maintenance: add 'is-needed' subcommand
+ + maintenance: add checking logic in `pack_refs_condition()`
+ + refs: add a `optimize_required` field to `struct ref_storage_be`
+ + reftable/stack: add function to check if optimization is required
+ + reftable/stack: return stack segments directly
+ + Merge branch 'kn/refs-optim-cleanup' into kn/maintenance-is-needed
+ + Merge branch 'ps/ref-peeled-tags' into kn/maintenance-is-needed
(this branch uses kn/refs-optim-cleanup and ps/ref-peeled-tags.)
"git maintenance" command learned "is-needed" subcommand to tell if
it is necessary to perform various maintenance tasks.
- Will merge to 'next'?
- source: <20251106-562-add-sub-command-to-check-if-maintenance-is-needed-v3-0-d611a2a95cf5@gmail.com>
+ Will cook in 'next'.
+ source: <20251108-562-add-sub-command-to-check-if-maintenance-is-needed-v4-0-a90f229b6023@gmail.com>
* qj/doc-http-bad-want-response (2025-11-05) 1 commit
* cc/fast-import-strip-if-invalid (2025-11-04) 3 commits
- - fast-import: add 'strip-if-invalid' mode to --signed-commits=<mode>
- - commit: refactor verify_commit_buffer()
- - fast-import: refactor finalize_commit_buffer()
+ . fast-import: add 'strip-if-invalid' mode to --signed-commits=<mode>
+ . commit: refactor verify_commit_buffer()
+ . fast-import: refactor finalize_commit_buffer()
"git fast-import" learns "--strip-if-invalid" option to drop
invalid cryptographic signature from objects.
- Comments?
+ Expecting a reroll. Its test does not work well with existing tests
+ cf. <xmqqjz00e5ns.fsf@gitster.g>
source: <20251105061918.3688870-1-christian.couder@gmail.com>
-* jc/whitespace-incomplete-line (2025-11-05) 12 commits
+* jc/whitespace-incomplete-line (2025-11-12) 12 commits
- attr: enable incomplete-line whitespace error for this project
- diff: highlight and error out on incomplete lines
- apply: check and fix incomplete lines
- diff: update the way rewrite diff handles incomplete lines
- diff: call emit_callback ecbdata everywhere
- diff: refactor output of incomplete line
- - diff: fix incorrect counting of line numbers
+ - diff: keep track of the type of the last line seen
- diff: correct suppress_blank_empty hack
- diff: emit_line_ws_markup() if/else style fix
- whitespace: correct bit assignment comments
"incomplete-line".
Comments?
- source: <20251105213052.1499224-1-gitster@pobox.com>
-
-
-* tc/last-modified-active-paths-optimization (2025-10-23) 1 commit
- (merged to 'next' on 2025-11-03 at 9ab444edfb)
- + last-modified: implement faster algorithm
-
- "git last-modified" was optimized by narrowing the set of paths to
- follow as it dug deeper in the history.
-
- Will cook in 'next'.
- source: <20251023-b4-toon-last-modified-faster-v3-1-40a4ddbbadec@iotcl.com>
+ source: <20251112220258.1009253-1-gitster@pobox.com>
* ps/object-source-loose (2025-11-02) 13 commits
source: <20251103-b4-pks-odb-loose-backend-v3-0-6a61ea977393@pks.im>
-* bc/sha1-256-interop-02 (2025-10-29) 15 commits
+* bc/sha1-256-interop-02 (2025-11-14) 16 commits
+ - SQUASH??? cargo clippy
- SQUASH??? downgrade build.rs syntax
- object-file-convert: always make sure object ID algo is valid
- rust: add a small wrapper around the hashfile code
source: <20251026225409.46647-1-lucasseikioshiro@gmail.com>
-* en/xdiff-cleanup-2 (2025-10-29) 10 commits
+* en/xdiff-cleanup-2 (2025-11-11) 10 commits
- xdiff: rename rindex -> reference_index
- xdiff: change rindex from long to size_t in xdfile_t
- xdiff: make xdfile_t.nreff a size_t instead of long
- xdiff: use unambiguous types in xdl_hash_record()
- xdiff: use size_t for xrecord_t.size
- xdiff: make xrecord_t.ptr a uint8_t instead of char
- - xdiff: use ssize_t for dstart/dend, make them last in xdfile_t
+ - xdiff: use ptrdiff_t for dstart/dend
- doc: define unambiguous type mappings across C and Rust
Code clean-up.
Comments?
- source: <pull.2070.v2.git.git.1761776388.gitgitgadget@gmail.com>
+ source: <pull.2070.v3.git.git.1762890152.gitgitgadget@gmail.com>
* ar/run-command-hook (2025-10-17) 10 commits
source: <20251023-b4-pks-ref-filter-skip-parsing-objects-v4-0-2be68ce82c9a@pks.im>
-* je/doc-data-model (2025-10-31) 2 commits
- - SQUASH??? fix xml that does not validate
+* je/doc-data-model (2025-11-12) 1 commit
- doc: add an explanation of Git's data model
Add a new manual that describes the data model.
- Expecting a (hopefully small and final) reroll?
- cf. <aQhcZwv0PdwNc6RW@pks.im>
- source: <pull.1981.v5.git.1761856336360.gitgitgadget@gmail.com>
+ Will merge to 'next'?
+ source: <pull.1981.v7.git.1762977200244.gitgitgadget@gmail.com>
* ps/history (2025-10-27) 12 commits