feat: parsing single pack-file
All checks were successful
CI checks / Clippy (push) Successful in 30s
CI checks / Format (push) Successful in 26s

This commit is contained in:
2025-02-11 19:23:08 +01:00
parent de4c366ebb
commit ae3c1b23af
2 changed files with 20 additions and 6 deletions

View File

@@ -1,6 +1,7 @@
use std::{
fs::File,
io::{BufReader, Cursor, Read, Seek, SeekFrom},
path::Path,
};
use anyhow::Error;
@@ -317,12 +318,8 @@ impl Repository {
Ok(())
}
pub fn dump_pack_file(&self, pack_id: &str) -> Result<(), Error> {
let file_path = self
.path
.join(format!(".git/objects/pack/pack-{}.pack", pack_id));
let mut file = File::open(file_path)?;
pub fn dump_pack(&self, path: &Path) -> Result<(), Error> {
let mut file = File::open(path)?;
let header = parse_pack_header(&mut file)?;
println!("{:?}", header);
@@ -350,6 +347,14 @@ impl Repository {
Ok(())
}
pub fn dump_pack_file(&self, pack_id: &str) -> Result<(), Error> {
let file_path = self
.path
.join(format!(".git/objects/pack/pack-{}.pack", pack_id));
self.dump_pack(&file_path)
}
pub fn dump_pack_index_file(&self, pack_id: &str) -> Result<(), Error> {
let file_path = self
.path