Some notes on the casync project. This project’s goal is to synchronize data across machines, similarly to rsync. And takes other use cases such a filesystem snapshots (eg: Docker images) into account.
casync seems to get a lot of things right. It’s a simple design and it’s clear from the video presentation that the author took a lot of use-cases into account.
It was surprising to me that not more people have adopted it. After having used it for a bit, it seems quite clear why: the CLI tooling interface isn’t quite right which makes it harder than necessary to use. For once Lennart Poettering didn’t build a tool that is opinionated enough, the flexibility is the main issue.
One interesting sub-aspect of the project is that it introduces a new file
archive format: catar
. Unlike the old Tape ARchive format, catar
is
reproducible by design. And takes into account both high-fidelity backups
where even the extended file attributes are stored, and low-fidelity where
only filenames and executable bits are needed as a metadata (like Git and
NAR).
I wish somebody wrote a catar
CLI that only wraps that aspect of the
project, and then starts integrating it will git archive
and other projects.
_____ < EOF > ----- \ (\/) \ (_o | / | \ \______ \ )o /|----- | \| /|