indrora / ponzu

An archive format for a modern era

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Ponzu: The new standard linear archive

This repository contains the specification for Ponzu, a linear archive format, and Parc, the Ponzu ARChiver reference implementation.

For information on the format itself, see the spec.

Why?

Because tar Sucks. The full details are included in the spec rationale, but short form is that Tar has a lot of extensions that were meant to unify the standard but only ended up making it worse.

Worse, different implementations of the Tar archive format have different and bad caveats, pitfalls, etc.

Additionally, because it has no concept of compression, Tar fails to handle large, sparse datasets that are spread across multiple files.

Building

To build the reference archiver, run

make clean
make all

This will compile the parc binary in bin/.

Testing

To run the test suite, run

make test

Spewstat

During development, I needed a mechanism to print the OS-specific stat information. spewstat (make spewstat) dumps the internal Go representation of

  • stat
  • stat.Sys()

and Xattrs.

License

The text of the Ponzu spec is given CC-BY-SA 4.0 The ponzu library in Go is MIT. The reference archiver implementation is given MIT-0.

for more information, see LICENSE.md

About

An archive format for a modern era

License:Other


Languages

Language:Go 99.5%Language:Makefile 0.5%