DEV Community

Dimitri Merejkowsky
Dimitri Merejkowsky

Posted on • Originally published at on

Introducing rusync

Originally published on my blog.

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)
Enter fullscreen mode Exit fullscreen mode

You can find the sources on github.

Feedback request

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 feedback page for all the possible ways to reach me, and many thanks in advance!

What’s next

Here’s a list of features I plan to implement:

  • Option to delete extraneous files
  • Global progress bar

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 :)


Top comments (0)