use std::path::Path;
use anyhow::Result;
use crate::subprocess_utils::capture_output;
pub fn do_status(_project: &Path) -> Result<Option<String>> {
let output = capture_output("git", &["status", "-s"])?;
if output.is_empty() {
Ok(None)
} else {
Ok(Some(output))
}
}
pub fn do_dirty(_project: &Path) -> Result<Option<String>> {
let output = capture_output("git", &["diff", "--stat"])?;
if output.is_empty() {
let staged = capture_output("git", &["diff", "--cached", "--stat"])?;
if staged.is_empty() {
Ok(None)
} else {
Ok(Some(staged))
}
} else {
Ok(Some(output))
}
}