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

From: Patrick Steinhardt <[email-masked]>
Date: Fri, 6 Feb 2026 17:30:02 +0100

On Thu, Feb 05, 2026 at 05:15:51PM -0800, Junio C Hamano wrote:
> * jc/ci-test-contrib-too (2026-02-05) 2 commits
>  - ci: avoid ubuntu:rolling in most jobs for now
>  - test: optionally test contrib in CI
> 
>  Test contrib/ things in CI to catch breakages before they enter the
>  "next" branch.
> 
>  Will merge to 'next'?
>  source: <[email-masked]>

I think this is a good first step to fix breakage. We can still iterate
on top of it.

> * jt/odb-transaction-per-source (2026-02-02) 4 commits
>  - odb: transparently handle common transaction behavior
>  - odb: prepare `struct odb_transaction` to become generic
>  - object-file: rename transaction functions
>  - odb: store ODB source in `struct odb_transaction`
> 
>  Transaction to create objects (or not) is currently tied to the
>  repository, but in the future a repository can have multiple object
>  sources, which may have different transaction mechanisms.  Make the
>  odb transaction API per object source.
> 
>  Comments?
>  source: <[email-masked]>

This series looks ready to me. There's two comments about the downcast
that should use `container_of()` and changes to the tmp_objdir subsystem
tto work with `struct odb_source` instead of with the complete repo. But
we agreed to handle both of these in follow-up patch series.

> * tc/last-modified-not-a-tree (2026-01-30) 4 commits
>  - last-modified: verify revision argument is a commit-ish
>  - last-modified: remove double error message
>  - last-modified: fix memory leak when more than one commit is given
>  - last-modified: rewrite error message when more than one commit given
> 
>  Giving "git last-modified" a tree (not a commit-ish) died an
>  uncontrolled death, which has been corrected.
> 
>  Will merge to 'next'?
>  source: <[email-masked]>

This version looks good to me.

> * ps/commit-list-functions-renamed (2026-01-15) 3 commits
>  - commit: rename `free_commit_list()` to conform to coding guidelines
>  - commit: rename `reverse_commit_list()` to conform to coding guidelines
>  - commit: rename `copy_commit_list()` to conform to coding guidelines
> 
>  Rename three functions around the commit_list data structure.
> 
>  Will merge to 'next'?
>  source: <[email-masked]>

I guess this one depends on the outcome of the discussion we had about
renaming stuff. I think it's worth the churn, and don't expect to do
another reroll. Otherwise I guess the series can be discarded.

> * 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]>

There's been some discussions around the mtime handling, but I think
I've addressed the concerns both with documentation in v4 and with the
plans I've layed out in <[email-masked]> and subsequent
messages.

> * pc/lockfile-pid (2026-01-22) 1 commit
>  - lockfile: add PID file for debugging stale locks
> 
>  Allow recording process ID of the process that holds the lock next
>  to a lockfile for diagnosis.
> 
>  Will mrge to 'next'?
>  source: <[email-masked]>

>From the ref side of things I'm fine with this series now, and I
couldn't come up with any other scenarios where the PID file would cause
problems. So I think this is in a good enough state now.

> * lo/repo-info-keys (2026-01-23) 2 commits
>  - repo: add new flag --keys to git-repo-info
>  - repo: rename "keyvalue" to "lines"
> 
>  "git repo info" learns "--keys" action to list known keys.
> 
>  Comments?
>  source: <[email-masked]>

I expect another reroll of this series with the comments I posted.

Thanks!

Patrick