diff --git a/Cargo.toml b/Cargo.toml index 888c243..033bce0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "tar-ng" +name = "haggis" version = "0.1.0" edition = "2021" diff --git a/Format.md b/Format.md new file mode 100644 index 0000000..4640904 --- /dev/null +++ b/Format.md @@ -0,0 +1 @@ +# TODO diff --git a/README.md b/README.md new file mode 100644 index 0000000..5972fe4 --- /dev/null +++ b/README.md @@ -0,0 +1,32 @@ +A modern archive format for serializing files, like Tar or Zip +Contents +======== +- [Features](#features) +- [Building](#building) +- [Contributing](#contributing) + +## Features +For a more full specification of the format, please see [Format.md](Format.md) +- No padding between metadata fields or data segments so it only stores the data + required to recreate the original file +- Optional inline checksumming using a choice of md5, sha1 or sha256 algorithms + to ensure data integrity +- Easily parallelized library code +- Uses generic `Read` and `Write` interfaces from Rust `std` to support reading + archive nodes from anything that can supply a stream of data + +## Building +The minimum supported Rust version (MSRV) for this project is currently Rust 1.65. +The crate can be added to your project by adding it to your `Cargo.toml` file. +Until the api is more mature you will have to use the crate from it's git repository +rather than from the crates.io package registry. +```Toml +[dependencies.haggis] +git = "https://codeberg.org/jeang3nie/haggis.git" +``` +## Contributing +Contributions are always welcome. Please run `cargo fmt` and `cargo clippy` and +fix any issues before sending pull requests on Codeberg or patches via `git send-email`. + +In addition to contributing to the Rust implementation here, it would be welcome +to see Haggis implemented in other languages.