Module git_ref::transaction [−][src]
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
Enums
A description of an edit to perform.
A way to determine if a value should be created or created or updated. In the latter case the previous value can be specified to indicate to what extend the previous value matters.
The way to deal with the Reflog in deletions.
Traits
An extension trait to perform commonly used operations on edits across different ref stores.