pub enum PackedRefs<'a> {
    DeletionsOnly,
    DeletionsAndNonSymbolicUpdates(Box<dyn Find + 'a>),
    DeletionsAndNonSymbolicUpdatesRemoveLooseSourceReference(Box<dyn Find + 'a>),
}
Expand description

How to handle packed refs during a transaction

Variants§

§

DeletionsOnly

Only propagate deletions of references. This is the default. This means deleted references are removed from disk if they are loose and from the packed-refs file if they are present.

§

DeletionsAndNonSymbolicUpdates(Box<dyn Find + 'a>)

Propagate deletions as well as updates to references which are peeled and contain an object id.

This means deleted references are removed from disk if they are loose and from the packed-refs file if they are present, while updates are also written into the loose file as well as into packed-refs, potentially creating an entry.

§

DeletionsAndNonSymbolicUpdatesRemoveLooseSourceReference(Box<dyn Find + 'a>)

Propagate deletions as well as updates to references which are peeled and contain an object id. Furthermore delete the reference which is originally updated if it exists. If it doesn’t, the new value will be written into the packed ref right away. Note that this doesn’t affect symbolic references at all, which can’t be placed into packed refs.

Thus, this is similar to DeletionsAndNonSymbolicUpdates, but removes the loose reference after the update, leaving only their copy in packed-refs.

Trait Implementations§

source§

impl<'a> Default for PackedRefs<'a>

source§

fn default() -> PackedRefs<'a>

Returns the “default value” for a type. Read more

Auto Trait Implementations§

§

impl<'a> !RefUnwindSafe for PackedRefs<'a>

§

impl<'a> !Send for PackedRefs<'a>

§

impl<'a> !Sync for PackedRefs<'a>

§

impl<'a> Unpin for PackedRefs<'a>

§

impl<'a> !UnwindSafe for PackedRefs<'a>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.