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}