DEV Community

Dimitri Merejkowsky
Dimitri Merejkowsky

Posted on • Originally published at dmerej.info on

5

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

Cheers!

Image of Datadog

The Essential Toolkit for Front-end Developers

Take a user-centric approach to front-end monitoring that evolves alongside increasingly complex frameworks and single-page applications.

Get The Kit

Top comments (0)

Billboard image

Create up to 10 Postgres Databases on Neon's free plan.

If you're starting a new project, Neon has got your databases covered. No credit cards. No trials. No getting in your way.

Try Neon for Free →