pub struct EntryRef<'a> {
pub rela_path: Cow<'a, BStr>,
pub status: Status,
pub property: Option<Property>,
pub disk_kind: Option<Kind>,
pub index_kind: Option<Kind>,
pub pathspec_match: Option<PathspecMatch>,
}
Expand description
A directory entry, typically obtained using walk()
.
Fields§
§rela_path: Cow<'a, BStr>
The repository-relative path at which the file or directory could be found, with unix-style component separators.
To obtain the respective file, join it with the worktree_root
passed to walk()
.
The rationale here is that this is a compressed and normalized version compared to the paths we would otherwise get,
which is preferable especially when converted to Entry
due to lower memory requirements.
This also means that the original path to be presented to the user needs to be computed separately, as it’s also relative to their prefix, i.e. their current working directory within the repository.
Note that this value can be empty if information about the worktree_root
is provided, which is fine as
joining with an empty string is a no-op.
Note that depending on the way entries are emitted, even refs might already contain an owned rela_path
, for use with
into_owned()
status: Status
The status of entry, most closely related to what we know from git status
, but not the same.
Note that many entries with status Pruned
will not show up as their kind hasn’t yet been determined when they were
pruned very early on.
property: Option<Property>
Additional properties of the entry.
disk_kind: Option<Kind>
Further specify what the entry is on disk, similar to a file mode.
This is None
if we decided it’s not worth it to exit early and avoid trying to obtain this information.
index_kind: Option<Kind>
The kind of entry according to the index, if tracked. Usually the same as disk_kind
.
pathspec_match: Option<PathspecMatch>
Determines how the pathspec matched.
Note that it can also be Some(PathspecMatch::Excluded)
if a negative pathspec matched.