Struct git_ref::file::Transaction
source · [−]pub struct Transaction<'s> { /* private fields */ }
Expand description
A transaction on a file store
Implementations
sourceimpl<'s> Transaction<'s>
impl<'s> Transaction<'s>
sourcepub fn prepare(
self,
edits: impl IntoIterator<Item = RefEdit>,
lock_fail_mode: Fail
) -> Result<Self, Error>
pub fn prepare(
self,
edits: impl IntoIterator<Item = RefEdit>,
lock_fail_mode: Fail
) -> Result<Self, Error>
Prepare for calling commit(…)
in a way that can be rolled back perfectly.
If the operation succeeds, the transaction can be committed or dropped to cause a rollback automatically. Rollbacks happen automatically on failure and they tend to be perfect. This method is idempotent.
sourceimpl<'s> Transaction<'s>
impl<'s> Transaction<'s>
sourcepub fn commit(self, committer: SignatureRef<'_>) -> Result<Vec<RefEdit>, Error>
pub fn commit(self, committer: SignatureRef<'_>) -> Result<Vec<RefEdit>, Error>
Make all prepared permanent and return the performed edits which represent the current
state of the affected refs in the ref store in that instant. Please note that the obtained edits may have been
adjusted to contain more dependent edits or additional information.
committer
is used in the reflog.
On error the transaction may have been performed partially, depending on the nature of the error, and no attempt to roll back partial changes is made.
In this stage, we perform the following operations:
- update the ref log
- move updated refs into place
- delete reflogs and empty parent directories
- delete packed refs
- delete their corresponding reference (if applicable) along with empty parent directories
Note that transactions will be prepared automatically as needed.
sourceimpl<'s> Transaction<'s>
impl<'s> Transaction<'s>
sourcepub fn packed_refs(self, packed_refs: PackedRefs) -> Self
pub fn packed_refs(self, packed_refs: PackedRefs) -> Self
Configure the way packed refs are handled during the transaction
Auto Trait Implementations
impl<'s> !RefUnwindSafe for Transaction<'s>
impl<'s> !Send for Transaction<'s>
impl<'s> !Sync for Transaction<'s>
impl<'s> Unpin for Transaction<'s>
impl<'s> !UnwindSafe for Transaction<'s>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more