1@@ -95,15 +95,19 @@
2 let output = child.output().await.context("reading git blame output")?;
3
4 if !output.status.success() {
5- let stderr = String::from_utf8_lossy(&output.stderr);
6- let trimmed = stderr.trim();
7- if trimmed == GIT_BLAME_NO_COMMIT_ERROR || trimmed.contains(GIT_BLAME_NO_PATH) {
8- return Ok(String::new());
9- }
10- anyhow::bail!("git blame process failed: {stderr}");
11+ return handle_command_output(output);
12 }
13
14 Ok(String::from_utf8(output.stdout)?)
15+}
16+
17+fn handle_command_output(output: std::process::Output) -> Result<String> {
18+ let stderr = String::from_utf8_lossy(&output.stderr);
19+ let trimmed = stderr.trim();
20+ if trimmed == GIT_BLAME_NO_COMMIT_ERROR || trimmed.contains(GIT_BLAME_NO_PATH) {
21+ return Ok(String::new());
22+ }
23+ anyhow::bail!("git blame process failed: {stderr}");
24 }
25
26 #[derive(Serialize, Deserialize, Default, Debug, Clone, PartialEq, Eq)]