use crate::bare::GitBare; use crate::error::GitResult; use crate::pb::{VerifiedSignature, VerifyTagRequest}; impl GitBare { pub fn verify_tag(&self, request: VerifyTagRequest) -> GitResult { let result = duct::cmd( "git", [ "--git-dir", self.bare_dir.to_string_lossy().as_ref(), "tag", "-v", &request.name, ], ) .stdout_capture() .stderr_capture() .unchecked() .run()?; let verified = result.status.success(); Ok(VerifiedSignature { verified, reason: if verified { crate::pb::verified_signature::Reason::Valid as i32 } else { crate::pb::verified_signature::Reason::GpgverifyError as i32 }, signature: String::new(), payload: String::new(), key_fingerprint: String::new(), signer: String::new(), }) } }