#patch-file #patcher #issue #am #open #expert #ups-rs

ups

A rust 实现的 UPS 文件修补程序

5 个不稳定版本

0.3.1 2021 年 10 月 29 日
0.3.0 2021 年 7 月 28 日
0.2.1 2021 年 7 月 7 日
0.2.0 2021 年 7 月 7 日
0.1.0 2021 年 6 月 27 日

#am 中排名第 5

MIT 许可证

26KB
345

ups-rs

A rust 实现的 UPS 文件修补程序。

我并不是 rust 专家,这个项目是为了让我真正学习 rust 而创建的,如果你发现任何错误,请随时提交一个 issue。

用法

应用 UPS 补丁

use ups::UpsPatch;
use std::fs::File;
use std::io::{Read, Write};

//Loading the contents of the source and patch files
let mut  source_file_content: Vec<u8> = vec![];
let mut  patch_file_content: Vec<u8> = vec![];
let mut  source_file = File::open("path/to/source/file")?;
source_file.read_to_end(&mut source_file_content);
let mut patch_file = File::open("path/to/patch/file")?;
patch_file.read_to_end(&mut patch_file_content);

//Apply the patch
let patch = UpsPatch::load(&patch_file_content)?;
let patched_file_content = patch.apply(&source_file_content)?;
//Write the target to a file
let mut target_file = File::open("path/to/target/file")?;
target_file.write_all(&*patched_file_content);

创建 UPS 补丁

use ups::UpsPatch;
use std::fs::File;
use std::io::{Read, Write};
//Load the contents of the source and patch files
let mut  source_file_content: Vec<u8> = vec![];
let mut  target_file_content: Vec<u8> = vec![];
let mut  source_file = File::open("path/to/source/file")?;
source_file.read_to_end(&mut source_file_content);
let mut target_file = File::open("path/to/patch/file")?;
target_file.read_to_end(&mut target_file_content);

//Create the UpsPatch
let patch = UpsPatch::create(&source_file_content, &target_file_content);
//Write the patch to a file
let patch_file_content = patch.get_patch_file_contents();
let mut patch_file = File::open("path/to/target/file")?;
patch_file.write_all(&patch_file_content);

## 文档 该文档位于 docs.rs

贡献

请随意提交改进的 pull request。

许可证

本仓库中的所有文件(除 UPS-spec.pdfups_spec.md 之外)均在 MIT 许可证 下发布。

ups-spec.pdf 是在 署名-非商业性-禁止演绎 3.0 国际 (CC BY-NC-ND 3.0) 下发布的原始 ups 规范文件。

ups_spec.md 是将原始 ups-spec.pdf 转换为更符合 github 格式的文件,并保持与原始文件相同的许可证,署名-非商业性-禁止演绎 3.0 国际 (CC BY-NC-ND 3.0)

无运行时依赖