{"record":{"id":"51516ebfe9cdbac9","repo":"zed-industries/zed","slug":"cannot-blame-binary-file-at-revision-revisio","errorCode":null,"errorMessage":"cannot blame binary file {:?} at revision {revision}","messagePattern":"cannot blame binary file (.+?) at revision (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/project/src/git_store.rs","lineNumber":10138,"sourceCode":"                                project_id: project_id.to_proto(),\n                                repository_id: repository_id.0,\n                                path: path.as_unix_str().to_owned(),\n                                revision: revision.to_string(),\n                            })\n                            .await?;\n                        let blame = blame_from_proto(\n                            response.entries,\n                            response.messages,\n                            response.tag_names,\n                        );\n                        Ok((response.content, blame))\n                    }\n                }\n            }\n        });\n        cx.spawn(move |_: &mut AsyncApp| async move {\n            let (content, blame) = rx.await??;\n            anyhow::ensure!(\n                !is_binary_content(content.as_bytes()),\n                \"cannot blame binary file {:?} at revision {revision}\",\n                path.as_ref()\n            );\n            Ok((content, blame))\n        })\n    }\n\n    fn load_blob_content(&mut self, oid: Oid, cx: &App) -> Task<Result<String>> {\n        let repository_id = self.snapshot.id;\n        let rx = self.send_job(\"load_blob_content\", None, move |state, _| async move {\n            match state {\n                RepositoryState::Local(LocalRepositoryState { backend, .. }) => {\n                    decode_git_text(backend.load_blob_content(oid).await?)\n                }\n                RepositoryState::Remote(RemoteRepositoryState { client, project_id }) => {\n                    let response = client\n                        .request(proto::GetBlobContent {","sourceCodeStart":10120,"sourceCodeEnd":10156,"githubUrl":"https://github.com/zed-industries/zed/blob/f4178619acd0d47ea1f76a2025c42962c6d6638c/crates/project/src/git_store.rs#L10120-L10156","documentation":"Raised while producing a blame for a buffer: the file at the given repository path is binary at the requested revision, so `git blame` cannot produce line-level attribution. The operation is rejected rather than returning meaningless output.","triggerScenarios":"Thrown at crates/project/src/git_store.rs:10138 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Blame a text revision of the file instead","Verify the correct file path and revision were passed"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"f4178619acd0d47ea1f76a2025c42962c6d6638c","analyzedAt":"2026-08-20T19:29:52.058Z","contentChangedAt":"2026-08-20T19:29:52.058Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}