diff --git a/Cargo.lock b/Cargo.lock index 69b2f71..9446ab0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -460,7 +460,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59" [[package]] -name = "zdiff_all" +name = "zsdiff_all" version = "0.1.0" dependencies = [ "clap", diff --git a/Cargo.toml b/Cargo.toml index 8fb07f3..70b0e68 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,15 +1,15 @@ [package] -name = "zdiff_all" +name = "zsdiff_all" version = "0.1.0" edition = "2024" [[bin]] -name = "zdiff" -path = "src/zdiff.rs" +name = "zsdiff" +path = "src/zsdiff.rs" [[bin]] -name = "zpatch" -path = "src/zpatch.rs" +name = "zspatch" +path = "src/zspatch.rs" [dependencies] zstd = { version = "0.13" } diff --git a/Makefile b/Makefile index 072b287..84501e3 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ build: - cargo build --release --target x86_64-unknown-linux-gnu --package zdiff_all --bin zpatch - cargo build --release --target x86_64-unknown-linux-gnu --package zdiff_all --bin zdiff + cargo build --release --target x86_64-unknown-linux-gnu --package zsdiff_all --bin zspatch + cargo build --release --target x86_64-unknown-linux-gnu --package zsdiff_all --bin zsdiff #cargo build --release --target x86_64-apple-darwin --package zdiff_all --bin zpatch #cargo build --release --target x86_64-pc-windows-gnu --package zdiff_all --bin zpatch \ No newline at end of file diff --git a/src/utils.rs b/src/utils.rs index 80e8f67..c565b53 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -3,12 +3,12 @@ use std::collections::HashMap; use std::{fs, io}; use zstd::{Decoder, Encoder}; -pub struct Zdiff { +pub struct Zsdiff { pub content: HashMap>, pub metadata: Metadata, } -impl Zdiff { +impl Zsdiff { pub async fn from_vec(_data: Vec>) -> Result { let mut content = HashMap::new(); for part in _data { @@ -21,7 +21,7 @@ impl Zdiff { let metadata: Metadata = serde_json::from_slice(meta.as_slice())?; content.remove("metadata.json"); - Ok(Zdiff { content, metadata }) + Ok(Zsdiff { content, metadata }) } pub async fn to_vec(&self) -> Vec> { diff --git a/src/zdiff.rs b/src/zsdiff.rs similarity index 93% rename from src/zdiff.rs rename to src/zsdiff.rs index 078efb6..e257c59 100644 --- a/src/zdiff.rs +++ b/src/zsdiff.rs @@ -3,7 +3,7 @@ mod utils; use clap::Parser; use std::collections::HashMap; use std::{fs, io}; -use utils::{Metadata, Zdiff, get_hash}; +use utils::{Metadata, Zsdiff, get_hash}; use walkdir::WalkDir; struct FileInfo { @@ -33,7 +33,7 @@ async fn walk_dir(dir: String) -> HashMap { hash_list } -async fn compare_hashes(old: HashMap, new: HashMap) -> Zdiff { +async fn compare_hashes(old: HashMap, new: HashMap) -> Zsdiff { let mut diff_files: HashMap> = HashMap::new(); let mut remove_files: Vec = vec![]; let mut hashes: HashMap = HashMap::new(); @@ -55,7 +55,7 @@ async fn compare_hashes(old: HashMap, new: HashMap, new: HashMap io::Result<()> { let args = Args::parse(); - zdiff(args.filename, args.old, args.new, args.compress_level).await?; + zsdiff(args.filename, args.old, args.new, args.compress_level).await?; Ok(()) } diff --git a/src/zpatch.rs b/src/zspatch.rs similarity index 80% rename from src/zpatch.rs rename to src/zspatch.rs index b3c9259..6a08264 100644 --- a/src/zpatch.rs +++ b/src/zspatch.rs @@ -5,7 +5,7 @@ use std::fs::read; use std::io::Write; use std::path::Path; use std::{fs, io}; -use utils::Zdiff; +use utils::Zsdiff; async fn create_tmp_dir(dir_name: String) -> Result { let name = format!("{}.tmp", dir_name); @@ -14,11 +14,11 @@ async fn create_tmp_dir(dir_name: String) -> Result { Ok(name) } -async fn extract_files(zdiff: &Zdiff, filename: &String) -> Result { +async fn extract_files(zsdiff: &Zsdiff, filename: &String) -> Result { let tmp_dir_name = create_tmp_dir(filename.to_string()).await?; let path = Path::new(&tmp_dir_name); fs::remove_dir_all(path).ok(); - for (f, c) in zdiff.content.iter() { + for (f, c) in zsdiff.content.iter() { let filepath = path.join(f); fs::create_dir_all(filepath.parent().unwrap())?; fs::File::create(&filepath)?.write_all(c)?; @@ -29,21 +29,21 @@ async fn extract_files(zdiff: &Zdiff, filename: &String) -> Result Result<(), io::Error> { let filename = &format!("{}.zdiff", filename); let parts = utils::decompress_parts(read(filename)?).await?; - let zdiff = Zdiff::from_vec(parts).await?; - let tmp_dir_name = extract_files(&zdiff, filename).await?; - for name in zdiff.content.keys().collect::>() { + let diff = Zsdiff::from_vec(parts).await?; + let tmp_dir_name = extract_files(&diff, filename).await?; + for name in diff.content.keys().collect::>() { let from_path = Path::new(&tmp_dir_name).join(name); let to_path = Path::new(&dest_dir).join(name); fs::create_dir_all(to_path.parent().unwrap())?; fs::copy(from_path, to_path)?; } - for file in zdiff.metadata.remove_files { + for file in diff.metadata.remove_files { let path = Path::new(&dest_dir).join(file); fs::remove_file(path).ok(); } - for (k, hash) in zdiff.metadata.hashes { + for (k, hash) in diff.metadata.hashes { let path = Path::new(&dest_dir).join(k); let content = read(path)?; let fs_hash = utils::get_hash(&content).await;