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