gluesql_git_storage/
command_ext.rs

1use {
2    crate::ResultExt,
3    gluesql_core::error::{Error, Result},
4    std::process::Command,
5};
6
7pub trait CommandExt {
8    fn execute(&mut self) -> Result<(), Error>;
9}
10
11impl CommandExt for Command {
12    fn execute(&mut self) -> Result<(), Error> {
13        let output = self.output().map_storage_err()?;
14
15        if !output.status.success() {
16            return Err(Error::StorageMsg(
17                String::from_utf8_lossy(&output.stderr).to_string(),
18            ));
19        }
20
21        Ok(())
22    }
23}