Module gix_ref::transaction
source · Expand description
Transactions are the only way make changes to the ref store in order to increase the chance of consistency in a multi-threaded environment.
Transactions currently allow to…
- create or update reference
- delete references
The following guarantees are made:
- transactions are prepared which is when other writers are prevented from changing them
- errors during preparations will cause a perfect rollback
- prepared transactions are committed to finalize the change
- errors when committing while leave the ref store in an inconsistent, but operational state.
Structs
- A change to the reflog.
- A reference that is to be changed
Enums
- A description of an edit to perform.
- The desired value of an updated value
- The way to deal with the Reflog in deletions.
Traits
- An extension trait to perform commonly used operations on edits across different ref stores.