[PATCH 0/4] odb: support ODB source specific transaction handling
- From
Justin Tobler <jltobler@gmail.com>
- Date
- Jan 28, 2026, 23:45 UTC
- Message-ID
- <20260128234519.2721179-1-jltobler@gmail.com>
Greetings,
ODB transactions provide a mechanism for writing new objects in the repository that are in a pending state until they are committed. With pluggable ODBs, each source will likely need to handle transactions differently. This patch series prepares ODB transaction handling to be defined for each ODB source by creating a generic odb_transaction structure that stores a callback for committing the transaction.
For now, `struct odb_transaction_loose` is the only transaction implementation and what is always returned when creating a transaction. Additionally, this series lifts transaction logic that is common to all backends out of the implementation layer into `odb_transaction_{begin,commit}()` layer.
Thanks, -Justin
Justin Tobler (4): odb: store ODB source in `struct odb_transaction` object-file: rename transaction functions odb: prepare `struct odb_transaction` to support more sources odb: transparently handle common transaction behavior
object-file.c | 77 +++++++++++++++++++++++++-------------------------- object-file.h | 10 ++----- odb.c | 22 +++++++++++++-- odb.h | 17 ++++++++++++ 4 files changed, 77 insertions(+), 49 deletions(-)
base-commit: ea717645d199f6f1b66058886475db3e8c9330e9
-- 2.52.0.373.g68cb7f9e92