MCPcopy Create free account
hub / github.com/atomicdotdev/atomic / get_file_content

Function get_file_content

atomic-cli/src/commands/git/parallel.rs:4518–4538  ·  view source on GitHub ↗

Get file content from a git tree.

(git_repo: &GitRepository, tree: &Tree, path: &str)

Source from the content-addressed store, hash-verified

4516
4517/// Get file content from a git tree.
4518fn get_file_content(git_repo: &GitRepository, tree: &Tree, path: &str) -> CliResult<Vec<u8>> {
4519 let entry = tree
4520 .get_path(Path::new(path))
4521 .map_err(|e| CliError::GitError {
4522 message: format!("Path not found in tree: {}", e),
4523 })?;
4524
4525 if entry.kind() != Some(ObjectType::Blob) {
4526 return Err(CliError::GitError {
4527 message: "Not a file".to_string(),
4528 });
4529 }
4530
4531 let blob = git_repo
4532 .find_blob(entry.id())
4533 .map_err(|e| CliError::GitError {
4534 message: format!("Failed to find blob: {}", e),
4535 })?;
4536
4537 Ok(blob.content().to_vec())
4538}
4539
4540/// Parse a git commit message into subject and description.
4541fn parse_commit_message(message: &str) -> (String, Option<String>) {

Callers 2

parse_diff_filesFunction · 0.85

Calls 4

get_pathMethod · 0.45
kindMethod · 0.45
idMethod · 0.45
contentMethod · 0.45

Tested by

no test coverage detected