use anyhow::{bail, Result};
use std::process::Command;
use crate::git::cli::GitCli;
impl GitCli {
pub fn status_porcelain(&self, path: &str) -> Result<String> {
let output = Command::new("git")
.args(["-C", path, "status", "--porcelain=v2"])
.output()?;
if !output.status.success() {
bail!(
"git status failed (exit {}): {}",
output.status,
String::from_utf8_lossy(&output.stderr)
);
}
Ok(String::from_utf8_lossy(&output.stdout).into_owned())
}
}