From fa7d067923a342c298b7723935c60217a5244e4e Mon Sep 17 00:00:00 2001 From: Justin Tobler Date: Mon, 2 Feb 2026 18:10:01 -0600 Subject: odb: prepare `struct odb_transaction` to become generic An ODB transaction handles how objects are stored temporarily and eventually committed. Due to object storage being implemented differently for a given ODB source, the ODB transactions must be implemented in a manner specific to the source the objects are being written to. To provide generic transactions, `struct odb_transaction` is updated to store a commit callback that can be configured to support a specific ODB source. For now `struct odb_transaction_files` is the only transaction type and what is always returned when starting a transaction. Signed-off-by: Justin Tobler Signed-off-by: Junio C Hamano --- odb.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'odb.c') diff --git a/odb.c b/odb.c index a5e6fd01a9..349b4218a5 100644 --- a/odb.c +++ b/odb.c @@ -1158,5 +1158,8 @@ struct odb_transaction *odb_transaction_begin(struct object_database *odb) void odb_transaction_commit(struct odb_transaction *transaction) { - odb_transaction_files_commit(transaction); + if (!transaction) + return; + + transaction->commit(transaction); } -- cgit v1.3-5-g9baa