Enum gix::worktree::stack::State

source ·
pub enum State {
    CreateDirectoryAndAttributesStack {
        unlink_on_collision: bool,
        attributes: Attributes,
    },
    AttributesAndIgnoreStack {
        attributes: Attributes,
        ignore: Ignore,
    },
    AttributesStack(Attributes),
    IgnoreStack(Ignore),
}
Available on crate feature excludes only.

Variants§

§

CreateDirectoryAndAttributesStack

Fields

§unlink_on_collision: bool

If there is a symlink or a file in our path, try to unlink it before creating the directory.

§attributes: Attributes

State to handle attribute information

Available on crate feature attributes only.

Useful for checkout where directories need creation, but we need to access attributes as well.

§

AttributesAndIgnoreStack

Fields

§attributes: Attributes

State to handle attribute information

§ignore: Ignore

State to handle exclusion information

Available on crate feature attributes only.

Used when adding files, requiring access to both attributes and ignore information, for example during add operations.

§

AttributesStack(Attributes)

Available on crate feature attributes only.

Used when only attributes are required, typically with fully virtual worktrees.

§

IgnoreStack(Ignore)

Used when providing worktree status information.

Implementations§

source§

impl State

Initialization

source

pub fn for_checkout(unlink_on_collision: bool, attributes: Attributes) -> State

Available on crate feature attributes only.

Configure a state to be suitable for checking out files, which only needs access to attribute files read from the index.

source

pub fn for_add(attributes: Attributes, ignore: Ignore) -> State

Available on crate feature attributes only.

Configure a state for adding files, with support for ignore files and attribute files.

source

pub fn for_status(ignore: Ignore) -> State

Configure a state for status retrieval, which needs access to ignore files only.

source§

impl State

Utilities

source

pub fn id_mappings_from_index( &self, index: &State, paths: &[u8], case: Case ) -> Vec<(BString, ObjectId), Global>

Returns a vec of tuples of relative index paths along with the best usable blob OID for either ignore or attribute files or both. This allows files to be accessed directly from the object database without the need for a worktree checkout.

Note that this method…

  • ignores entries which aren’t blobs.
  • ignores ignore entries which are not skip-worktree.
  • within merges, picks ‘our’ stage both for ignore and attribute files.
  • index is where we look for suitable files by path in order to obtain their blob hash.
  • paths is the indices storage backend for paths.
  • case determines if the search for files should be case-sensitive or not.

Trait Implementations§

source§

impl Clone for State

source§

fn clone(&self) -> State

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more

Auto Trait Implementations§

§

impl RefUnwindSafe for State

§

impl Send for State

§

impl Sync for State

§

impl Unpin for State

§

impl UnwindSafe for State

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere 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 Twhere 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.

§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same<T> for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere 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 Twhere 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.