💾 Archived View for dmerej.info › en › blog › 0068-introducing-rusync.gmi captured on 2022-07-16 at 14:34:05. Gemini links have been rewritten to link to archived content
-=-=-=-=-=-=-
2018, May 08 - Dimitri Merejkowsky License: CC By 4.0
Today I wrote my first "real" rust project.
It's a re-write of `rsync` in Rust called `rusync`.
Here's what its installation and usage look like:
$ cargo install rusync $ rusync test/src test/dest :: Syncing from test/src to test/dest … -> foo/baz.txt -> foo/bar.txt ✓ Synced 2 files (1 up to date)
You can find the sources on github[1].
1: https://github.com/dmerejkowsky/rusync
I wrote this because I wanted to give Rust a try.
If you're already are a Rust developer, I'd appreciate it if you could give me a honest review of the code I wrote.
See the contact page[2] for all the possible ways to reach me, and many thanks in advance!
Here's a list of features I plan to implement
The last one is interesting: we need to recursively walk through all the files in the source folder in order to estimate the total size of the transfer, but we want to do that *while the transfer is in progress*.
That will be an opportunity to play a little bit with Rust concurrency features :)
Cheers!
3: https://github.com/dmerejkowsky/rusync/commit/01f68335c9593c6cbf99d6d971adf67d2e0ec379
----