* What's cooking in git.git (Sep 2025, #06; Mon, 15)
@ 2025-09-15 19:19 Junio C Hamano
2025-09-16 6:53 ` Patrick Steinhardt
2025-09-16 20:54 ` Kristoffer Haugsbakk
0 siblings, 2 replies; 7+ messages in thread
From: Junio C Hamano @ 2025-09-15 19:19 UTC (permalink / raw)
To: git
Here are the topics that have been cooking in my tree. Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release). Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive. A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).
There are a few topics that have been expecting a reroll for close
to a month. I've moved them to the [Stalled] section below. Let's
tighten rules around these topics a bit so that we can keep the tree
somewhat cleaner.
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.
With maint, master, next, seen, todo:
git://git.kernel.org/pub/scm/git/git.git/
git://repo.or.cz/alt-git.git/
https://kernel.googlesource.com/pub/scm/git/git/
https://github.com/git/git/
https://gitlab.com/git-scm/git/
With all the integration branches and topics broken out:
https://github.com/gitster/git/
Even though the preformatted documentation in HTML and man format
are not sources, they are published in these repositories for
convenience (replace "htmldocs" with "manpages" for the manual
pages):
git://git.kernel.org/pub/scm/git/git-htmldocs.git/
https://github.com/gitster/git-htmldocs.git/
Release tarballs are available at:
https://www.kernel.org/pub/software/scm/git/
--------------------------------------------------
[Graduated to 'master']
* ds/midx-write-fixes (2025-09-05) 6 commits
(merged to 'next' on 2025-09-08 at 74b87ce5ba)
+ midx-write: simplify error cases
+ midx-write: reenable signed comparison errors
+ midx-write: use uint32_t for preferred_pack_idx
+ midx-write: use cleanup when incremental midx fails
+ midx-write: put failing response value back
+ midx-write: only load initialized packs
Fixes multiple crashes around midx write-out codepaths.
source: <pull.1965.v3.git.1757100378.gitgitgadget@gmail.com>
* jt/de-global-bulk-checkin (2025-08-22) 4 commits
(merged to 'next' on 2025-09-08 at f544afcab3)
+ bulk-checkin: use repository variable from transaction
+ bulk-checkin: require transaction for index_blob_bulk_checkin()
+ bulk-checkin: remove global transaction state
+ bulk-checkin: introduce object database transaction structure
(this branch is used by jt/odb-transaction.)
The bulk-checkin code used to depend on a file-scope static
singleton variable, which has been updated to pass an instance
throughout the callchain.
cf. <aLmhjw2xAbUogL1L@pks.im>
source: <20250822213500.1488064-1-jltobler@gmail.com>
* lo/repo-info-step-2 (2025-09-04) 3 commits
(merged to 'next' on 2025-09-08 at 1a58ac3835)
+ repo: add the field objects.format
+ repo: add the flag -z as an alias for --format=nul
+ Merge branch 'lo/repo-info' into lo/repo-info-step-2
"repo info" learns a short-hand option "-z" that is the same as
"--format=nul", and learns to report the objects format used in the
repository.
source: <20250904134017.47364-1-lucasseikioshiro@gmail.com>
* mm/worktree-doc-typofix (2025-09-03) 1 commit
(merged to 'next' on 2025-09-09 at afdaf0ed07)
+ docs: fix typo in worktree.adoc 'extension'
Docfix.
source: <pull.1967.git.1756911040439.gitgitgadget@gmail.com>
* ps/upload-pack-oom-protection (2025-09-04) 2 commits
(merged to 'next' on 2025-09-08 at 2b543d9b53)
+ upload-pack: don't ACK non-commits repeatedly in protocol v2
+ t5530: modernize tests
A broken or malicious "git fetch" can say that it has the same
object for many many times, and the upload-pack serving it can
exhaust memory storing them redundantly, which has been corrected.
source: <20250905-b4-pks-upload-pack-repeated-non-commit-acks-v2-0-d2e67f3cb94c@pks.im>
* rs/object-name-extend-abbrev-len-update (2025-09-04) 1 commit
(merged to 'next' on 2025-09-08 at 469498c610)
+ object-name: declare pointer type of extend_abbrev_len()'s 2nd parameter
Code clean-up.
source: <e0bc9a67-faa9-4218-a55a-c7d53c15cfce@web.de>
--------------------------------------------------
[New Topics]
* je/doc-push (2025-09-12) 4 commits
- doc: git-push: clarify "what to push"
- doc: git-push: clarify "where to push"
- doc: add an UPSTREAM BRANCHES section to pull/push/fetch
- doc: git-push: clarify intro
Doc updates.
Comments?
source: <pull.1964.v2.git.1757703309.gitgitgadget@gmail.com>
--------------------------------------------------
[Stalled]
These topics have been expecting updates for quite some time. I'll
eject any of them when they start to conflict with other topics in
'seen' and may drop them from my tree when they are dormant for too
long (let's say 8 weeks is way too long, for now). After that, they
can be proposed again by rerolling them in a shape that would work
well with other topics in 'seen' (and of course 'next' and
"master').
* lc/rebase-trailer (2025-08-03) 2 commits
- rebase: support --trailer
- trailer: append trailers in-process and drop the fork to `interpret-trailers`
Expecting a reroll.
cf. <198826af571.62b85cb31711042.2415806544948206668@linux.beauty>
cf. <xmqqiki7qasu.fsf@gitster.g>
source: <20250803150059.402017-1-me@linux.beauty>
* ac/deglobal-sparse-variables (2025-07-18) 3 commits
. environment: remove the global variable 'sparse_expect_files_outside_of_patterns'
. environment: move access to "core.sparsecheckoutcone" into repo_settings
. environment: move access to "core.sparsecheckout" into repo_settings
Two global variables related to sparse checkout have been moved to
the repository settings structure.
Expecting a reroll.
cf. <CAE7as+bnG6KgA8X_n36pqP15bmyM6re+xEb1MOXKvZSUdJ8Arg@mail.gmail.com>
Ejected out of 'seen' for now.
source: <cover.1752882401.git.ayu.chandekar@gmail.com>
* tb/prepare-midx-pack-cleanup (2025-05-28) 5 commits
. midx: return a `packed_git` pointer from `prepare_midx_pack()`
. midx-write.c: extract inner loop from fill_packs_from_midx()
. midx-write.c: guard against incremental MIDXs in want_included_pack()
. midx: access pack names through `nth_midxed_pack_name()`
. Merge branch 'ps/midx-negative-packfile-cache' into tb/prepare-midx-pack-cleanup
Improvement on Multi-pack-index API.
Expecting a reroll.
cf. <20250530065034.GC1321283@coredump.intra.peff.net>
source: <cover.1748473122.git.me@ttaylorr.com>
* cc/promisor-remote-capability (2025-09-07) 7 commits
(merged to 'next' on 2025-09-15 at 367d83c08c)
+ promisor-remote: use string_list_split() in mark_remotes_as_accepted()
+ promisor-remote: allow a client to check fields
+ promisor-remote: use string_list_split() in filter_promisor_remote()
+ promisor-remote: refactor how we parse advertised fields
+ promisor-remote: use string constants for 'name' and 'url' too
+ promisor-remote: allow a server to advertise more fields
+ promisor-remote: refactor to get rid of 'struct strvec'
The "promisor-remote" capability mechanism has been updated to
allow the "partialCloneFilter" settings and the "token" value to be
communicated from the server side.
Will merge to 'master'.
source: <20250908053056.956907-1-christian.couder@gmail.com>
* ar/submodule-gitdir-tweak (2025-09-08) 10 commits
- t7425: add gitdir encoding tests
- t7450: move nested gitdir tests to t7425
- submodule: remove validate_submodule_git_dir()
- submodule: error out if gitdir name is too long
- submodule: encode gitdir paths to avoid conflicts
- strbuf: bring back is_rfc3986_unreserved
- t7425: add basic mixed submodule gitdir path tests
- submodule: add gitdir path config override
- submodule: create new gitdirs under submodules path
- submodule--helper: use submodule_name_to_gitdir in add_submodule
Avoid local submodule repository directory paths overlapping with
each other by encoding submodule names before using them as path
components.
source: <20250908140117.262205-1-adrian.ratiu@collabora.com>
--------------------------------------------------
[Cooking]
* rs/get-oid-with-flags-cleanup (2025-09-10) 1 commit
(merged to 'next' on 2025-09-15 at ff8d1faae9)
+ use repo_get_oid_with_flags()
Code clean-up.
Will merge to 'master'.
source: <906196ac-2fd7-4c07-9e8f-22d67b0b64f9@web.de>
* cs/subtree-squash-split-fix (2025-09-09) 1 commit
(merged to 'next' on 2025-09-15 at 4206316342)
+ contrib/subtree: fix split with squashed subtrees
"git subtree" (in contrib/) did not work correctly when splitting
squashed subtrees, which has been improved.
Will merge to 'master'.
source: <20250910031124.1807856-1-ask+git@howdoi.land>
* ps/clar-updates (2025-09-10) 1 commit
(merged to 'next' on 2025-09-15 at 73402f7652)
+ t/unit-tests: update clar to fcbed04
Import a newer version of the clar unit testing framework.
Will merge to 'master'.
source: <20250910-b4-pks-clar-update-v1-1-26a196237e0a@pks.im>
* ps/config-get-color-fixes (2025-09-11) 5 commits
- builtin/config: do not spawn pager when printing color codes
- builtin/config: special-case retrieving colors without a key
- builtin/config: do not die in `get_color()`
- t1300: small style fixups
- t1300: write test expectations in the test's body
The use of "git config get" command to learn how ANSI color
sequence is for a particular type, e.g., "git config get
--type=color --default=reset no.such.thing", isn't very ergonomic.
Comments?
source: <20250911-pks-config-color-v1-0-3a7c79df65b1@pks.im>
* ps/meson-build-docs (2025-09-11) 3 commits
- ci: don't compile whole project when testing docs with Meson
- meson: print docs backend as part of the summary
- meson: introduce a "docs" alias to compile documentation only
The build procedure based on meson learned a target to only build
documentation, similar to "make doc".
Comments?
source: <20250911-b4-pks-meson-docs-target-v1-0-a92c666ecef9@pks.im>
* ps/odb-clean-stale-wrappers (2025-09-12) 2 commits
- fixup! odb: drop deprecated wrapper functions
- odb: drop deprecated wrapper functions
Code clean-up.
Breaks build when merged to 'seen'.
cf. <20250910153759.GA562601@coredump.intra.peff.net>
source: <20250910-b4-pks-odb-drop-wrappers-v1-1-6ed660cb1eec@pks.im>
* jt/odb-transaction (2025-09-09) 7 commits
- odb: add transaction interface
- object-file: update naming from bulk-checkin
- object-file: relocate ODB transaction code
- bulk-checkin: drop flush_odb_transaction()
- builtin/update-index: end ODB transaction when --verbose is specified
- bulk-checkin: remove ODB transaction nesting
- Merge branch 'jt/de-global-bulk-checkin' into jt/odb-transaction
Continue the work to build on the bulk-checkin infrastructure to
create many objects at once in a transaction and abstract it into
the generic object layer.
Comments?
source: <20250909191134.555689-1-jltobler@gmail.com>
* cc/fast-import-strip-signed-commits (2025-09-12) 2 commits
- fast-import: add '--signed-commits=<mode>' option
- gpg-interface: refactor 'enum sign_mode' parsing
"git fast-import" learned that "--signed-commits=<how>" option that
corresponds to that of "git fast-export".
Comments?
source: <20250912124042.2523683-1-christian.couder@gmail.com>
* pw/3.0-default-initial-branch-to-main (2025-09-10) 4 commits
- t0613: stop setting default initial branch
- t9902: switch default branch name to main
- t4013: switch default branch name to main
- breaking-changes: switch default branch to main
Declare that "git init" that is not otherwise configured uses
'main' as the initial branch, not 'master', starting Git 3.0.
Comments?
source: <cover.1757518141.git.phillip.wood@dunelm.org.uk>
* ps/commit-graph-per-object-source (2025-09-04) 6 commits
- odb: move commit-graph into the object sources
- commit-graph: pass graphs that are to be merged as parameter
- commit-graph: return commit graph from `repo_find_commit_pos_in_graph()`
- commit-graph: return the prepared commit graph from `prepare_commit_graph()`
- revision: drop explicit check for commit graph
- blame: drop explicit check for commit graph
Declare commit-graph is per object_source, which may not be a good idea.
cf. <cf7aeda1-297a-4805-b0ae-e379ce11bbcf@gmail.com>
source: <20250904-b4-pks-commit-graph-via-source-v1-0-d932c2481e1a@pks.im>
* ps/rust-balloon (2025-09-10) 9 commits
- ci: enable Rust for breaking-changes jobs
- ci: convert "pedantic" job into full build with breaking changes
- BreakingChanges: announce Rust becoming mandatory
- varint: reimplement as test balloon for Rust
- varint: use explicit width for integers
- help: report on whether or not Rust is enabled
- Makefile: introduce infrastructure to build internal Rust library
- Makefile: reorder sources after includes
- meson: add infrastructure to build internal Rust library
Dip our toes a bit to (optionally) use Rust implemented helper
called from our C code.
Comments?
source: <20250910-b4-pks-rust-breaking-change-v4-0-4a63fc69278d@pks.im>
* kh/doc-fast-import-markup-fix (2025-09-08) 1 commit
(merged to 'next' on 2025-09-12 at d56e1334b9)
+ doc: fast-import: replace literal block with paragraph
Doc mark-up fix.
Will merge to 'master'.
source: <09aaad696895c18c6d4dda7d6a2f4b77f84f39ba.1757363213.git.code@khaugsbakk.name>
* ms/refs-optimize (2025-09-06) 5 commits
- t: add test for git refs optimize subcommand
- t0601: refactor tests to be shareable
- builtin/refs: add optimize subcommand
- doc: factor out common option
- builtin/pack-refs: factor out core logic into a shared library
"git refs optimize" is added for not very well explained reason
despite it does the same thing as "git pack-refs"...
Expecting a reroll.
source: <20250906075147.1076656-1-meetsoni3017@gmail.com>
* sj/string-list (2025-09-07) 4 commits
- refs: enable sign compare warnings check
- string-list: change "string_list_find_insert_index" return type to "size_t"
- string-list: replace negative index encoding with "exact_match" parameter
- string-list: allow passing NULL for `get_entry_index`
The "string-list" API function to find where a given string would
be inserted got updated so that it can use unrealistically huge
array index that would only fit in size_t but not int or ssize_t
to achieve unstated goal.
Expecting a reroll.
source: <aL21kDwK-zGZyJ9q@ArchLinux>
* ps/packfile-store (2025-09-09) 16 commits
- packfile: refactor `get_packed_git_mru()` to work on packfile store
- packfile: refactor `get_all_packs()` to work on packfile store
- packfile: remove `get_packed_git()`
- packfile: move `get_multi_pack_index()` into "midx.c"
- packfile: introduce function to load and add packfiles
- packfile: refactor `install_packed_git()` to work on packfile store
- packfile: split up responsibilities of `reprepare_packed_git()`
- packfile: refactor `prepare_packed_git()` to work on packfile store
- packfile: reorder functions to avoid function declaration
- odb: move kept cache into `struct packfile_store`
- odb: move MRU list of packfiles into `struct packfile_store`
- odb: move packfile map into `struct packfile_store`
- odb: move initialization bit into `struct packfile_store`
- odb: move list of packfiles into `struct packfile_store`
- packfile: introduce a new `struct packfile_store`
- Merge branch 'ps/object-store-midx-dedup-info' into ps/packfile-store
Code clean-up around the in-core list of all the pack files and
object database(s).
Comments?
source: <20250909-b4-pks-packfiles-store-v4-0-151c4ba3619f@pks.im>
* kn/refs-files-case-insensitive (2025-09-13) 4 commits
- refs/files: handle D/F conflicts during locking
- refs/files: handle F/D conflicts in case-insensitive FS
- refs/files: use correct error type when lock exists
- refs/files: catch conflicts on case-insensitive file-systems
Deal more gracefully with directory / file conflicts when the files
backend is used for ref storage, by failing only the ones that are
involved in the conflict while allowing others.
Comments?
source: <20250913-587-git-fetch-1-fails-fetches-on-case-insensitive-repositories-v3-0-195569740b57@gmail.com>
* ag/doc-sendmail-gmail-example-update (2025-08-26) 1 commit
(merged to 'next' on 2025-09-12 at 54e0dab4b0)
+ docs: update sendmail docs to use more secure SMTP server for Gmail
Doc update.
Will merge to 'master'.
source: <20250826150919.5239-1-gargaditya08@live.com>
* en/rust-xdiff (2025-09-07) 17 commits
- xdiff: change the types of dstart, dend, rchg, and rindex in xdfile_t
- xdiff: make xdfile_t.nreff a usize instead of long
- xdiff: make xdfile_t.nrec a usize instead of long
- xdiff: split xrecord_t.ha into line_hash and minimal_perfect_hash
- xdiff: make xrecord_t.size a usize instead of long
- xdiff: make xrecord_t.ptr a u8 instead of char
- xdiff: include compat/rust_types.h
- compat/rust_types.h: define rust primitive types
- xdiff: treat xdfile_t.rchg like an enum
- xdiff: delete chastore from xdfile_t, view with --color-words
- xdiff: delete fields ha, line, size in xdlclass_t in favor of an xrecord_t
- xdiff: delete redundant array xdfile_t.ha
- xdiff: delete struct diffdata_t
- xdiff: delete xdl_get_rec() in xemit
- xdiff: delete unnecessary fields from xrecord_t and xdfile_t
- xdiff: delete local variables and initialize/free xdfile_t directly
- xdiff: delete static forward declarations in xprepare
Rust! Not Rust, though ;-)
Comments?
source: <pull.2048.git.git.1757274320.gitgitgadget@gmail.com>
* je/doc-checkout (2025-09-10) 7 commits
- doc: git-checkout: clarify restoring files section
- doc: git-checkout: split up restoring files section
- doc: git-checkout: deduplicate --detach explanation
- doc: git-checkout: clarify `-b` and `-B`
- doc: git-checkout: clarify `git checkout <branch>`
- doc: git-checkout: clarify ARGUMENT DISAMBIGUATION
- doc: git-checkout: clarify intro sentence
Doc updates.
Comments?
source: <pull.1962.v4.git.1757531669.gitgitgadget@gmail.com>
* kn/clang-format-bitfields (2025-08-26) 1 commit
(merged to 'next' on 2025-09-12 at 62dd6102f6)
+ Documentation: note styling for bit fields
CodingGuidelines now spells out how bitfields are to be written.
Will merge to 'master'.
source: <20250826121928.22317-1-karthik.188@gmail.com>
* jk/curl-global-trace-components (2025-08-27) 1 commit
(merged to 'next' on 2025-09-12 at 37a826f245)
+ curl: add support for curl_global_trace() components
Adjust to the way newer versions of cURL selectivel enables tracing
options, so that our tests can continue to work.
Will merge to 'master'.
source: <20250827080702.GA3572995@coredump.intra.peff.net>
* kh/you-still-use-whatchanged-fix (2025-09-14) 8 commits
- BreakingChanges: remove claim about whatchanged reports
- whatchanged: remove not-even-shorter clause
- whatchanged: hint about git-log(1) and aliasing
- you-still-use-that??: help the user help themselves
- t0014: test shadowing of aliases for a sample of builtins
- git: allow alias-shadowing deprecated builtins
- git: move seen-alias bookkeeping into handle_alias(...)
- git: add `deprecated` category to --list-cmds
Update "do you still use it?" message given by a command that is
deeply deprecated and allow us to suggest alternatives.
Ready?
source: <cover.1757879060.git.code@khaugsbakk.name>
* pc/range-diff-memory-limit (2025-08-29) 1 commit
(merged to 'next' on 2025-09-12 at 022fe71829)
+ range-diff: add configurable memory limit for cost matrix
"git range-diff" learned a way to limit the memory consumed by
O(N*N) cost matrix.
Will merge to 'master'.
source: <pull.1958.v4.git.1756483374980.gitgitgadget@gmail.com>
* ne/alloc-free-and-null (2025-09-04) 1 commit
(merged to 'next' on 2025-09-12 at 005f763f97)
+ alloc: fix dangling pointer in alloc_state cleanup
The clear_alloc_state() API function was not fully clearing the
structure for reuse, but since nobody reuses it, replace it with a
variant that frees the structure as well, making the callers simpler.
Will merge to 'master'.
source: <pull.2040.v5.git.git.1757007856062.gitgitgadget@gmail.com>
* jc/doc-includeif-hasconfig-remote-url-fix (2025-08-21) 1 commit
(merged to 'next' on 2025-09-12 at 3b91910cbd)
+ config: document includeIf conditions consistently
Doc mark-up fix.
Will merge to 'master'.
source: <xmqqldnc4stv.fsf@gitster.g>
* jk/add-i-color (2025-09-08) 4 commits
(merged to 'next' on 2025-09-15 at 48aae5184a)
+ contrib/diff-highlight: mention interactive.diffFilter
+ add-interactive: manually fall back color config to color.ui
+ add-interactive: respect color.diff for diff coloring
+ stash: pass --no-color to diff plumbing child processes
Some among "git add -p" and friends ignored color.diff and/or
color.ui configuration variables, which is an old regression, which
has been corrected.
Will merge to 'master'.
source: <20250908164157.GA1323487@coredump.intra.peff.net>
* sg/line-log-boundary-fixes (2025-08-18) 2 commits
(merged to 'next' on 2025-09-12 at 0d34d3872c)
+ line-log: show all line ranges touched by the same diff range
+ line-log: fix assertion error
Fix for a corner case bug in "git log -L...".
Will merge to 'master'.
source: <20250818111310.1283932-1-szeder.dev@gmail.com>
* jc/longer-disambiguation-fix (2025-08-14) 1 commit
(merged to 'next' on 2025-09-12 at 4dddaa05fc)
+ abbrev: allow extending beyond 32 chars to disambiguate
"git rev-parse --short" and friends failed to disambiguate two
objects with object names that share common prefix longer than 32
characters.
Will merge to 'master'.
source: <xmqqh5ya6iua.fsf_-_@gitster.g>
* ag/send-email-imap-sent (2025-08-11) 2 commits
(merged to 'next' on 2025-09-12 at bb82691e0a)
+ send-email: enable copying emails to an IMAP folder without actually sending them
+ send-email: add ability to send a copy of sent emails to an IMAP folder
"git send-email" learned to drive "git imap-send" to store already
sent e-mails in an IMAP folder.
Will merge to 'master'.
source: <PN3PR01MB9597E8E33868386C997D2563B82BA@PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM>
* ds/sparse-checkout-clean (2025-09-12) 7 commits
- t: expand tests around sparse merges and clean
- sparse-index: point users to new 'clean' action
- sparse-checkout: add --verbose option to 'clean'
- dir: add generic "walk all files" helper
- sparse-checkout: match some 'clean' behavior
- sparse-checkout: add basics of 'clean' command
- sparse-checkout: remove use of the_repository
"git sparse-checkout" subcommand learned a new "clean" action to
prune otherwise unused working-tree files that are outside the
areas of interest.
Will merge to 'next'?
source: <pull.1941.v3.git.1757673011.gitgitgadget@gmail.com>
* pw/3.0-commentchar-auto-deprecation (2025-08-26) 4 commits
(merged to 'next' on 2025-09-12 at e6a855d738)
+ commit: print advice when core.commentString=auto
+ config: warn on core.commentString=auto
+ breaking-changes: deprecate support for core.commentString=auto
+ Merge branch 'ps/config-wo-the-repository' into pw/3.0-commentchar-auto-deprecation
Proposes to deprecate "core.commentChar=auto" that attempts to
dynamically pick a suitable comment character, as it is too much
trouble to support for little benefit.
Will merge to 'master'.
source: <cover.1756215326.git.phillip.wood@dunelm.org.uk>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: What's cooking in git.git (Sep 2025, #06; Mon, 15)
2025-09-15 19:19 What's cooking in git.git (Sep 2025, #06; Mon, 15) Junio C Hamano
@ 2025-09-16 6:53 ` Patrick Steinhardt
2025-09-16 16:16 ` Junio C Hamano
2025-09-16 20:54 ` Kristoffer Haugsbakk
1 sibling, 1 reply; 7+ messages in thread
From: Patrick Steinhardt @ 2025-09-16 6:53 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git
On Mon, Sep 15, 2025 at 12:19:45PM -0700, Junio C Hamano wrote:
> * ps/odb-clean-stale-wrappers (2025-09-12) 2 commits
> - fixup! odb: drop deprecated wrapper functions
> - odb: drop deprecated wrapper functions
>
> Code clean-up.
>
> Breaks build when merged to 'seen'.
> cf. <20250910153759.GA562601@coredump.intra.peff.net>
> source: <20250910-b4-pks-odb-drop-wrappers-v1-1-6ed660cb1eec@pks.im>
Shall I send a new revision of this patch series that squashes in the
fixup commit? I wouldn't mind doing that, but it becomes a bit weird to
do so when the original base of the patch doesn't even the issue.
Patrick
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: What's cooking in git.git (Sep 2025, #06; Mon, 15)
2025-09-16 6:53 ` Patrick Steinhardt
@ 2025-09-16 16:16 ` Junio C Hamano
2025-09-16 16:49 ` Jeff King
0 siblings, 1 reply; 7+ messages in thread
From: Junio C Hamano @ 2025-09-16 16:16 UTC (permalink / raw)
To: Patrick Steinhardt; +Cc: git
Patrick Steinhardt <ps@pks.im> writes:
> On Mon, Sep 15, 2025 at 12:19:45PM -0700, Junio C Hamano wrote:
>> * ps/odb-clean-stale-wrappers (2025-09-12) 2 commits
>> - fixup! odb: drop deprecated wrapper functions
>> - odb: drop deprecated wrapper functions
>>
>> Code clean-up.
>>
>> Breaks build when merged to 'seen'.
>> cf. <20250910153759.GA562601@coredump.intra.peff.net>
>> source: <20250910-b4-pks-odb-drop-wrappers-v1-1-6ed660cb1eec@pks.im>
>
> Shall I send a new revision of this patch series that squashes in the
> fixup commit? I wouldn't mind doing that, but it becomes a bit weird to
> do so when the original base of the patch doesn't even the issue.
Yeah, typicall fallouts from code churn that needs to be handled
somewhere in the codebase. *hit happens (shrug).
As this makes it necessary for that file to eventually include an
extra header, it sort of makes sense. I am more wondering if it
should be a separate commit (i.e. give it a proper log message
instead of fixup!). If we were to squash, we would need to mention
why a seemingly unnecessary change is included. "In anticipation of
another topic that adds a call to function Y, whose definition this
topic shuffles around and makes it necessary for its callers to
include header X, we pre-emptively include header X that will become
needed for the other topic to use function Y when merged with this
topic". I agree that is certainly awkward.
Adding the extra include to the other topic is not any cleaner. It
didn't have to include that header to make calls to some functions,
and it is only because another topic shuffled things around that
made it necessary. "In anticipation of another topic shuffling
headers around, we pre-emptively include header X that will become
needed to use function Y when merged with the other topic" would be
such an extra commit would say. That may be slightly less awkward
but it still is so.
And it would be cumbersome to do _the_ right thing for something so
small like this: build this on top of the topics affected. That
would allow us to say something like "We will move things around and
require header X to be included by callers of function Y in a later
commit in this series. Do so now as a preliminary step."
So I dunno. What's your preference?
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: What's cooking in git.git (Sep 2025, #06; Mon, 15)
2025-09-16 16:16 ` Junio C Hamano
@ 2025-09-16 16:49 ` Jeff King
2025-09-16 17:19 ` Junio C Hamano
0 siblings, 1 reply; 7+ messages in thread
From: Jeff King @ 2025-09-16 16:49 UTC (permalink / raw)
To: Junio C Hamano; +Cc: Patrick Steinhardt, git
On Tue, Sep 16, 2025 at 09:16:11AM -0700, Junio C Hamano wrote:
> As this makes it necessary for that file to eventually include an
> extra header, it sort of makes sense. I am more wondering if it
> should be a separate commit (i.e. give it a proper log message
> instead of fixup!). If we were to squash, we would need to mention
> why a seemingly unnecessary change is included. "In anticipation of
> another topic that adds a call to function Y, whose definition this
> topic shuffles around and makes it necessary for its callers to
> include header X, we pre-emptively include header X that will become
> needed for the other topic to use function Y when merged with this
> topic". I agree that is certainly awkward.
>
> Adding the extra include to the other topic is not any cleaner. It
> didn't have to include that header to make calls to some functions,
> and it is only because another topic shuffled things around that
> made it necessary. "In anticipation of another topic shuffling
> headers around, we pre-emptively include header X that will become
> needed to use function Y when merged with the other topic" would be
> such an extra commit would say. That may be slightly less awkward
> but it still is so.
I think adding the fix to ps/packfile-store is reasonably clean. It is
subtly depending on a header file having included repository.h, and that
assumption is broken by the other topic. But it was always a slightly
dubious assumption.
That said, it is not really that big an issue and I am fine with any
fix. If you want to document how the history unfolded, then I think an
evil merge shows that (neither topic had a problem on its own, but when
merged we needed to adjust the result). And it is probably the least
amount of work. ;)
-Peff
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: What's cooking in git.git (Sep 2025, #06; Mon, 15)
2025-09-16 16:49 ` Jeff King
@ 2025-09-16 17:19 ` Junio C Hamano
2025-09-18 5:52 ` Patrick Steinhardt
0 siblings, 1 reply; 7+ messages in thread
From: Junio C Hamano @ 2025-09-16 17:19 UTC (permalink / raw)
To: Jeff King; +Cc: Patrick Steinhardt, git
Jeff King <peff@peff.net> writes:
> That said, it is not really that big an issue and I am fine with any
> fix. If you want to document how the history unfolded, then I think an
> evil merge shows that (neither topic had a problem on its own, but when
> merged we needed to adjust the result). And it is probably the least
> amount of work. ;)
That's also fine, too. Let me try that ;-)
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: What's cooking in git.git (Sep 2025, #06; Mon, 15)
2025-09-15 19:19 What's cooking in git.git (Sep 2025, #06; Mon, 15) Junio C Hamano
2025-09-16 6:53 ` Patrick Steinhardt
@ 2025-09-16 20:54 ` Kristoffer Haugsbakk
1 sibling, 0 replies; 7+ messages in thread
From: Kristoffer Haugsbakk @ 2025-09-16 20:54 UTC (permalink / raw)
To: Junio C Hamano, git
On Mon, Sep 15, 2025, at 21:19, Junio C Hamano wrote:
> * kh/you-still-use-whatchanged-fix (2025-09-14) 8 commits
> - BreakingChanges: remove claim about whatchanged reports
> - whatchanged: remove not-even-shorter clause
> - whatchanged: hint about git-log(1) and aliasing
> - you-still-use-that??: help the user help themselves
> - t0014: test shadowing of aliases for a sample of builtins
> - git: allow alias-shadowing deprecated builtins
> - git: move seen-alias bookkeeping into handle_alias(...)
> - git: add `deprecated` category to --list-cmds
>
> Update "do you still use it?" message given by a command that is
> deeply deprecated and allow us to suggest alternatives.
>
> Ready?
> source: <cover.1757879060.git.code@khaugsbakk.name>
I need to make a new version for the extra output line.[1] I was
planning on doing it today but your message about
`WITH_BREAKING_CHANGES=YesPlease` prompted me to investigate that.[2]
[1]: https://lore.kernel.org/git/7d63af22-3886-4dcf-863e-dec333601b3b@app.fastmail.com/
[2]: https://lore.kernel.org/git/cover.1757446619.git.code@khaugsbakk.name/T/#m665486896912338c381f2b63003358111c7a2ea2
Cheers and good night
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: What's cooking in git.git (Sep 2025, #06; Mon, 15)
2025-09-16 17:19 ` Junio C Hamano
@ 2025-09-18 5:52 ` Patrick Steinhardt
0 siblings, 0 replies; 7+ messages in thread
From: Patrick Steinhardt @ 2025-09-18 5:52 UTC (permalink / raw)
To: Junio C Hamano; +Cc: Jeff King, git
On Tue, Sep 16, 2025 at 10:19:44AM -0700, Junio C Hamano wrote:
> Jeff King <peff@peff.net> writes:
>
> > That said, it is not really that big an issue and I am fine with any
> > fix. If you want to document how the history unfolded, then I think an
> > evil merge shows that (neither topic had a problem on its own, but when
> > merged we needed to adjust the result). And it is probably the least
> > amount of work. ;)
>
> That's also fine, too. Let me try that ;-)
Yeah, an evil merge probably is the easiest way, and I see that's what
you did in b501ac6a85 (Merge branch 'ps/odb-clean-stale-wrappers' into
seen, 2025-09-17) now. Thanks!
Patrick
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2025-09-18 5:52 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-15 19:19 What's cooking in git.git (Sep 2025, #06; Mon, 15) Junio C Hamano
2025-09-16 6:53 ` Patrick Steinhardt
2025-09-16 16:16 ` Junio C Hamano
2025-09-16 16:49 ` Jeff King
2025-09-16 17:19 ` Junio C Hamano
2025-09-18 5:52 ` Patrick Steinhardt
2025-09-16 20:54 ` Kristoffer Haugsbakk
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).