No description
|
|
||
|---|---|---|
| src | ||
| .envrc | ||
| .gitignore | ||
| .gitlab-ci.yml | ||
| cabal-only-cabal.project.local | ||
| cabal.project | ||
| flake.lock | ||
| flake.nix | ||
| haschor-rsync.cabal | ||
| LICENSE | ||
| README.md | ||
Rsync (not really), implemented using HasChor
This is mostly a learning exercise for HasChor, a paper & library for choreographic programming in Haskell. It skips rsync's clever rotating hash & just hashes chunks, compares hashes, and transfers the difference.
Build
with cabal
mv cabal-only-cabal.project.local cabal.project.local
cabal run haschor-rsync -- syncFrom # on from file
cabal run haschor-rsync -- syncTo # on the other file
with nix
# to build
nix build
# to run
./result syncFrom # in one file
./result syncTo # in another file