pub struct StatusModel {
pub head: HeadState,
pub head_tree: Option<ObjectId>,
pub state: WtStatusState,
pub index: Index,
pub staged: Vec<DiffEntry>,
pub unstaged: Vec<DiffEntry>,
pub untracked: Vec<String>,
pub ignored: Vec<String>,
pub stash_count: usize,
pub index_sparse_on_disk: bool,
pub sparse_directory_prefixes: Vec<Vec<u8>>,
}Expand description
The computed result of git status: everything the renderers need, with no
presentation applied.
Fields mirror what the CLI’s format_porcelain_v2, format_short, and
format_long read today, so a renderer can be a pure function of this model
plus the user’s chosen output format.
Fields§
§head: HeadStateThe resolved HEAD (branch, detached, or unborn).
head_tree: Option<ObjectId>Tree OID of the HEAD commit, or None on an unborn branch.
state: WtStatusStateIn-progress operation state (merge, rebase, cherry-pick, bisect, …).
index: IndexThe loaded index, with sparse-directory placeholders expanded — the same index the renderers query for per-stage entries.
staged: Vec<DiffEntry>Staged changes: the index-vs-HEAD-tree diff.
unstaged: Vec<DiffEntry>Unstaged changes: the index-vs-worktree diff.
untracked: Vec<String>Untracked paths (subject to StatusOptions::untracked).
ignored: Vec<String>Ignored paths (subject to StatusOptions::ignored).
stash_count: usizeNumber of stash entries (for the optional stash footer / --show-stash).
index_sparse_on_disk: boolWhether the on-disk index used the sparse-directory format.
sparse_directory_prefixes: Vec<Vec<u8>>Sparse-directory prefixes present in the on-disk index, if any.
Trait Implementations§
Source§impl Clone for StatusModel
impl Clone for StatusModel
Source§fn clone(&self) -> StatusModel
fn clone(&self) -> StatusModel
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more