Greetings, This series is a followup to [1] and continues iterating on the ODB transaction interfaces. The bulk-checkin subsystem provides an interface to manage ODB transactions. Apart from {begin,end}_odb_transaction(), these functions are only used by the object-file subsystem to manage aspects of a transaction implementation specific to the files object source. In a pluggable object database future where we could have different types of object database sources, transaction handling will have to be implemented separately per source. Thus, the primary focus of this series is to simplify the existing ODB transaction interface and provide a means to manage transactions via the ODB subsystem in an object source agnostic manner eventually. This series is built on top of 4975ec3473b (The seventh batch, 2025-09-08) with jt/de-global-bulk-checkin merged into it at ddc0b56ad77 (bulk-checkin: use repository variable from transaction, 2025-08-22). Thanks, -Justin [1]: <20250820225531.1212935-1-jltobler@xxxxxxxxx> Justin Tobler (6): bulk-checkin: remove ODB transaction nesting builtin/update-index: end ODB transaction when --verbose is specified bulk-checkin: drop flush_odb_transaction() object-file: relocate ODB transaction code object-file: update naming from bulk-checkin odb: add transaction interface Makefile | 1 - builtin/add.c | 7 +- builtin/unpack-objects.c | 5 +- builtin/update-index.c | 30 +-- bulk-checkin.c | 403 --------------------------------------- bulk-checkin.h | 61 ------ cache-tree.c | 13 +- meson.build | 1 - object-file.c | 400 +++++++++++++++++++++++++++++++++++++- object-file.h | 17 ++ odb.c | 10 + odb.h | 3 + read-cache.c | 11 +- 13 files changed, 461 insertions(+), 501 deletions(-) delete mode 100644 bulk-checkin.c delete mode 100644 bulk-checkin.h -- 2.51.0.193.g4975ec3473b