Subject: Re: What's cooking in git.git (Feb 2026, #05)

From: Patrick Steinhardt <[email-masked]>
Date: Mon, 16 Feb 2026 07:56:40 +0100

On Fri, Feb 13, 2026 at 06:01:09PM -0800, Junio C Hamano wrote:
> * ps/pack-concat-wo-backfill (2026-02-11) 1 commit
>  - builtin/pack-objects: don't fetch objects when merging packs
> 
>  "git pack-objects --stdin-packs" with "--exclude-promisor-objects"
>  fetched objects that are promised, which was not wanted.  This has
>  been fixed.
> 
>  Will merge to 'next'?
>  source: <20260[email-masked]>

Yeah, all the reviews have been favorable here, so I think this is ready
for next.

> * jc/doc-cg-needswork (2026-02-12) 1 commit
>  - CodingGuidelines: document NEEDSWORK comments
> 
>  A CodingGuidelines update.
> 
>  Will merge to 'next'?
>  source: <[email-masked]>

There's still the one grammar issue pointed out in [1], but once that's
fixed I think it can be merged.

> * ps/history-ergonomics-updates (2026-02-13) 5 commits
>  - Documentation/git-history: document default for "--update-refs="
>  - builtin/history: rename "--ref-action=" to "--update-refs="
>  - builtin/history: replace "--ref-action=print" with "--dry-run"
>  - builtin/history: check for merges before asking for user input
>  - builtin/history: perform revwalk checks before asking for user input
> 
>  UI improvements for "git history reword".
> 
>  Will merge to 'next'?
>  source: <[email-masked]>

I've sent out v3 to fix up a small typo here.

> * ps/meson-gitk-git-gui (2026-02-04) 1 commit
>  - meson: wire up gitk and git-gui
> 
>  Plumb gitk/git-gui build and install procedure in meson based
>  builds.
> 
>  Expecting a pull request for gitk.
>  source: <[email-masked]>

That PR for gitk has been merged now. The build for git-gui still has
some issues (e.g. no askyesno helper), and fixes for this are in review
upstream [2]. I think it's fine to merge this regardless as it won't
cause builds to fail, but I'm also happy to wait for the git-gui bits to
settle first.

> * jc/checkout-switch-restore (2026-01-29) 2 commits
>  - checkout: tell "parse_remote_branch" which command is calling it
>  - checkout: pass program-readable token to unified "main"
> 
>  "git switch <name>", in an attempt to create a local branch <name>
>  after a remote tracking branch of the same name gave an advise
>  message to disambiguate using "git checkout", which has been
>  updated to use "git switch".
> 
>  Will merge to 'next'?
>  source: <[email-masked]>

I think this is good to go.

> * ps/for-each-ref-in-fixes (2026-02-05) 4 commits
>  - bisect: simplify string_list memory handling
>  - bisect: fix misuse of `refs_for_each_ref_in()`
>  - pack-bitmap: fix bug with exact ref match in "pack.preferBitmapTips"
>  - pack-bitmap: deduplicate logic to iterate over preferred bitmap tips
> 
>  A handful of places used refs_for_each_ref_in() API incorrectly,
>  which has been corrected.
> 
>  Will merge to 'next'?
>  cf. <[email-masked]>
>  source: <[email-masked]>

This has been cooking for a while, and the latest version did address
all feedback. So maybe it's time to merge this down now.

> * ps/object-info-bits-cleanup (2026-02-11) 5 commits
>  - odb: convert `odb_has_object()` flags into an enum
>  - odb: convert object info flags into an enum
>  - odb: drop gaps in object info flag values
>  - builtin/fsck: fix flags passed to `odb_has_object()`
>  - builtin/backfill: fix flags passed to `odb_has_object()`
> 
>  A couple of bugs in use of flag bits around odb API has been
>  corrected, and the flag bits reordered.
> 
>  Will merge to 'next'?
>  source: <[email-masked]>

Fine with me.

> * ps/odb-for-each-object (2026-01-26) 16 commits
>  - odb: drop unused `for_each_{loose,packed}_object()` functions
>  - reachable: convert to use `odb_for_each_object()`
>  - builtin/pack-objects: use `packfile_store_for_each_object()`
>  - odb: introduce mtime fields for object info requests
>  - treewide: drop uses of `for_each_{loose,packed}_object()`
>  - treewide: enumerate promisor objects via `odb_for_each_object()`
>  - builtin/fsck: refactor to use `odb_for_each_object()`
>  - odb: introduce `odb_for_each_object()`
>  - packfile: introduce function to iterate through objects
>  - packfile: extract function to iterate through objects of a store
>  - object-file: introduce function to iterate through objects
>  - object-file: extract function to read object info from path
>  - odb: fix flags parameter to be unsigned
>  - odb: rename `FOR_EACH_OBJECT_*` flags
>  - Merge branch 'ps/packfile-store-in-odb-source' into ps/odb-for-each-object
>  - Merge branch 'ps/read-object-info-improvements' into ps/odb-for-each-object
> 
>  Revamp object enumeration API around odb.
> 
>  Will merge to 'next'?
>  cf. <[email-masked]>
>  source: <[email-masked]>

Same here, this has been cooking for a long time by now, and the
discussion around mtime has stalled after I clarified intentions and
future plans to evolve it further. So I'd love to see this merged.

Thanks!

Patrick

[1]: <[email-masked]> 
[2]: https://github.com/j6t/git-gui/pull/31