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