Struct git2::SubmoduleStatus []

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.

Trait Implementations

impl Hash for SubmoduleStatus

fn hash<__H: Hasher>(&self, __arg_0: &mut __H)

Feeds this value into the state given, updating the hasher as necessary.

fn hash_slice<H>(data: &[Self], state: &mut H) where H: Hasher
1.3.0

Feeds a slice of this type into the state provided.

impl Ord for SubmoduleStatus

fn cmp(&self, __arg_0: &SubmoduleStatus) -> Ordering

This method returns an Ordering between self and other. Read more

impl PartialOrd for SubmoduleStatus

fn partial_cmp(&self, __arg_0: &SubmoduleStatus) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more

fn lt(&self, __arg_0: &SubmoduleStatus) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more

fn le(&self, __arg_0: &SubmoduleStatus) -> bool

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

fn gt(&self, __arg_0: &SubmoduleStatus) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more

fn ge(&self, __arg_0: &SubmoduleStatus) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

impl Clone for SubmoduleStatus

fn clone(&self) -> SubmoduleStatus

Returns a copy of the value. Read more

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

Performs copy-assignment from source. Read more

impl Eq for SubmoduleStatus

impl PartialEq for SubmoduleStatus

fn eq(&self, __arg_0: &SubmoduleStatus) -> bool

This method tests for self and other values to be equal, and is used by ==. Read more

fn ne(&self, __arg_0: &SubmoduleStatus) -> bool

This method tests for !=.

impl Copy for SubmoduleStatus

impl BitOr for SubmoduleStatus

type Output = SubmoduleStatus

The resulting type after applying the | operator

fn bitor(self, other: SubmoduleStatus) -> SubmoduleStatus

Returns the union of the two sets of flags.

impl BitXor for SubmoduleStatus

type Output = SubmoduleStatus

The resulting type after applying the ^ operator

fn bitxor(self, other: SubmoduleStatus) -> SubmoduleStatus

Returns the left flags, but with all the right flags toggled.

impl BitAnd for SubmoduleStatus

type Output = SubmoduleStatus

The resulting type after applying the & operator

fn bitand(self, other: SubmoduleStatus) -> SubmoduleStatus

Returns the intersection between the two sets of flags.

impl Sub for SubmoduleStatus

type Output = SubmoduleStatus

The resulting type after applying the - operator

fn sub(self, other: SubmoduleStatus) -> SubmoduleStatus

Returns the set difference of the two sets of flags.

impl Not for SubmoduleStatus

type Output = SubmoduleStatus

The resulting type after applying the ! operator

fn not(self) -> SubmoduleStatus

Returns the complement of this set of flags.