mirror of
https://github.com/git/git.git
synced 2025-12-12 20:36:24 +01:00
Merge branch 'jt/odb-transaction'
The work to build on the bulk-checkin infrastructure to create many objects at once in a transaction and to abstract it into the generic object layer continues. * jt/odb-transaction: odb: add transaction interface object-file: update naming from bulk-checkin object-file: relocate ODB transaction code bulk-checkin: drop flush_odb_transaction() builtin/update-index: end ODB transaction when --verbose is specified bulk-checkin: remove ODB transaction nesting
This commit is contained in:
13
odb.h
13
odb.h
@@ -193,6 +193,19 @@ struct object_database {
|
||||
struct object_database *odb_new(struct repository *repo);
|
||||
void odb_clear(struct object_database *o);
|
||||
|
||||
/*
|
||||
* Starts an ODB transaction. Subsequent objects are written to the transaction
|
||||
* and not committed until odb_transaction_commit() is invoked on the
|
||||
* transaction. If the ODB already has a pending transaction, NULL is returned.
|
||||
*/
|
||||
struct odb_transaction *odb_transaction_begin(struct object_database *odb);
|
||||
|
||||
/*
|
||||
* Commits an ODB transaction making the written objects visible. If the
|
||||
* specified transaction is NULL, the function is a no-op.
|
||||
*/
|
||||
void odb_transaction_commit(struct odb_transaction *transaction);
|
||||
|
||||
/*
|
||||
* Find source by its object directory path. Returns a `NULL` pointer in case
|
||||
* the source could not be found.
|
||||
|
||||
Reference in New Issue
Block a user