Struct git2::SubmoduleStatus
[−]
[src]
pub struct SubmoduleStatus { // some fields omitted }
Return codes for submodule status.
A combination of these flags will be returned to describe the status of a submodule. Depending on the "ignore" property of the submodule, some of the flags may never be returned because they indicate changes that are supposed to be ignored.
Submodule info is contained in 4 places: the HEAD tree, the index, config files (both .git/config and .gitmodules), and the working directory. Any or all of those places might be missing information about the submodule depending on what state the repo is in. We consider all four places to build the combination of status flags.
There are four values that are not really status, but give basic info about what sources of submodule data are available. These will be returned even if ignore is set to "ALL".
- IN_HEAD - superproject head contains submodule
- IN_INDEX - superproject index contains submodule
- IN_CONFIG - superproject gitmodules has submodule
- IN_WD - superproject workdir has submodule
The following values will be returned so long as ignore is not "ALL".
- INDEX_ADDED - in index, not in head
- INDEX_DELETED - in head, not in index
- INDEX_MODIFIED - index and head don't match
- WD_UNINITIALIZED - workdir contains empty directory
- WD_ADDED - in workdir, not index
- WD_DELETED - in index, not workdir
- WD_MODIFIED - index and workdir head don't match
The following can only be returned if ignore is "NONE" or "UNTRACKED".
- WD_INDEX_MODIFIED - submodule workdir index is dirty
- WD_WD_MODIFIED - submodule workdir has modified files
Lastly, the following will only be returned for ignore "NONE".
- WD_UNTRACKED - wd contains untracked files
Methods
impl SubmoduleStatus
fn empty() -> SubmoduleStatus
Returns an empty set of flags.
fn all() -> SubmoduleStatus
Returns the set containing all flags.
fn bits(&self) -> u32
Returns the raw value of the flags currently stored.
fn from_bits(bits: u32) -> Option<SubmoduleStatus>
Convert from underlying bit representation, unless that representation contains bits that do not correspond to a flag.
fn from_bits_truncate(bits: u32) -> SubmoduleStatus
Convert from underlying bit representation, dropping any bits that do not correspond to flags.
fn is_empty(&self) -> bool
Returns true
if no flags are currently stored.
fn is_all(&self) -> bool
Returns true
if all flags are currently set.
fn intersects(&self, other: SubmoduleStatus) -> bool
Returns true
if there are flags common to both self
and other
.
fn contains(&self, other: SubmoduleStatus) -> bool
Returns true
all of the flags in other
are contained within self
.
fn insert(&mut self, other: SubmoduleStatus)
Inserts the specified flags in-place.
fn remove(&mut self, other: SubmoduleStatus)
Removes the specified flags in-place.
fn toggle(&mut self, other: SubmoduleStatus)
Toggles the specified flags in-place.