pub struct RepositoryLocation {
pub identity: WorktreeIdentity,
pub prefix: Vec<u8>,
}Expand description
What:
Everything the one query answers.
A struct is a record with named fields;
Vec<u8> is an owned list of bytes (u8 is one byte;
sibling String would
require UTF-8).
#[derive(...)] asks the compiler to generate cloning,
debug
printing and ==.
Why:
The prefix is kept as the bytes Git printed,
because a directory name need not
be UTF-8.
In TS you’d write (pseudocode):
type RepositoryLocation = { identity: WorktreeIdentity; prefix: Buffer };Fields§
§identity: WorktreeIdentityWhich repository shape the invocation selects.
prefix: Vec<u8>Path from the worktree top level to the command’s directory, with Git’s trailing slash; empty at the top level, and empty where the identity has no worktree.
Trait Implementations§
Source§impl Clone for RepositoryLocation
impl Clone for RepositoryLocation
Source§impl Debug for RepositoryLocation
impl Debug for RepositoryLocation
impl Eq for RepositoryLocation
Source§impl PartialEq for RepositoryLocation
impl PartialEq for RepositoryLocation
impl StructuralPartialEq for RepositoryLocation
Auto Trait Implementations§
impl Freeze for RepositoryLocation
impl RefUnwindSafe for RepositoryLocation
impl Send for RepositoryLocation
impl Sync for RepositoryLocation
impl Unpin for RepositoryLocation
impl UnsafeUnpin for RepositoryLocation
impl UnwindSafe for RepositoryLocation
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more