aboutsummaryrefslogtreecommitdiffstats
path: root/src/vcs/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/vcs/mod.rs')
-rw-r--r--src/vcs/mod.rs11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/vcs/mod.rs b/src/vcs/mod.rs
index 02c2eb7..6b94a72 100644
--- a/src/vcs/mod.rs
+++ b/src/vcs/mod.rs
@@ -23,6 +23,17 @@ pub trait VcsInfo {
fn active_operation(&self) -> ActiveOperation;
fn branch(&self) -> Option<String>;
fn remote_branch_diff(&self) -> Option<(usize, usize)>;
+
+ fn is_dirty(&self) -> bool {
+ self.has_modified_files()
+ || self.has_staged_files()
+ || self.has_new_files()
+ || !self.remote_branch_diff().is_some()
+ }
+
+ fn is_error(&self) -> bool {
+ !self.has_commits()
+ }
}
pub fn detect() -> Option<Box<VcsInfo>> {