Subject: Re: What's cooking in git.git (May 2026, #01)

From: Patrick Steinhardt <[email-masked]>
Date: Mon, 4 May 2026 16:18:38 +0200

On Sun, May 03, 2026 at 12:47:23PM +0900, Junio C Hamano wrote:
> * kn/refs-generic-helpers (2026-04-27) 9 commits
>  - refs: use peeled tag values in reference backends
>  - refs: add peeled object ID to the `ref_update` struct
>  - refs: move object parsing to the generic layer
>  - update-ref: handle rejections while adding updates
>  - update-ref: move `print_rejected_refs()` up
>  - refs: return `ref_transaction_error` from `ref_transaction_update()`
>  - refs: extract out reflog config to generic layer
>  - refs: introduce `ref_store_init_options`
>  - refs: remove unused typedef 'ref_transaction_commit_fn'
> 
>  Refactor service routines in the ref subsystem backends.
> 
>  Will merge to 'next'?
>  source: <[email-masked]>

I think [1] is something that may still want to be addressed.

> * js/maintenance-fix-deadlock-on-win10 (2026-04-28) 2 commits
>  - maintenance(geometric): do release the `.idx` files before repacking
>  - mingw: optionally use legacy (non-POSIX) delete semantics
> 
>  To help Windows 10 installations, avoid removing files whose
>  contents are still mmap()'ed.
> 
>  Will merge to 'next'?
>  source: <[email-masked]>

I've had a minor nit [2], but other than that this looks good to me.

> * sg/t6112-unwanted-tilde-expansion-fix (2026-04-21) 1 commit
>  - t6112: avoid tilde expansion
> 
>  Test fix.
> 
>  Will merge to 'next'?
>  source: <[email-masked]>

This fix looks sensible to me.

> * ps/odb-in-memory (2026-04-10) 18 commits
>  - t/unit-tests: add tests for the in-memory object source
>  - odb: generic in-memory source
>  - odb/source-inmemory: stub out remaining functions
>  - odb/source-inmemory: implement `freshen_object()` callback
>  - odb/source-inmemory: implement `count_objects()` callback
>  - odb/source-inmemory: implement `find_abbrev_len()` callback
>  - odb/source-inmemory: implement `for_each_object()` callback
>  - odb/source-inmemory: convert to use oidtree
>  - oidtree: add ability to store data
>  - cbtree: allow using arbitrary wrapper structures for nodes
>  - odb/source-inmemory: implement `write_object_stream()` callback
>  - odb/source-inmemory: implement `write_object()` callback
>  - odb/source-inmemory: implement `read_object_stream()` callback
>  - odb/source-inmemory: implement `read_object_info()` callback
>  - odb: fix unnecessary call to `find_cached_object()`
>  - odb/source-inmemory: implement `free()` callback
>  - odb: introduce "in-memory" source
>  - Merge branch 'jt/odb-transaction-write' into ps/odb-in-memory
>  (this branch uses jt/odb-transaction-write.)
> 
>  Add a new odb "in-memory" source that is meant to only hold
>  tentative objects (like the virtual blob object that represents the
>  working tree file used by "git blame").
> 
>  Will merge to 'next'?
>  source: <[email-masked]>

This series should be ready, yes.

> * jt/odb-transaction-write (2026-04-02) 7 commits
>  - odb/transaction: make `write_object_stream()` pluggable
>  - object-file: generalize packfile writes to use odb_write_stream
>  - object-file: avoid fd seekback by checking object size upfront
>  - object-file: remove flags from transaction packfile writes
>  - odb: update `struct odb_write_stream` read() callback
>  - odb/transaction: use pluggable `begin_transaction()`
>  - odb: split `struct odb_transaction` into separate header
>  (this branch is used by ps/odb-in-memory.)
> 
>  ODB transaction interface is being reworked to explicitly handle
>  object writes.
> 
>  Will merge to 'next'?
>  source: <[email-masked]>

The latest version looks good to me.

Thanks!

Patrick

[1]: <[email-masked]>
[2]: <[email-masked]>