possible-07.diff

 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)]